The Internet of Things is a cancer that consumes all reasonable expectations of technology, opens vast security holes we’ve never had to deal with before, and complicates life in the pursuit of quarterly gains from whatever technology startup is hot right now. We are getting some interesting tech out of it, though. The latest in the current round of ‘I can’t believe someone would build that’ is the Internet of Pillows. No, it’s not a product, it’s just an application note, but it does allow us to laugh at the Internet of Things while simultaneously learning about some really cool chips.
The idea behind this ‘smart’ pillow is to serve as a snoring sensor. When the smart pillow detects the user is snoring, a small vibration motor turns on to wake up the user. There’s no connectivity in this smart pillow, so the design is relatively straightforward. You need a microphone or some sort of audio sensor, you should probably have a force-sensitive resistor so you know the pillow is actually being used, and you need a vibration motor. Throw in a battery for good measure. Aside from that, you’re also going to need a microcontroller, and that’s where things get interesting.
This application note was written as a demonstration of what Dialog’s GreenPAC devices can do. We’ve seen these things before, and the idea behind these devices is something like a ‘modern-day PAL’ or ‘a really, really limited FPGA’. It’s a bit more than that, though, because the GreenPAC devices are mixed-signal, there are some counters and latches in there, and all the programming is done through a graphical IDE. If you need a small, low-power chip that only does one thing, the GreenPAC is right up your alley.
So, how does this device detect snoring? The code pulls data from the sound sensor every 30 ms, with a 5 ms time window. If this sound repeats again within six seconds, it’s assumed the user is snoring. The logic then turns on the vibration motor, greatly annoying whoever is sleeping. All of this is done through a graphical IDE, which I’m sure will draw the ire of some, but there really aren’t that many pins or that many LUTs on GreenPAC devices, so it’s never going to get too out of hand.
The GreenPAC is a very interesting family of parts that we don’t see too much of around here. That’s a shame, because for low-power applications that don’t need a lot of horsepower, the GreenPAC seems like it would be very useful. Slightly more useful than an Internet of Things pillow, at least.
Come on Brian, while I was having fun with you poking IoT stuff, the IoT angle on this came out of thin air.
As you state yourself, this has no connectivity, and the only citation to IoT is in the past experiences of the application note author. This isn’t an IoT device idea, and in no moment any suggestion of such is made.
And if you want to call it Internet of Pillows, at least suggest that change yourself :-P
Hmm, if you have a couple of these pillows, and somehow manage to play a sound enough to active all of them ….
Seriously, though, what these things ( the GreenPac and others ) need are examples. Not even finished applications, but good suggestions/examples of where they can be used. From the point of a beginner, stating the thing has x LUTs, n counters, etc, doesn´t explain much, because the person still has not the experience to read that and understand which real world situations this would help solve.
This page has more detail:
https://www.dialog-semiconductor.com/products/slg46620
The chip alone is not that useful because features like DACs are difficult to use from fixed logic. However, if you connect this to a microcontroller (it acts as a SPI or I2C slave) you have one heck of a peripheral/expander! For example many small micros don’t have DACs – this has two. You have several analog comparators, the LUTs can be used for various decoders, extra counters are always useful for PWM or generating various frequencies, etc. Some of the chips include even power switches for up to 2A – good for driving small motors, for ex.
The vendor’s page has examples under Applications->Configurable Mixed Signal IO.
The only problem is the price – e.g. the SLG46620 that is linked from the text costs some $37 in singles, even 45 euro in Europe …
So these things are mostly useful when you don’t have any more space left on the board for the extra circuitry you would need otherwise.
Eep, disregard the part on the price – I didn’t check properly and it seems that SLG46620 is also a completely unrelated test socket from Silego. That would explain the price. It seems that nobody actually carries these chips??
$0.50 each, minimum order $100: http://www.silego.com/buy/index.php?main_page=product_info&products_id=379
Not sure where that extra ‘$’ came from, it’s minimum order 100 chips, or $50.
Uhg, 40 bucks
I’d be more concerned with what happens if I stop snoring.
Sleep apnoea (as inferred from correcting snoring) really shouldn’t be trivialized…
And why the heck not? What kind of ridiculous sniveling is this? There are two rules in life. (1) Don’t sweat the small stuff. and (2) It is all small stuff.
How is this better than what Cypress has in their rather extensive PSOC line of mixed signal CPLD cell like micro controllers? You can get those for under a buck in single quantity and with BLE and more for the same price as competing ARM chips.
GreenPAKs are still cheaper, have drastically smaller footprint, are usually lower power, can operate at 5V, and many models have two separate I/O supply voltages.
oh? where did you find them? octopart did mention only the skt adapter, the dip adapter and avnet with no price and a moq of 3000…
Direct from Silego, now dialog. they will sell you cut tape with a minimum order of 100.
One of the problems is that they program these for you at the factory. This means that they do not sell a standard part number, so finding a place to buy them is an issue. They’re really neat parts, but this is a huge drawback for anything that’s not headed into production.
Snoring is very interesting acoustic problem. Has anyone wondered how brain cancel (self) audio noise from snoring to prevent wakeup? Many do not realize that they snore, they don’t hear own snoring but they do hear and wakeup on any other noise, especially when partner complaints about it.
This sounds like exactly the wrong thing to do (wake the person up when snoring is detected). My wife was in this mode for a while and I didn’t solve any problems whatsoever.
But if you are going to wake them up, do it right — clamp a wire onto each big toe and have a SSR apply line voltage.
Why shouldn’t that be done?
My girlfriend does the same thing to me and vice versa. If you snore, you get less Oxygen in your lungs and thus your brain. When I snore because I’m ill or I just won’t wake up, I’m completely exhausted and feel “drunk” when waking up. If she wakes me and basically stops me from snoring all night through, I’m pretty relaxed.
IoP would certainly be better than those sleep apps for one’s phone.
Do y’all think this would work for detecting tooth grinding?
I solved tooth grinding by heating more the sleeping room. Keep the head warm.
To detect grinding a small silicon bite can help to assess the problem.
Graphical IDE for cpld-ish things!Just what I want except bigger CPLDs/fpgas and cheaper to get started in
One-Time-Programmable. Better know exactly what you want the chip to do and simulate, simulate, simulate, then pray and/or offer sacrifices to your deity of choice.
Or maybe that’s why you need to buy 100 pieces.
From the datasheet:
“Non-volatile memory (NVM) is used to configure the SLG46620’s connection matrix routing and macrocells. The NVM isOne-Time-Programmable (OTP). However, Silego’s GreenPAK development tools can be used to configure the connection matrix and macrocells, without programming the NVM, to allow on-chip emulation. This configuration will remain active on the device as long as it remains powered and can be re-written as needed to facilitate rapid design changes.”
The newer ones can be updated in circuit. But you lose the configuration after a power cycle. I’m using them in designs now, and we just update it on the main processor boot.