1. Introduce the CM5
I was not really interested in computer modules until I got a RaspberryPi CM5. It has native eMMC or NVMe for a shorter boot time, and I also found the Web UI response time becomes much faster and smoother, that’s really great. Another advantage of CM5 is the system integration performance. That makes it possible to build a nicer and more professional streamer/DAC project based on the CM5 and IO board.
https://www.raspberrypi.com/products/compute-module-5/?variant=cm5-104032
2. How to use a CM5?
The best way to use the CM5 is to install it to an official CM5 IO board. The IO board is not expensive, but it has perfect size and rich interfaces to build a high-end digital audio project.
https://www.raspberrypi.com/products/compute-module-5-io-board/
The other way is to use a third party CM5 adapter board, such as Waveshare Mini Base Board (B). But in this case, the CM5 will be no different with a RaspberryPi 5 except the eMMC and NVME.
An official CM5 passive cooler(heatsink) would be always preferred for all CM5 applications
https://www.pishop.ca/product/raspberry-pi-compute-module-5-passive-cooler/
3. How to select a best suitable CM5 module for you?
CM5 has many P/Ns for different Wifi/Memory/eMMC configurations.
Since NVMe SSD has faster speed and much bigger storage, a CM5 without eMMC would be highly recommended if you prefer NVMe.
If you don’t use an NVMe SSD, then for sure please select the CM5 with eMMC .
If you don’t use Wifi, please choose a CM5 without Wifi for less EMI noise and lower price.
A CM5 P/N will be in format of CM5WMMEEE, in which
W: Wifi, 0 without, 1 with
MM: RAM memory size, 02 2GB, 04 4GB, 08 8GB, 16 16GB
EEE: eMMC size, 000 no eMMC, 016 16G, 032 32G, 064 64G
4. How to install a Audio OS into a CM5
All Audio OS that works for a RaspberryPi 5 will work for CM5. Let’s take Volumio for example.
You can download the Volumio from the link below
https://volumio.com/get-started/
And make sure you installed a flash tool such as RaspberryPi imager or Etcher
https://www.raspberrypi.com/software/
The following two methods are confirmed working to install the Volumio to a CM5 with NVMe SSD or with eMMC. (CM5 with both eMMC and NVME is not recommended)
A. Install Volumio into the NVMe SSD of a CM5 without eMMC (recommended).
Step1: Flash the Volumio image normally into a SD card by the RaspberryPi imager or Etcher
Step2: Insert both of the SD card and the NVMe SSD into the IO board or the adapter board. Connect the ethernet cable. Connect a USB-C power adapter to power up. Run Volumio software setup as usual. Make sure music is playing properly. Reboot if it is required.
Step3: In the Volumio Web UI main setting page, select System - Install to Disk - Install to Disk NVMe, It will take around 3 minutes to finish moving the whole system into the NVMe SSD. Then remove the USB-C power connector to power off, remove SD, install USB-C cable to power on again, Now Volumio will reboot from NVMe.
If you want, you can also use the follow steps for this configuration

B. Install Volumio into CM5 with eMMC
Step1: Download RPiboot software by click Windows installer from the link below
https://www.raspberrypi.com/documentation/computers/compute-module.html
Install it by running the downloaded rpiboot_setup.exe on a PC with Windows11 or higher version.
Step2: Run the installed rpiboot-CM-CM2-CM3 on your PC. A command line window will pop up and show it’s waiting for BCM2385.
Step3: Short nRPI_BOOT on J2 of the IO board with a jumper( to disable eMMC Boot). Then connect a USB-C cable from USB port J11 on the IO board to your PC. The green LED on the IO board will light up, the command line window will show some messages. After a while, you will find there is a new USB mass storage drive (the eMMC) added to your PC.

Step4: Using RaspberryPi imager (or any other USB flasher such as Etcher) to flash the Volumio image or other Audio OS image into the new USB mass storage drive. After finish, disconnect the USB-C cable on the IO board
Step5: Remove the jumper from the J2 of the IO board. Connect an ethernet cable to the IO board, then connect a USB-C power adapter to USB port J11. The Volumio or other player software will start and you will find the IP address from your router. Now the new CM5 music player is ready for use. With the higher performance NVMe or eMMC, the Volumio boot time is reduced to less than 29 seconds.
5. Validation of the player software

6. Introduce the StationPi CM5
StationPi CM5 is a carefully designed new product to make the new powerful Raspberry Pi CM5/IO working for higher grade audio applications. Audiophile DIYers can use it to build even nicer and more professional reclocker/streamer/DDC/DAC projects.
StationPi CM5 has a lot of design considerations. It is not only a great audio HAT adapter, but also a high performance power supply filter/cleaner. Even more, it's integrated with a 3.3V/2A ultra-low noise clean side power supply. Power management as well as both hardware and software ON/OFF control were also included. Furthermore, StationPi CM5 itself works as an EMI shield between CM5/IO and audio HATs to reduce the EMI noise of the whole project because of the big grounding areas.
7. A Step-by-Step Guide to Building Your CM5-Based Streamer/DAC project
Now, I'll demonstrate how to assemble a CM5 based streamer/DAC project step by step. The build should be an enjoyable and hassle-free experience. The StationPi CM5 offers great flexibility, so this tutorial is just for you as a reference; you are free to adapt the design in your own way. Please note: all standoffs are M2.5 unless stated otherwise.
STEP 1: Install six of 17mm standoffs at the back side of the StationPi CM5 into the mount holes labeled "CM5 IO". And then two of 6mm standoffs into the two mount holes at the edge of the PCB. Please use nuts on the top side of the StationPi CM5 PCB to lock the standoffs in place. Ensure all nuts are fully tightened.

STEP 2: Install four 13mm standoffs on the top side of the StationPi CM5 PCB, placing them into the mounting holes labeled “AUDIO HAT.” Secure the standoffs from the bottom side with the provided nuts and tighten firmly.
Next, mount a GPIO Extension Kit (#50A) onto the two 6mm standoffs using screws, and ensure they are fully tightened.
Then, connect the FFC cable to the connectors between the two pieces of the #50A kit. Make sure the cable is properly seated and locked in place, and verify that its orientation is correct.

STEP 3: Carefully install the FifoPi Q7 onto the J3 GPIO connector of the StationPi CM5. Ensure the board is correctly aligned and fully seated, making use of the four 13mm standoffs for support.
Next, connect the second part of the GPIO Extension Kit (#50A) to the J2 (non-isolated GPIO) port on the FifoPi Q7. Then, route the FFC cable in a loop as illustrated in the picture, ensuring it is secure and free of sharp bends.
Finally, connect the low-noise 3.3V power supply from J3 on the StationPi CM5 to J5 on the FifoPi Q7 using two power wires, such as type #62C or an equivalent wire with an equal or larger AWG

STEP 4: Install a Transport or DAC HAT (such as Model #20C) onto the J7 (Isolated GPIO) of the FifoPi Q7 using another set of four 13mm standoffs. Ensure the board is firmly seated and all pins are properly aligned. Most importantly, connect the MCLK signal from J6 of the FifoPi Q7 to the Transport/DAC HAT using a 4" U.FL cable (Model #13). Next, mount a MonitorPi Pro (#49B) onto the J2 connector of the GPIO Extension Kit, and confirm it is securely installed with correct pin alignment.
Once the hardware is in place, proceed to power up the system for hardware validation:
1. Power Connection
Connect a USB‑C power adapter to the J15 USB power input on the StationPi CM5. The USB power LED (D8) will illuminate.
2. Power ON
Switch the S2 ON/OFF switch to the ON position. The following indicator LEDs should light up:
Blue Filtering LED (D2)
Red 5V Power LED (D7)
Two Red 3.3V Power LEDs (D3 and D6)
3. System Confirmation
The MonitorPi OLED screen will begin displaying XO frequencies and other FifoPi system information. This confirms that the StationPi CM5 and all installed boards are functioning correctly.

STEP 5: Install the CM5 I/O board by connecting its GPIO J8 to the J1 GPIO socket on the back side of StationPi CM5. Ensure the board is properly seated and aligned with the six 17 mm standoffs, then secure it in place using six 6 mm standoffs. With this step completed, the hardware installation of your first CM5 streamer project is now finished.

STEP 6: Now it's time to enjoy your completed project. Please follow these final steps to power up and use your streamer:
1. Connect an Ethernet cable to the CM5 I/O board, unless you plan to use the built-in Wi‑Fi.
2. Ensure your USB‑C power supply is properly connected to the J15 USB power input on the StationPi CM5. Switch the S2 ON/OFF switch to the ON position.
3. Using the player software that is properly installed on the CM5, play music as usual. Connect the output of your project to your audio system—music should be now playing nicely.
Congratulations! Your first CM5-based streamer/DAC project is now up and running.

8. StationPi CM5 Advanced Configuration
StationPi CM5 is a highly flexible solution that offers a variety of advanced configuration options to enhance signal quality, reduce noise, and improve overall performance. This section demonstrates how to build an advanced CM5-based streamer/DAC project with multiple inputs, with Transport or DAC HAT being installed on the opposite side of the StationPi CM5—all connected via high-quality u.fl interfaces.
B. In STEP 3, first insert the #19D ReceiverPi DDC into the J2 GPIO connector on the StationPi CM5. Ensure the board is properly seated and aligned with the 17mm standoffs. And Next, proceed with STEP 3 as described: install the FifoPi Q7 on top using four 13mm standoffs, followed by the other components.
C. In the following step, please connect J8, J9, and J10 on the FifoPi Q7 to J11, J12, and J13 respectively, using three 6‑inch U.FL cables (#14).
Note: Only install the I2C control cable from J12 (only available with FifoPi Q7 III) to J14 (StationPi CM5) if you are using a DAC HAT that requires isolated I2C control.
Then, mount the MonitorPi Pro (#49B) onto the J2 connector of the GPIO Extension Kit, ensuring it is securely seated with correct pin alignment.
Finally, connect the control cable (included with MonitorPi Pro) from J6 (MonitorPi Pro) to J7 (ReceiverPi DDC).

D. Install four 13mm standoffs into the mounting holes labeled “TRANSPORT/DAC.” To avoid interference with the CM5 heatsink, fasten the standoffs from the bottom side using four screws, ensuring they are firmly locked in place.
Next, mount a Transport or DAC HAT (e.g., #20C) onto connector J10 of the StationPi CM5. Confirm the board is fully seated and all pins are correctly aligned.
Then, make the following connections:
MCLK signal — Connect J6 (FifoPi Q7) to the corresponding clock input on the Transport or DAC HAT. For this critical clock signal, use as short as possible 50‑ohm coaxial cable, such as a 4″ U.FL cable (#13).
3.3V power — low-noise power by connecting J5 (StationPi CM5) to the 3.3V input on the Transport/DAC board. Please use high‑quality wiring, such as #62C or equivalent or slightly larger AWG.
Note: Power‑sharing jumpers on the audio HAT may remain installed or removed, as J10 does not provide power.
Completion Check:
If you are building a standalone RPi‑free streamer or DAC, your assembly is now complete.
If you are building a CM5‑based integrated project, proceed to install the IO board with CM5 exactly as described in STEP 5, followed by STEP 6.
Congratulations! Your advanced CM5‑based streamer/DAC system should now be operational.
ESS Ctrl: Disable(for streamer), or Enable (if ESS DAC is installed).
DDC Ctrl: DDC Enable
MUTE Ctrl: Delay 20s
FifoPi DoP: Enable
FifoPi 16 to 32: Enable
FifoPi ContCLK: Enable

9. How to Enhance the Sound Quality: A Practical Guide
If you pursue the best possible sound quality, there are many things that can be upgraded to make more improvement to your project, such as the most important clocks, the critical 3.3V power supply for the clocks and the transport/DAC. And even the 5V power supply for the CM5.
A. Upgrade the clocks
The ultra-low phase noise FemtoMck clocks pre-installed on the FifoPiQ7 already deliver great sound quality. For a noticeable step forward, consider upgrading to higher-grade SC-Pure clocks. This drop-in replacement can immediately elevate your system’s audio sound quality to the next higher level, making it one of the simplest and most effective upgrade options.
While other clock modules may also be used, but have to ensure they are fully compatible and match the required frequencies, most importantly offer lower phase noise levels than the SC-Pure at the same frequency to guarantee an actual improvement.
The 3.3V rail is the most critical power supply in this system. It significantly influences both the phase noise performance of the clocks and the final audio output quality.
The StationPi CM5’s built‑in 3.3V power supply, with its µV‑level noise performance, is fully capable of supporting a high‑end streamer/DAC system. However, if you aim for the highest possible performance and sound quality, upgrading to an ultracapacitor or battery-based power supply is the definitive step forward. These upgrades will provide the extremely low noise and enhanced dynamic current essential for achieving peak system performance.
Installation & Connection:
a. All 3.3V inputs in the system should now be connected to the J7 (+) and J8 (–) output terminals of the #42B.
b. A dedicated USB-C power adapter must remain connected to J6 of the #42B. Utilizing the built-in PD protocol, the #42B accepts 9V or 12V input for fast charging.
c. Use a high-quality USB adapter (e.g., Anker or UGREEN, 65W or higher) and a short, high-grade USB-C cable to ensure stable input power.
a. In pure battery mode, the 3.3V output is 100% isolated from the USB-C input; therefore, the quality of the USB-C input theoretically does not affect sound quality.
b. For power control synchronization, connect a control cable from J8 (StationPi CM5) to J5 (#42B). This allows the 3.3V output to follow the StationPi CM5's ON/OFF state. The #42B automatically recharges when the StationPi CM5 is powered off.
c. SYNC Charging Feature: To enable charging during idle periods (e.g., when music is stopped), connect a control cable from J5 (MonitorPi Pro) to J11 or J12 of the #42B. All control signals are optically isolated to preserve system-wide isolation integrity.
Wiring Setup:
a. Connect the input (J2) of the UcConditioner Pro to the output terminals J7 (+) and J8 (–) of the #42B LifePO4Mini Pro.
Recommendation:
If it is possible, use separate, dedicated wires for each input to minimize interference.
Model Selection:
The UcConditioner Pro 3.3V is available in several options. For this application, the #26C800 is recommended due to its highest capacitance, which provides optimal energy reserve and filtering.
The UcPurePro 3.3V (#43D) represents so far the best real-world power supply performance, offering ultra-low noise and ultra-high dynamic current capability that closely approaches an ideal voltage source. Upgrading your CM5 project with the #43D will deliver the absolute best possible audio performance. Due to its physical size and dimensions, the #43D may not be mounted directly onto the PCB assemblies. Integrating it into your system requires additional design consideration, including customized enclosure and overall project re-configuration.
This is likely due to the EMI noise generated by both the external switching‑mode USB power adapter and the Raspberry Pi CM5 board itself. Even with isolation in place, such noise can still be coupled via parasitic capacitance into sensitive audio circuits, subtly degrading performance.
While the StationPi CM5 includes a high‑performance 5V filter, we still highly recommend powering the system with a non‑switching supply—such as a linear power supply or ultracapacitor‑based unit—to minimize EMI at the source and ensure the cleanest possible signal path.
To ensure reliable power delivery under possible high-current conditions in your CM5 application, please use a high-quality, shorter USB-C cable for all USB power connections.
For larger‑scale projects targeting ultimate performance, you can implement separate, top‑grade 5V and 3.3V power supplies entirely outside the main PCB assemblies. This approach minimizes on‑board noise and maximizes current headroom, allowing both rails to operate at their highest potential performance.
Please find this link for the top level 5V +3.3V power supply solutions.
A. How to Supply 5V Power to the CM5 project?
There are three methods to deliver 5V power to a CM5‑based project:
a. Connect a 5V USB‑C source to the J15 USB power input on the StationPi CM5.
b. Connect a 5V USB‑C source to the J11 USB power input on the CM5 IO Board.
c. Supply 5V directly to the J3 5V IN/OUT terminal block on the StationPi CM5.
All three options are filtered and cleaned by the StationPi CM5’s onboard 5V power supply filter. But option 1 would be highly recommended, as it preserves the function of the S2 ON/OFF control switch. Using Option 2 or 3 bypasses this switch control.
The official Raspberry Pi 45/27W USB power adapter can deliver up to 5A at 5V, exceeding the typical 3A limit of standard USB‑C power adapters. It uses a proprietary PD protocol optimized for direct connection to Raspberry Pi5 and CM5 IO USB power input ports, which may have issues in other applications.
However, the StationPi CM5 is designed to be fully compatible with these official USB power adapters. So, it will be totally free of trouble when you power the entire project by connecting an official RPi USB power adapter to the J15 on the StationPi CM5.
To enable the CM5 operates at full performance, please ensure the following line is added to your system’s config.txt file:
usb_max_current_enable=1

2 comments
Will it be possible to install the current version of your “TransportPi Digi/II” on top of the StationPiCM5, or will a new version of the TransportPi Digi/II be required?
Thanks for the great idea. How to interface the CM5 IO board with one of your StationPi boards?