Compute Modules and the next Zynthian

Continuing the discussion from RPi5 specs and review:
In some ways i think it is too early to discuss the pros and cons of ‘compute module’ vs ‘standard’ RPi, because we don’t have a ‘CM5’ announcement. And there may be some issues that we ‘should’ talk about, like WiFi and connecting to an external antenna.

Has anyone seen-noticed any announcement from Rpi Foundation re form factor of a CM5? I wouldn’t expect it to change. but I wouldn’t have expected the Ethernet-USB port swap either!

Revive this topic?

The last reply to this topic was 6 months ago. Your reply will bump the topic to the top of its list and notify anyone previously involved in the conversation.

Are you sure you want to continue this old conversation?

Yes, I think we need to consider this question for a ‘V6’ version. The question of whether a next Zynthian should use a standard Pi5 board or an as yet unannounced CM5.

No announcement. I heard that we can expect something by the end of 2024. But no news is good news as far as changing the CM interface. And there are quite a few non-RPi implementations, so it might be a de-facto standard even if RPi Foundation drops-changes it (again).

I believe wifi connections will remain iffy (assuming you agree that is the case now due to enclosing wifi antenna in a metal box), and that a Compute Module would allow us to connect to an external antenna (outside and attached to the box).

Friendliness towards Do It Yourself projects

I think we could make a more DIY board with a CM than RPi - we would be implementing the parts of the RPi that we need. And we could use the CM4IO board as an example. Perhaps use some through-hole parts, allow for choice on some chips, provide test points and access, etc.

Ability to change the compute module

This of course is the most important advantage - for Zynia Migrating ZynthianOS to RISC-V, project name Zynia it means we could swap the Pi CM to a RISC-V CM - and there are about a dozen other options available now, but all AFAIK Arm architecture. It would almost certainly make future RPi updates easier. And this is one of our goals on Zynia - to isolate more of the board-CPU characteristics and allow Zynthian to more easily run in different (Arm, RISC-V, PC?, etc) environments.

Multiple decisions

This doesn’t need to be the same decision for all implementations of the Zynthian ‘architecture’ - eg ZV6, Z-mini Zynthian mini , etc.

Although I mostly agree with @jofemodo that we “zapatero a tus zapatos” I can’t resist pointing out that the open space on the PCB where the CM goes could also have pads for a processor and memory etc. This might be be pure fantasy, and the space might not actually be open, but with extra layers??? I’m thinking a JH7110 chip or its descendant.

Yeah, and we still haven’t heard about CM5, but I think if Zynthian is running from an M2 NVME drive it is less important. If necessary it could be supported via the PCIE port.

I hope I’m not “jumping the gun” bringing this up now in the midst of Oram work - I feel it is a mix of inter-related trade-offs and needs to be discussed in advance of the actual CM5 announcement. We could do this now. In the meantime, I’m working on using a current RPi CM4IO board and CM4 for both Zynthian and Zynia.

I advocated for the use of CM in Z2 and (to a lesser extent) V5 but have since better understood the challenges. @tunagenes has discussed many here but one that is missing that I think may be the most important is… timing.

The Raspberry Pi Foundation release their “credit sized SBC” Raspbery Pi boards aimed at hobbiests and education much earlier than their compute modules which are aimed more at OEMs and business. There is often substantial time between these releases which historically seems to be about a year. That is a long time in computing with the next Rapberry Pi version often being release not much later. To use the CM we lose a year of improvements. And history has also shown that CM changes more substantially than the standard Pi which can make integration even longer.

I think the CM is a good solution for embedding in a long term stable device. Zynthian is not! It is an ever-evolving creature that pushes the limits of its SBC and craves to be fed as often and early as possible. I think moving to the CM would take a lot of effort away from core development. It requires some degree of specialism to design and build the parent board which loses a lot of the support we get from community efforts.

I was an advocate for CM but am reborn to appreciate the advantages that the standard SBC provides, despite initally appearing suboptimal. (If the CM had proven to be a stable format I may have a different opinion.)

4 Likes

Great discussion, a lot of things to consider, so here’s my point:

CM4

I’am a big fan but sadly, we’ve missed it. Mostly because of its shortage BTW.
It’s still hardly findable in some countries and quiet expensive if you go for 8Go + Wifi (85€ at Berrybase de)

It’s an “old” design now and a bunch of alternatives are on the market.

CM5

Wait and see IMHO because

Raspberry Pi 5

itself introduce many nice features (PCIe lane, multichannel I2S, new RP1 southbridge) wich are closely related to mainline kernel evolution (*).
It’s the base of choice for exploring all these novelties.

Keep it simple

@stojos Zynthian mini approach is very inspiring in the developper’s POV: cheap and easily hackable for experimenting

and backward compatible

This is software and hardware related:

  • of course Zynthian should continue to work headless
  • considering the V4 layout (4 encoders + 4 buttons 3.5 inch SPI display) as the “de facto” standard
  • V5 as the “extended” version
  • add only features that are Raspberry Pi 5 related

(*) Kernel versions

Oram is on 6.1.62-v8+, RaspberryPi is working on 6.6 branch, Linus latest stable is 6.8.4 and current mainline is 6.9-rc3.

I think it’s good practice to keep at least Zynthian’s devel branch as close as possible from RasperryPi default Github branch (6.6.y) for working on the Pi 5 and also because it will benefit to

Porting Zynthian on other platforms

They are a bunch on the market, in different formats (SOM, “zéro” sized SBC, credit card SBC,…) with different CPU.

They mostly all can run a debian bookworm system with a recent kernel.

Example here for OrangePi boards:

1 Like

I got a lot of good info-ideas from the discussion, thanks @le51 and @riban .

I now have Zynthian running on a CM4 IO Board with a CM4 Compute Module which largely does what I want.

and, I guess here on 2024-05-06 we’ll just carry on:

2 Likes

look at this !

root@oram:~# ls -l /boot/firmware/ | grep cm5
-rwxr-xr-x 1 root root 80631 Apr 22 14:49 bcm2712-rpi-cm5-cm4io.dtb
-rwxr-xr-x 1 root root 80623 Apr 22 14:49 bcm2712-rpi-cm5-cm5io.dtb

1 Like

Wow! Very interesting-promising.

Mostly binary blobs, but, it looks like CM5 is on the way for the next few months.

2 Likes

Raspberry Pi has published an 8 page document - Raspberry Pi Compute Module 5 forward guidance, dated 2024-06-25:

You need to have or create a Raspberry Pi userid to download it.

Significant points for us:
Largely compatible electrically and physically with CM4. Phew!
2 USB 3 ports on the 100 pin connectors.

The usual caveats - nothing is final till the CM5 is actually “launched”.

2 Likes

Do they provide some informations about the PCIe data lanes ?

Yes, they say the CM5 will have 1 lane PCIe 2.0 with a footnote that says:
“In some applications PCI Gen 3 is possible, but this is not officially supported.”
I think that is consistent with the RPi5.

1 Like

Yep.
Does this mean they added a third Hirose connector ? Or a FPC connector like on the Pi5

Sorry for the questions, I do ont want To create an account.

No, it’s still 2 100 pin connectors - they did remove composite video and 2 ADC ports and 2 lane DSI-CSI ports. The 2 lane DSI-CSI ports have been replaced with 4 lane ports. What was CAM0 on the Compute Module 4 now supports a USB 3.0 Port. What was DSI0 now supports a USB 3.0 port.

They also mention that: The two 100-pin connectors have changed to an alternative brand. These are compatible with the existing connectors but have been tested at high currents. The mating part to go onto a motherboard is Amphenol P/N 10164227-1001A1RLF.

I’m fine with questions, not a problem.

I did see a CM4 compatible product from Orange Pi with 3 100 pin connectors for their Rockchip 8 core arm chip based module. That’s the only board with 3 connectors I’ve seen so far:
https://www.amazon.com/16GB-Rockchip-RK3588S-Computer-Android/dp/B0D9634DNQ?th=1

2 Likes

Radxa CM5 has 3x100 pins Hirose connectord too

This rk3588 SOM has even 4x100 pins. connectors

Well, they advertised CM5 To be compatible with CM4io board, but as is, it"s quiet hard to see how (eg: CM4io board has one 2 and one 4 lanes MIPI/DSI connectors)

Anyway, wait and see.

1 Like

When you say “they” do you mean Raspberry Pi Trading Ltd. or whatever they’re calling themselves these days? I haven’t seen them advertise anything about CM5 CM4IOBRD compatibility. I see them barely willing to admit they were working on CM5 till summer 2024, and then being willing to say it’ll probably look like this.

I have seen various makers of CM4 alternatives say in their material that they’re CM4IOBRD compatible. The one I specifically remember is the Milk-V CM4 form factor RISC-V JH7110 based board. I’m hoping to get Zynthian-Zynia running on it after the VisionFive2.

I imagine there will be a CM5IOBRD as part of the CM5 launch. And I imagine that the CM5 will work in a CM4IOBRD but you won’t get the new stuff like PCIe and USB3 ports, unless you do some surgery on the board(s).

Maybe, but they are already device tree overlays for CM4IO and a future CM5IO board

1 Like