“In other words, it’s basically a Raspberry Pi Zero 2W with some additional I/O features, an optional eMMC module, and a different form factor.” … “$18 to $26”.
Seems like the pi zero 2W is preferable or anyway cheaper. In fact the original Zero and Zero W were fine for many purposes. It’s unclear to me what this CM0 module is intended for. It would be great to have a minimal Linux board in the Pico form factor and price level, or anyway sub $10.
All the CMs are quite similar to regular Pi boards, just with optional on-board storage and in a form factor that lends itself to smaller integration. They are mostly used for industrial purposes or at least for people who can make their own PCBs.
Remember, that image above shows the CM0 soldered onto a generic IO board, which is only used as a demonstration platform for what (and how) can be done with the CM0.
The CM0 is only that small PCB soldered on top of it.
That form factor is much better for industrial purposes than the original Zeroes because it’s smaller, contains storage (so no finnicky, easy to break SD cart that you need to factor into the cost as well) and the castellated holes are much easier to solder automatically or at scale than through holes. And easier to route connections to and from as well.
Also the CM0, like the other CMs doesn’t contain its own power regulation because it expects that the carrier project already has its own power management, thus reducing the efficiency penalty of doubled up power management.
If you don’t know what to do with the CM, then it’s not for you. But if you do know what to do with it, it’s one amazing device.
One thing I would want to make with this is a tiny, super slim handheld computer with a keyboard or a small, slim emulation handheld.
Edit: Tbh, I don’t think this could get much smaller, at least not with the ICs they are using. Sure, it would be amazing to have a Pico-form-factor device with pico power consumption and Pi5 performance for €5, but at least for now that are some quite unrealistic targets. Maybe wait another 15 years for that.
No need for the Pico-sized Linux board to have Pi5 performance. It’s fine if its performance is like a single core version of the Pi Zero 2, with say 64MB of memory instead of 512MB. Just get the size, power consumption, and cost down.
Reasonable points about the CM boards but I don’t see much attraction of the CM0 vs CM4 or CM5. Given that they aren’t after cost minimization, might as well take the extraperformance.
At that point I’m not sure if there’s a point running Linux on such a small device. With 64MB RAM, you won’t even be able to run a Python interpreter, let alone any useful services.
You’d probably be better off using a microcontroller. The ESP32-P4 for example has up to 32MB in-package RAM and can deal with extra external SPI RAM.
Without the overhead of running a Linux Kernel, you might even get more performance out of that.
Reasonable points about the CM boards but I don’t see much attraction of the CM0 vs CM4 or CM5. Given that they aren’t after cost minimization, might as well take the extraperformance.
The CM0 is smaller and consumes much less power than a CM4/CM5. It’s also way cheaper. They give a range of $18-26, probably depending on how much storage is on there.
In my region the CM5 is €50-€150 and the CM4 is €32-€102. That’s a huge difference.
So if you just need a small, low-power compute unit for a cheap handheld device, the CM0 really does make sense.
At that point I’m not sure if there’s a point running Linux on such a small device. With 64MB RAM, you won’t even be able to run a Python interpreter, let alone any useful services.
You can run Python just fine in 64MB (were you thinking 64KB?). I’ve written substantial multi-threaded Python applications on boards like that. It used to be a lot of memory! But increase it if you want. You can run Micropython pretty comfortably with 64KB by the way. CPython might need more like 1MB, idk.
The ESP32-P4 for example has up to 32MB in-package RAM and can deal with extra external SPI RAM.
On https://www.espressif.com/en/products/socs/esp32-p4 it says 768K. 32MB might be possible with SPI ram.
Without the overhead of running a Linux Kernel, you might even get more performance out of that.
The OS actually does useful things (multiple processes with memory protection) which is the point of wanting to run it instead of an MCU.
In my region the CM5 is €50-€150 and the CM4 is €32-€102.
Yikes, that is pretty expensive, considering that most cheap Android phones have way more compute power AND a phone with a display etc. This is from 2021 and is the type of thing I have in mind:
Idk if anything came of it. There was a mention at the time of using it on a Linux board same size as a Seeed Xiao.
The Pocket Beagle 2 is maybe like a CM4 or rpi 4 and is $29:
The original Pocket Beagle was priced around the same, from 2017:
https://www.righto.com/2017/12/hands-on-with-pocketbeagle-tiny-25.html
Plus of course there is the whole Pi Zero series. Shouldn’t these CM’s cost less rather than more?
You can run Python just fine in 64MB (were you thinking 64KB?). I’ve written substantial multi-threaded Python applications on boards like that. It used to be a lot of memory! But increase it if you want. You can run Micropython pretty comfortably with 64KB by the way. CPython might need more like 1MB, idk.
With a full Linux with a somewhat modern stack? In the 2000s, sure. In 2025? I doubt that.
On https://www.espressif.com/en/products/socs/esp32-p4 it says 768K. 32MB might be possible with SPI ram.
Yeah, like I said: the SPI RAM (also called PSRAM) is in-package. It’s not a separate package, but integrated inside the ESP32-P4 package. It’s only called SPI RAM because internally the ESP32 transparently connects to it via SPI.
The OS actually does useful things (multiple processes with memory protection) which is the point of wanting to run it instead of an MCU.
The ESP32 family utilizes FreeRTOS which gives you multiple processes, but sadly no MPU.
Just depends if you really need memory protection on such a tiny devices. I guess, some use cases need it, but I wouldn’t think too many.
Yikes, that is pretty expensive, considering that most cheap Android phones have way more compute power AND a phone with a display etc.
Raspberry Pis in all shapes (except maybe the Zero line) are pretty expensive for the hardware.
But you buy long term support. There’s hardly any other SBCs with nearly that level of software and hardware long term support. They sell each of their devices for around 12 years and give software support for at least that time. For low-quantity production, that’s amazing.
At a prior job we designed an optical network bypass tap with a CM3 in it to provide a REST api and a Web UI. It was so simple to build all that and the 12 years of support meant that we didn’t have to redesign anything over that time.
Most other SBC manufacturers are quite spotty with their LTS and their long-term hardware availability.
Plus of course there is the whole Pi Zero series. Shouldn’t these CM’s cost less rather than more?
The cheapest Pi Zero 2W (which is technically identical to the CM0) costs €17.80, which is a bit more than the $18 minimum price from the announcement. The more expensive variant of the CM0 ($26) includes EMMC storage on board which replaces the SD card. €8 isn’t exactly much for a large SD card.
Interesting about the ESP32-P4. I’m not sure what you mean about embedded Linux needing more memory in 2025 than in 2011 (when I wrote the program that I mentioned). As far as I know, zillions of wifi routers right now run Linux with 8MB of ram. We used Angstrom Linux iirc, and I think the current equivalent would be Yocto. 64MB was really plenty for our Python app and a few add-on modules. We weren’t running a web browser or anything ridiculous like that on it. I haven’t followed that area though.
I’d want to run Linux rather than an RTOS since that’s what I’m used to for programming. It was nice that we could ssh into the box to move files around, among other thing. It had cron jobs to upload its logs to a remote server nightly. Plus the Python app was multi-threaded and used a bunch of Python libraries that were probably Linux dependent. And, we could do a lot of dev and testing on desktop machines which was easier than having to constantly test on the target box.
It felt about like an older and slow-ish Linux box rather than something terribly constrained. I could run Emacs and GCC on it in addition to Python.
Zero 2W is 15 USD here, though that doesn’t include sales tax (like VAT) of about 9%.
I guess that is a reasonable point about longer term support for those CM’s though that seems like a tragedy of the ARM ecosystem in general. The 2011-era x86 laptop I’m using right now runs current Debian just fine.
It seems to me that most people use cooling fans on the Pi 5. I wonder if the 500/500+ need that.
Do you know if I can use the M2 hat on a regular 500? I mean this: https://www.adafruit.com/product/6427
I remember thinking the Pocket Beagle was nicer than the Pi Zero but it cost considerably more. I guess the gap is now a bit narrower.
If I were to do something with these bigger embedded boards again I’d be interested in running Erlang on it. That’s easy with Linux but I have no idea if Erlang runs under FreeRTOS. It doesn’t look that way, by quick web search.
Is the ESP32-P4 SPI memory painfully slow compared to the on-chip memory? Is there CPython for it? Having 32MB makes those MCU’s interesting for some things that would have been beyond their capabilities otherwise.
Unrelated, for something else I’m semi-involved with: do you know what is around these days in small cheap MCU’s comparable to midrange AtMega? Let’s say 16K of program flash and 2K of ram. Right now we use AtMega but those are fairly expensive. The application is a flashlight controller (toykeeper.net/anduril) so the hardware is cost sensitive. I’ve been wanting to look into porting to the WCH CH32V003. There is also a new much more powerful CH570 that lacks ADC’s. I’m wondering what else is out there. I write embedded software sometimes, but I’m not a hardware guy.
My experience with embedded Linux was mainly working on some Linux-based SDN switches between 2014 and 2020. The jump from Linux kernel 2.6 to 3.x increased the memory consumption quite a lot. I honestly don’t know if that improved since, but for desktop Linux the kernel got bigger, not smaller, in the meantime.
We really struggled fitting a small Web.py webserver and a process that communicates with the SDN system into the 128MB RAM. Especially using Python 3.x instead of 2.7 (had to switch due to EOL) bumped up the memory requirements.
I guess that is a reasonable point about longer term support for those CM’s though that seems like a tragedy of the ARM ecosystem in general. The 2011-era x86 laptop I’m using right now runs current Debian just fine.
Yeah, I don’t know what’s up there. Intel isn’t supporting my ancient 2010 netbook either and yet Antix works just fine on it. But apparently, for ARM someone needs to manually provide drivers for every device individually or something.
Maybe it’s a device tree vs UEFI thing? Or maybe nobody working on the Linux kernel can be bothered supporting ARM natively? It’s certainly weird.
It seems to me that most people use cooling fans on the Pi 5. I wonder if the 500/500+ need that.
Do you know if I can use the M2 hat on a regular 500? I mean this: https://www.adafruit.com/product/6427
I don’t have a 500, but according to this, you need to populate an unpopulated M2 slot and some power management components.
Is the ESP32-P4 SPI memory painfully slow compared to the on-chip memory? Is there CPython for it? Having 32MB makes those MCU’s interesting for some things that would have been beyond their capabilities otherwise.
Not painfully slow. With stock settings they have a 80mhz 16bit parallel connection. The internal RAM has 200mhz, can’t find how many bit parallel though. At least on the S3 the PSRAM can be clocked to 120mhz, I think it’s the same on the P4, but I don’t know.
On my handheld physio game console, it’s fast enough to keep the framebuffer there.
The two-layer cache probably also helps in that regard.
Unrelated, for something else I’m semi-involved with: do you know what is around these days in small cheap MCU’s comparable to midrange AtMega? Let’s say 16K of program flash and 2K of ram. Right now we use AtMega but those are fairly expensive. The application is a flashlight controller (toykeeper.net/anduril) so the hardware is cost sensitive. I’ve been wanting to look into porting to the WCH CH32V003. There is also a new much more powerful CH570 that lacks ADC’s. I’m wondering what else is out there. I write embedded software sometimes, but I’m not a hardware guy.
I do have some experience with the ESP32-C3. It’s much more powerful than your requirements while being much cheaper than the Atmega168p.
But I’m sure there’s even cheaper stuff.
I have only Atmega/Attiny and ESP32 experience, can’t really say much about other platforms. I’m sure there are some cheap STM32 around.



