This is my aggregation of widespread wisdom from others' experiences getting their uConsoles up and going, as well as special attention for setting up the following things:
- Hardware RTC support
- Hardware GPS support
- Hardware RTL-SDR support
gpsdrunning fulltimechronytime sync using NMEA and PPS for microsecond accuracy- ADS-B (1090) monitoring
The following assumptions are made in this document, and in the shellscript:
- You are using the same (or strictly compatible) hardware setup as me (detailed below)
- You are using the same base image as me (also detailed below)
If you're using a different base image, your mileage may vary. If you're using a different hardware setup, then you'll probably experience some speed bumps along the way (e.g. device path naming, etc.)
sudo bash -c "$(wget -nv -O - https://raw.githubusercontent.com/storskegg/uconsole/refs/heads/main/setup.sh)"
- Clockwork PI uConsole CM4 w/ 4104000 CM4 (plans to upgrade to 4108000; CM5 will require special thermal considerations, so I don't think we'll see official support any time soon)
- RTL-SDR+GPS+LoRa Expansion Board
instert microsd here- 2x NiteCore 18650 3500mAh Li-Ion
- Various antennas
Rather than the stock base image for the uConsole, I've opted to use Rex's "Bookworm" distro. It comes with a lot of things already set up for SDR work, and is future-looking for official CM5 support on the uConsole.
In the linked discussion, Rex includes a GitHub link, should you want to compile the image yourself.
- 2GHz Overclocking + 6V Overvolting; On my uConsole, I don't see over 48°C with passive cooling with this setup.
- Increased charging rates
Some of what I do in the field requires accurate time. I love that the expansion board comes with an RTC, and even better is being able to leverage the PPS signal off the GPS for time accuracy in the microseconds range, vs milliseconds. Even better, I don't need an internet connection to sync the time. All I need is 4 satelites in view:
- X
- Y
- Z
- Time
gpsd incorrectly reports the GPS module as a u-Blox device. The module is actually a GP-02 "GPS+BD" module, which appears to use an Atmel chipset. I'm guessing its firmware misreports what it is by design. Whatever.
I have a problem where everything works great, if you never try to use an actual GPS client (e.g. cgps, gpsmon, foxtrotgps, etc). Prior to doing so, all the timekeeping pieces work great, you can minicom into /dev/ttyS0 on and off all day long, and all is right and well in the world. After connecting with a GPS client, the module must be set to a binary protocol, or its baud rate is adjusted, or something. Regardless, the human-readable data is corrupt except for the "ANTENNA OPEN" NMEA message, which rings clear and true.
I am currently working on debugging this, and writing a solution (read as "a hack") to get things working. Incidentally, if I plug in my u-Blox NEO-F9T RTX Timing module from Sparkfun, I have no issues whatsoever no matter how or how many times I connect and disconnect from the module. Sure, the PPS signal won't correlate with the NEO-F9T's data, since the PPS isn't coming from it, but that's obvious.
I have my next steps (thank you Lumo) saved in the additional_notes.md file in this repo.
SDR++ is pre-installed in the base image, above, and that's all great and dandy. I plan on using this device for monitoring ADS-B (1090 MHz), and my setup reflects that with full-time monitoring. (It can be disabled for other SDR use.)
While I generally have little interest in Meshtastic (kind of a neat toy), I have made extensinve use of LoRa in the past for everything from sensor networks to troposcatter experimentation to an obscenely secure garagedoor opener. This functionality is just one more toy in the playground.
While I love hacking things, I have no plans to make destructive changes to the uConsole's chassis/enclosure to accommodate the CM5 module. I know a few people have carved the way on this, report (mixed) successes, etc, but for my personal uses of this device, I will wait until there's official CM5 support to make the upgrade.
At some point, I may convert this to a deb package so that apt can do all the heavy lifting for me.
- Bookworm Distro
- https://gist.github.com/selfawaresoup/b296f3b82167484a96e4502e74ed3602
- https://github.com/cjstoddard/Clockworkpi-uConsole/
- https://hackergadgets.com/pages/hackergadgets-uconsole-rtl-sdr-lora-gps-rtc-usb-hub-all-in-one-extension-board-setup-guide
- https://austinsnerdythings.com/2025/02/14/revisiting-microsecond-accurate-ntp-for-raspberry-pi-with-gps-pps-in-2025/
- https://forum.clockworkpi.com/t/tar1090-for-uconsole-monitor-live-planes-in-your-area/17562