I’ve been looking into the differences between CPi’s & Waveshare’s CM4 to CM3 adapter, with the hopes of using the Waveshare one (which I have) inside my uConsole.
Differences so far:
- many GPIO pins are remapped - planning to make a list and see if it can be fixed in software
- CM4_3V3 and CM4_1V8 outputs are not connected on the CPi adapter - presumably Clockwork Pi are using the power from the PMIC instead of the internal CM4 regulators. These pins are actually connected on the WS Adapter, but it wouldn’t be too hard to cut the traces.
- CPi adapter board has a boost converter from the CM_3V3 input coming from the main Power Management IC, and outputting 5V into CM_VBAT, which is tied to the system 5V supply on the main board. Very strange, given there is already a 5V power supply on the main board.
- By default, VBAT is connected straight to CM4_5V, but there is the option to use a Buck/Boost converter to go from a varying VBAT to a 5V CM4_5V signal.
Surprisingly not different in spite of older forum posts:
- DSI1 port on the CM3 seems to map to DSI0 on both WS & CPi adapters, and GPIO8 (LCD Reset) & GPIO9 (Backlight Control) also map to the same pins between the two boards. So, the display really ought to work, unless it’s not powered correctly.
Soooo it should be possible to cut the CM4_3V3 and CM4_1V8 traces to get the Waveshare board closer to the CM4 one. A bodge wire could also be used to make the switching converter on the Waveshare board output from a 3v3 input - the IC itself is tolerant of that, and as it stands the converter isn’t even in use.
Haven’t figured out if it’s possible to fix the GPIO differences in software yet, will look into it when I have more time.
1 Like
Well, the GPIOs are indeed all over the place, but the uConsole isn’t directly using most of them. The ones that are in use are for the following modules:
- Power Management IC: all GPIOs match between the two modules
- Audio: all GPIOs match
- WiFi: completely wrong in multiple places, but CM4 has on-board WiFi so it shouldn’t matter as you can just use that one.
- Display: all GPIOs match (for reset & backlight)
- USB: unclear from uConsole schematic which pins are in use
Either way, I did not see anything particularly dangerous, or that would risk breaking the uConsole or the CM4. The CM4 3v3 & 1v8 power supplies could cause an issue, though, as it’s wired in parallel with the presumably much beefier PMIC supplies.
One difference stood out - the RUN pin has a 27 Ohm resistor on the Waveshare adapter, but a 0 Ohm on the CM4. Could affect the power-up cycle.
And as I was not seeing anything particularly dangerous, I decided to plug in my Waveshare-adapted CM4. I saw the same thing other people reported, about the LCD backlight blinking, but I don’t think anything is wrong with the LCD - I think it’s definitely a power supply issue.
I had the case open when I pressed the power button, and I saw the activity light on the Waveshare board light up for an instant before powering off. It’s doing this in a loop, and I could also hear a periodic clicking or whirring noise. It feels like the CM4 is trying to boot, but something trips, it shuts down again & keeps trying in a loop.
I’ll take a look at cutting the 3V3 & 1V8 CM-4 power supply lines - perhaps the entire board is drawing power from those & putting them out of spec? I might also stop by the local hacker space and see if I can do something about that 27 Ohm resistor - shouldn’t be too hard to solder a couple leads around its terminals to short it out.
1 Like
The CM4 boots with the WaveShare adapter! Kapton tape on pins 194 through 183 of the Waveshare adapter disconnects the 3v3 & 1v8 power supplies from the circuit. With that, it still gets the famous powering-up loop, but if I power up the main board first, and then insert the Waveshare + CM4 adapter, I get a steady activity light which quiets down when the device finishes booting.
The display is not working - need to figure out why, maybe the pins are indeed swapped. However, I can control the backlight using the keyboard shortcuts, and also use the shortcuts to open a terminal and execute a shutdown, which does indeed power off the system gracefully.
So we have some sort of dynamic behaviour at start-up which is preventing the CM4 from booting cleanly. Perhaps the power supply at start-up is not solid enough, and that’s why CPi had added their regulator to the board? Will investigate further.
1 Like