Looking for very low power SBC/SoM - Page 1
Forum section: electronics / general

author: frampy
author_rank: Contributor
timestamp: January 07, 2022, 10:35:30 am
content: Hi All,I'm wondering if anyone can advise me whether a SBC/SoM with specs similar to the following exists?I'm looking for a device which can be run from a battery for a long time, i.e., months to years. The device should be capable of hibernating most of the time, shutting everything off. It should be able to cold boot and wake from hibernate to full functionality within ~2s or so. The use case is an IoT device which can periodically read sensors, phone home, etc.It would need:* Linux capable micro, Arm Cortex-A series most likely.* Modest RAM, 128-512MB.* Moderate storage, 1GB or so, though with fast interface to allow quick hibernation and boot.* Decent set of IO peripherals, multiple each of I2C, SPI, UARTs.* USB (OTG preferably)* Possibly on-board WiFi or Cellular options.The obvious answer to this question is that I should be looking for a microcontroller based solution. I'm asking for this specifically because I've worked on products like this in the past and had a lot of trouble with the complexity required in developing the microC based solution. To be able to access proper battle-tested networking and USB stacks would be a huge win.Thanks very much.--Frampy

author: frampy
author_rank: Contributor
timestamp: January 07, 2022, 02:20:31 pm
content: Apologies I should have posted in the Embedded Computing forum, is an admin able to move it?

author: bugnate
author_rank: Regular Contributor
timestamp: January 07, 2022, 07:27:46 pm
content: Throw a rock in any direction and you will hit a Cortex-A SBC/SoM to meet those specs, they are pretty typical. Years ago I usedhttps://www.variscite.com/products/with success. This isn't so much to recommend them as to give you a better idea of space to hit the search engine. You must do due diligence yourself and see what you are like and comfortable with. You will be marrying it.The real question is power. What are the battery details, what kind of usage (duty-cycle), etc.? This class of device is generally not associated with months to years of battery life without something unusual coming into play. You may have some dismay when you run the numbers. Perhaps somebody can recommend something that is more aggressively geared towards low power, but as you say, the more obvious thing to do is Cortex-M or similar.On that note, I suggest you take a look athttps://emcraft.com/index.phpspecially their Cortex-M SoMs which are µClinux capable (not all of them are). The hardware is more modest than you propose, but it largely (but not completely) mitigates your software environment concerns. The real win is that the power situation becomes potentially feasible although at a scale of a year its probably still ugly. Depends on the details of course.

author: frampy
author_rank: Contributor
timestamp: January 08, 2022, 04:17:49 pm
content: Hey bugnate,Thanks for the suggestions. I have not used µClinux in the past, though that would potentially be an option. I'm not sure what the limitations of running without an MMU would be.I don't actually have a use case for this at the moment, it's all pie in the sky. Though I'm dreaming of a class of device which I believe only exists in a few finished products, and is not served by the SBC/SoM market really.The device that comes to mind is the Amazon kindle, which achieves a month (maybe more?) battery life by being off most of the time. Similarly, there are many applications for sensing devices which only need to wake periodically.As you say. It may be that the devil is in the details and it's just too difficult to make these kinds of devices run for a decent stretch of time on a battery...--Frampy

author: SiliconWizard
author_rank: Super Contributor
timestamp: January 08, 2022, 06:49:23 pm
content: The Pi zero boards should tick your boxes, except possibly for the hibernating and waking-up thing. I have no direct experience with those and the supported Linux distributions, so I can't tell whether you can get them in some "hibernation mode" and have them draw very little power. But in any case, that will be the challenging part here.I'll be curious if anyone can find a small SBC with a Cortex-A SoC, running Linux, and able to draw the kind of very low power a typical low-power MCU could draw while in some deep sleep mode (in the µA range or even lower!). I doubt it's ever going to happen with a Cortex-A SoC. But I'll be glad to be proven wrong. =)

author: bugnate
author_rank: Regular Contributor
timestamp: January 08, 2022, 09:09:48 pm
content: Quote from: frampy on January 08, 2022, 04:17:49 pmThe first time I had to implement something under µClinux I was pleasantly surprised at how little it mattered, and that was back before it was mainlined. It did matter somewhat of course, but mostly you just have to be aware of it so you don't get confused when you hit a crossroads. Sounds like you'd not have a problem with that.Without going into too many details, I'd say lots of platforms like that exist (low duty-cycle, sensing, wireless sensor networks, etc.), they just don't use Linux and mostly don't use Cortex-A (or if they do, usually have a microcontroller or FPGA doing the housekeeping, usually a µC these days). I've designed and worked with many platforms like that.It sounds like you are imagining a space with µC class low power hardware but richer / more friendly software environments. This has been tried over the last 20 years or so but has struggled to gain traction and the market just ends up being small. On the one end you have Raspberry Pi and similar 1-Watt+ devices taking up most of the oxygen. On the other end you have the people that don't mind dealing with bare metal / a RTOS. In between, many are well served by Arduino or MicroPython platforms and/or generally don't have "serious" low power requirements.One of the big losers in this space was .NET Microframework from Microsoft, since abandoned, although it is periodically revived and killed again when somebody takes another crack at this idea.

author: frampy
author_rank: Contributor
timestamp: January 09, 2022, 09:39:07 pm
content: Quote from: SiliconWizard on January 08, 2022, 06:49:23 pmThe limiting factor on most of these application processors is the DRAM refresh. I believe most of the application processors are actually more efficient than MCUs in terms of uA/MHz, due to manufacture on smaller process nodes. I think the only way to get MCU-like performance is to cut the power completely and rely on either a fast wakeup or a co-processor to service background tasks.Quote from: bugnate on January 08, 2022, 09:09:48 pmYes this is my impression too. I suppose I'm just dreaming of an SBC/SoM platform that will let me hit the ground running by including a lot of the tricky pieces you point out... housekeeper etc. Perhaps this is a product opportunity? Though as you point out the market is pretty well served at the big and small ends, maybe there's not enough room in the middle? I'll keep dreaming anyway.

author: asmi
author_rank: Super Contributor
timestamp: January 11, 2022, 07:18:02 pm
content: What's the point of running Linux when all you need is to read a few sensors? MCU or perhaps RF-MCU SoC if wireless data transmission is required/desired is all you ever need, they can communicate with pretty much any sensor at this time with just a few lines of code. OS is just a useless overhead in this case.

author: westfw
author_rank: Super Contributor
timestamp: January 12, 2022, 01:44:37 am
content: QuoteIs that realistic? Hibernation implies re-writable mass storage and ~1G of copying to hibernate and wake up, I'd think that would be difficult for most "embedded" mass storage devices.What's the fastest boot time for a linux system? Can you cheat and use a hibernate-like saved state?

author: SiliconWizard
author_rank: Super Contributor
timestamp: January 12, 2022, 02:51:01 am
content: Quote from: asmi on January 11, 2022, 07:18:02 pmOh yeah I agree, but the OP's answer was there:QuoteSo, it looks like the common syndrome of "let's throw maximum hardware (and third-party code) on this thing to make it easier software-wise".But that comes at a price. The OP should be fully aware of the price before making a decision.

author: NorthGuy
author_rank: Super Contributor
timestamp: January 12, 2022, 03:06:01 am
content: Quote from: frampy on January 07, 2022, 10:35:30 amNo doubts. If you really need low power. Can you put a number on the "very low power" requirement?

author: asmi
author_rank: Super Contributor
timestamp: January 12, 2022, 03:20:59 pm
content: Quote from: SiliconWizard on January 12, 2022, 02:51:01 amNo, it sounds like a syndrome of "MCUs are so scary, I tried using them once a million years ago and they were sooooo weird compared to cozy and comfy PC world, so let's put up a full PC that I know and love even if it's an overkill beyond being ridiculous" a.k.a. "let's use a cannon to kill some flies" a.k.a. "I don't want to leave my comfort zone even if staying in it makes no sense for the task at hand".Quote from: SiliconWizard on January 12, 2022, 02:51:01 amIf I understood the OP correctly - and I'm reading between the lines a bit here - going for MCU also has a price, which is leaving the comfort zone into a terra incognita where there was some prior bad experience. But we both know that programming MCU now and doing it say 10 years ago are completely different both on handware (it's now much more capable than it has ever been) and software levels.I don't want to sound offensive as staying within a bounds of known has some denefits too, but sometimes you just have to expand those bounds so that you can have more tools in your toolbox in case you'll need them in the future.

author: asmi
author_rank: Super Contributor
timestamp: January 12, 2022, 03:31:45 pm
content: Quote from: NorthGuy on January 12, 2022, 03:06:01 amModern RF-SoCs can work for months on a single CR2032-style cell (this time is mostly limited by sensors' power requirements). Most Linux-capable SoCs consume power at least in watts range, and suspend-resume-hybernation is still buggy even on full up PCs, and even when it does work, it's far from instant, so solution size (and cost) will be an order of magnitude more expensive. Not to mention a solution size - many MCUs and sensors allow solutions smaller than abovementioned CR2032 cell (chip-scale MCU + ultrasmall sensor like BME2xx), which is not possible for Linux - at least for now.

author: rpiloverbd
author_rank: Regular Contributor
timestamp: February 19, 2022, 11:00:44 am
content: You can use Raspberry pi. You can save power on Raspberry Pi by following some steps:https://learn.pi-supply.com/make/how-to-save-power-on-your-raspberry-pi/