yes, but you can’t use the SD card slot with an emmc model so you need a separate board to flash the emmc
Great to hear your CM5 works!
I have a problem with mine. Got a CM5 8G/32G CM5108000 - I can’t get it to work, the storage won’t show up after running rpiboot, tried in Windows and Linux, the storage will never show up - So I can’t see it in Raspberry Pi Imager. In windows I see a BCM2712D0 device right before I run rpiboot but no storage.
I do have a terminal on the device after I USB boot “Raspberry Pi 64-bit Mass Storage Gadget”, trying to figure out if I can flash eMMC from here. Using a Waveshare Mini Base Board (A) for CM5 - got HDMI output and Keyboard + Mouse
Tried many of the images in this post, but with no luck. The only one that actually works is uConsole_CM4_v2.0_64bit.img - but no GSM on this one, cuz I need to do the firmware upgrade
. Got the CM4104016 with the CM4 WaveShare Nano Base Board (B)
are you using a Dev IO board to program the CM?
Make sure you have a data capable USB cable first.
You have the jumper set right, right?
Run rpiboot before connecting the pi. When it says waiting… connect
Guys, do I need to read all the 846 posts here for my current challenge? ![]()
My uConsole runs fine with the CM4 that came with it and the original (first) AIO board from HackerGadgets. I flashed Dragon OS on the SD card and it’s updated/upgraded freshly.
Now I bought a CM5 (not lite, 8 GB RAM, 32 GB eMMC, 108032) and am not sure if it’s a good idea to just swap the CM4 for the CM5 I have.
Are there any EEPROM issues I need to take care of with this non-lite CM5?
What about heat issues? I’m still on the thick thermal pad that came with the uConsole. Will I need another heat dissipation technology?
Is the AIO v1 board compatible with a CM5? Will I have USB3 automagically?
Maybe there’s even some tutorial/blog post/wiki page for “migrating the uConsole from CM4 to CM5” I haven’t found yet?
So many questions. Long forum threads aren’t really easy to follow because many folks have many special issues. Plus, the title of this post contains “bookwork” and starts right with “this will be the last bookworm release” – and the date was April '25. Now we’re 7 months later and somewhere in the middle of this thread I read about something called “Trixie” …?! Phew! ![]()
Yes, I have the good USB data cable and the jumper is ok, but this only works with the CM4, not the CM5; for some reason, the CM5 won’t show up in the Raspberry Pi Imager.
CM5 will only give me a prompt in Linux if I access it with an HDMI + keyboard + mouse
CM4 works well, and I was able to boot into a couple of the images in this thread so far ![]()
Thanks for your help!
-the Thermals are in between, you can do some long sessions with a little warmer than cm4 case however, based on my use, since I use DragonOS, try not Using heavy programs like SDRangel if you don’t have any proper cooling, it will heat up extremely quick.
-Unfortunately no, you won’t get USB3.0 speeds with the AIO, you need the v2 board for that.
- can’t comment on non-lite version.but i had to make the eeprom update moving from a CM4 to CM5.
- no USB3. its all USB2. unless you are potentially getting the new base boards by @vileer , its USB2 all the way.
- YMMV on temp depending on usage. with active cooling, i go 48-55 on the average peaking at about 63-65. Passive cooling is always >55 and then peaking beyond 63-65. my ambient temp is about 31-32 deg. I highly suggest active cooling, which i am on now.. with new @vileer board, we can potentially program the fan to start spinning at load.. but for further details, we’d have to wait until the boards ship.
- AIOv1 board works no problem. just remember to change the GPS to /dev/ttyAMA0
i’m on ubuntu BTW.
I have a DevTerm A01 that I’ve shoveled a CM5 into, and against all reasonable odds, this image is working very well. Thank you so much, @Rex for all your hard work on this. I had to do the EEPROM reprogramming for the SD retry, and apply the appropriate commenting/uncommenting in boot.txt for the DevTerm instead of the uConsole, which was expected, and then I had to rotate the display using wlr-randr, but again, all very normal stuff. Blender even runs pretty nicely, as long as you MESA_GL_VERSION_OVERRIDE=3.3 when you run it. Nice!
However, I am very stupid. I would very much like to use the thermal printer on the DevTerm, because…well, I don’t need to repeat myself.
Installing the packages from the Mega link for wiringpi, socat, devterm_thermal_printer_cm4, and devterm_thermal_printer_cups does not work. (Depending on whether you install the ClockworkPi-provided WiringPi or the Rex-provided WiringPi 3.5, wiringPiSetup errors out in a different spot if you try to run gpio readall, so this isn’t surprising.) Installing WiringPi from source allows gpio readall to spit out the full list of pins, and the printer shows up in the GUI list, but the services fail to start for both socat and devterm-thermal-printer.
Running devterm_thermal_printer.elf directly pops an error about not being able to open /dev/spidev0.0 – ls on /dev/spi* shows the existence of /dev/spidev10.0, and nothing else. Attempting to enable the SPI module in raspi-config results in a black screen until the device is powered off, and on reboot I’m guessing it’s not enabled again since it wasn’t saved, which is probably good since my guess is that whatever configuration that changes is interfering with the screen.
Have I missed a step somewhere here? This wouldn’t be surprising to me since – again – I am very stupid.
Well, you know, “stupid is as stupid does”, and I for one use my thermal printer semi-regularly. ![]()
I’m using a CM4 rather than a CM5, but hopefully this is still useful info.
You shouldn’t need to install any packages separately, everything you need is in Rex’s apt repo that’s already configured in the image.
I’ve gotten up and running by doing an apt install devterm-thermal-printer-cm4 devterm-thermal-printer-cups. That should pull in everything you need. And, notably, the related services I have running are devterm-socat and devterm-printer. And, of course, the cups service.
With that successful, you should be able to open a terminal and run lpstat -t to get a bunch of information about configured printers, including one named devterm_printer. The relevant bits of mine look like
➜ ~ lpstat -t
scheduler is running
no system default destination
device for devterm_printer: serial:/tmp/DEVTERM_PRINTER_IN?baud=115200+bits=8+parity=none+flow=none
devterm_printer accepting requests since Tue 04 Nov 2025 11:49:19
printer devterm_printer is idle. enabled since Tue 04 Nov 2025 11:49:19
With that all done, you can tell the printer to print the test page with (from the wiki)
echo -en "\x12\x54" > /tmp/DEVTERM_PRINTER_IN
And you should also be able to print files from a commandline with
lp -d devterm_printer <path_to_file>
I’ve had a lot of success printing assorted image formats doing that. In theory you could also print PDFs or text files, but you’re on your own there.
I’m definitely thinking my issue is CM5-related here; everything about your situation matches mine, actually whether I do it the way I mentioned, or using the steps you provided, until devterm-socat.service tries to start, and then I just get a very unhelpful message in the journalctl log that says
Failed to start devterm-socat.service - socat as a virtual serial port.
No exit code, no status number, just that the job has finished with a failure.
Manually running the devterm-socat service’s exec command, and then separately running /usr/local/bin/devterm_socat.sh, it does output the message I would expect to see if it fails to find the I/O device it’s looking for on the expected pins, adc node error.
Reseated the CM5 module to the riser, reseated the riser to the SODIMM slot, reseated the expansion connector, reseated the FFC for the printer to the expansion board, no luck, so I’m guessing I need to reconfigure something on the GPIO.
Hmm.
Could you try adding the following to your config.txt in the [pi5] section.
dtparam=spi=on
dtoverlay=spi0-0cs
dtoverlay=spi1-1cs
And install this package clockworkpi-backlight (sudo apt install clockworkpi-backlight) and then reboot and see if the DevTerm printer is working.
Alas, no. Same issues; sudo service devterm-socat start fails in the same way, echo -en “\x14\x54” > /tmp/DEVTERM_PRINTER_IN results in no activity (which I would expect since the failure in the socat service is in running the shell script which does the search for GPIO devices)
config.txt’s [pi5] section looks like
dtoverlay=clockworkpi-devterm-cm5
#dtoverlay=clockworkpi-uconsole-cm5
dtoverlay=vc4-kms-v3d-pi5,cma-384
dtparam=uart0
dtparam=pciex1
dtparam=pciex1_gen=3
dtparam=spi=on
dtoverlay=spi0-0cs
dtoverlay=spi1-1cs
Interestingly, sudo raspi-config nonint get_spi returns 0 when configured this way.
EDIT: user error while typing out the last two lines of the config file, sorry. Those lines are correct.
Popping the CM5 module back on the I/O baseboard I used to update the EEPROM, SPI does enable successfully, there, too, if this is useful information.
@Rex Question: is this OS you made us a virtual environment?
When installing Kali tools, I keep getting an error message saying I don’t have permissions to do this and that in this virtual environment. However, I can’t seem to exit said virtual environment. So, is this OS image somehow in a Venv?
No it’s not, you should be able to install anything you want.
How are you installing stuff?
is it the PIP externally managed environment error?
Yeah… it’s giving a combo of externally managed environment and something about a virtual environment.
I’m just git cloning from GitHub and then installing that way. Example:
git clone GitHub - wraith-wireless/PyRIC: Python wireless library for Linux ~/pyric
cd ~/pyric
sudo python3 setup.py install
It installs after cloning, then the python3 setup is where it has been giving me grief on some tools.
