I got this crazy idea of building an ultra-low power system capable of real-time AI inference. When I saw what the DX-M1 could do with 24 TOPS and 5 W TDP, I figured I would find a way to pair it with a small ARM system. One of the things that has always bothered me about the Raspberry Pi is the micro-HDMI. It's very weak and disconnects a lot. I wanted something sturdier. Then I stumbled into the Compute Module 5 platform. I saw the WaveShare CM5-POE-BOX-A with dual, full-size HDMI and fell in love. Finding suitable compute modules is hard, too. I really wanted 8 GB of RAM, but I managed to get a 4 GB unit with 32 GB of eMMC. The eMMC turned out to be a lifesaver because I'm using the NVMe slot for the DX-M1.
So I get the base system up, which was a hassle because there's really no way to flash the eMMC from the CM5-POE-BOX-A because the only USB port attached to the core is just pads on the board. No, the USB-C port for power cannot be used to flash the chip. So I ended up buying another carrier module, this time the CM5-NANO-B. The USB-C power port on this one can be used to flash. So I flashed the module and put it back in the CM5-POE-BOX-A. This booted up without any issues. Then I powered down and put the DX-M1 in. System powered back up, and it showed on the PCI-E bus. All good. Or so I thought. First, I didn't clone the correct repo for the DX-M1. Then, when I cloned the correct repo, it didn't download all of the subrepos. When I finally got everything downloaded and hit go: NOT COMPATIBLE! I was really frustrated. I got all of this specialized hardware and I can't use it?
Not this guy! No way. I kept digging. It turns out there are components for the Raspberry Pi 5 in the repo, they're just not all strung together. So I got everything set and linked and: 4 GB required. I have 4 GB! Why does it only say 3 GB? Well, I know I have 4 GB, so let's just turn that little error into a warning, shall we?
It worked. It actually worked. I dug into the demo stuff and had it download all of the models. Then I ran the demos. I will say that the Raspberry Pi 5 is a huge bottleneck. Fortunately, the DX-M1 implements PPU, so it offloads the pixel processing, which increases the framerate by as much as 5x in some cases.
If you want to do this yourself, just head over to the repository, where it's all explained:
https://github.com/zlorenzini/pi-m1
Watch the inference videos in the playlist here:
https://www.youtube.com/playlist?list=PLv0OcQwFQeJ-xc6Fl8zKHbrBepLx15qcD





Comments