Freeplaytech Forum

Full Version: FreePlay Zero (640x480) with CM4
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hey!  First time posting on here (hope I don’t embarrass myself too much).

Been playing with the idea of adding a CM4 Pi to the new FP Zero using a breakout board (been trying out the Waveshare Nano Base Board that breakout out the GPIO pins and camera connection among other IO) but have run into a slight problem.

The camera CSI connect on the Pi Zero is different from that on full sized Pis (like the 4B, 3B+, 3A+ and CM4 breakout boards), which for cameras isn’t an issue as there is a ribbon cable that converts for these different sizes but trying this with the FP Zero unfortunately isn’t being picked up by the Pi.

I wondered if anyone else has been toying with trying to run a more powerful Pi on the FP Zero 640x480 board (internally or externally from the GBA shell as non will fit natively and had any thoughts on what type of ribbon cable or adaptor would be needed to get the FP Zero to talk with Pis with the larger but less pins CSI port.
I wonder if the larger Pi and the Pi Zero have something different going on with the i2c on that CSI port.  This would likely be a config.txt thing.  That's the main thing that's used on the CSI connector (i2c).

Maybe check out the RPi or Waveshare forums to see if anyone else is using the CM4 CSI connector to do i2c. 

If you look at https://github.com/TheFlav/Freeplay_joys...-additions (in the config.txt section), you'll see this part

Code:
#set up /dev/i2c-0
#dtparam=i2c0_baudrate=10000 #low speed mode
#dtparam=i2c0_baudrate=100000 #standard mode
#dtparam=i2c0_baudrate=400000 #fast mode
dtparam=i2c0_baudrate=1000000 #works with Freeplay i2c Joystick
#dtparam=i2c0_baudrate=3400000 #high speed mode (NOT RECOMMENDED)
[pi0]
dtoverlay=i2c0,pins_28_29
[pi0w]
dtoverlay=i2c0,pins_28_29
[pi02]
dtoverlay=i2c0,pins_44_45
[all]


That's what would likely need to change depending on the Pi you're using.  AND, notice that there is only pi0 stuff in there.  You'd need a section for the Pi you're trying to use.

Also see https://www.waveshare.com/w/upload/6/68/...SchDoc.pdf (schematics for the Waveshare board showing CSI connections)
(03-30-2023, 10:33 PM)Dani Wrote: [ -> ]Hey!  First time posting on here (hope I don’t embarrass myself too much).

Been playing with the idea of adding a CM4 Pi to the new FP Zero using a breakout board (been trying out the Waveshare Nano Base Board that breakout out the GPIO pins and camera connection among other IO) but have run into a slight problem.

The camera CSI connect on the Pi Zero is different from that on full sized Pis (like the 4B, 3B+, 3A+ and CM4 breakout boards), which for cameras isn’t an issue as there is a ribbon cable that converts for these different sizes but trying this with the FP Zero unfortunately isn’t being picked up by the Pi.

I wondered if anyone else has been toying with trying to run a more powerful Pi on the FP Zero 640x480 board (internally or externally from the GBA shell as non will fit natively and had any thoughts on what type of ribbon cable or adaptor would be needed to get the FP Zero to talk with Pis with the larger but less pins CSI port.

connecting a more powerful Raspberry Pi to the FP Zero board is not supported directly. This is because the FP Zero board uses a 32-pin camera connector, while the more powerful Raspberry Pi models (like the Raspberry Pi 3 and 4) use a 15-pin camera connector. You can try using an adapter board to connect the FP Zero board's 32-pin connector to the 15-pin connector of the more powerful Raspberry Pi, but this would require a significant reworking of the hardware.
Thanks Flavor, I got it working on a CM4!  You were correct in that I'd need to change the dtoverlay specifically for a Pi4 or for the specific Pi being used.

I've been able to get the FPZ to work with both a Pi3A+ and CM4 using the Waveshare Nano B board, both have the 15 pin CSI port so needed an adaptor for these.  Found the Pi camera 22 pin to 15 pin doesn't work as normal 15 pin flex cables for larger Pis need to be a type B that flips the pins; the ones for Pi Zeros and the one used for the FPZ is a type A cable so keeps the pin straight but changes the order.

Found the 8086.net 15 pin CSI to 22 pin CSI-2 adaptor in conjunction with a 22 pin 0.5mm type A cable (same as the one that comes with the FPZ) and then a 15 pin 1.0mm type B cable alines the I2C pins correctly to then be picked up.  Then its a case of finding which I2C0 pins the Pi is using and it's detected:

[pi3]
dtoverlay=i2c0,pins_44_45
[pi4]
dtoverlay=i2c0,pins_35_36

Pins 35 and 36 were the ones for CM4 boards.

Now I can start playing with getting the CM4 with Waveshare Nano B board to fit nicely into the GBA case - sure it will stick out the top a little.
Awesome. Is there any chance you could post some photos? It'd be really nice to see how large it all ends up being.

Great work!