Products > Embedded Computing

Raspberry pi 4 B vs CM4



I have to do a network design with a master board and several nodes. In this system I need, among other things, to play videos.

I have already used a Raspberry pi 3 A+ in another project to play videos, and I could use it again in this new project, but the problem I see with the RPY 3 is that it takes too long to start the system.

With the Raspberry pi 4, it is much faster to boot. Now my question is whether to use the Compute 4 version, which is much more compact, or to use a Raspberry pi 4 B.

What concerns me with the CM4 is how complicated it can be to solder the two 100-pin connectors. I bought a pair of CM4 and the pitch of these pins is really very small, I thought it could be like that of an LQFP144 package, but seen under the microscope I see that it is much smaller, I would say half.

Has anyone assembled their own PCB with a CM4, how did it go, is it difficult to solder the two 100-pin connectors, how thick of track did you use to route to those connectors? Seen under the microscope, I think the tracks could be even finer than 6mil.

I order the PCB from JLCPB, with Stencil, and assemble it in my own Pick and Place, Neoden4. But these two connectors I will have to put by hand, I do not think that the Neoden4 can place them with enough precision, in fact neither the LQFP144 places them perfectly.

In summary, I would use a CM4, if it does not complicate the assembly, otherwise I would opt for an RPY 4 B.

Another thing, the network will communicate by CAN bus, I also have doubt of whether to use the Raspberry as master with an MCP2517FD controller, or leave the Raspberry only to play videos, and use an RT1064 microcontroller as master (which I will also use in the nodes ).

Has anyone used the Raspberry for CAN bus communication with one of these SPI controllers, is it fast, no lag?

I have thought of four possible design options:
1.- 2-layer board with Raspberry pi B as master and CAN bus FD controller by SPI (MCP2517FD-H / SL).
2.- 2-layer board with Raspberry CM4 as master and CAN bus FD controller by SPI (MCP2517FD-H / SL).
3.- 4-layer board with Raspberry pi B to play videos, and RT1064 microcontroller as master and CAN bus communication with MCP2561FDT-E/SN.
4.- 4-layer board with Raspberry CM4 to play videos, and RT1064 microcontroller as master and CAN bus communication with MCP2561FDT-E/SN.


Been looking at something similar recently. 
From the KiCad CM4 IO dev board design files they gave out, the pad width and pad to pad for the Hirose connectors is 7.9mil. 
They used a 5.118mil (0.13mm) trace coming off the pads.  I don't see why you couldn't use a 6/6 rules though.  Obviously you would need 2.6mil trace/space to sneak a trace between pads so that's probably not going to happen.

Maybe make a mating fixture to properly space the two Hirose connectors during assembly.  Just a board to stand in for the CM4 with the same connector spacing.  That would ensure proper alignment so the CM4 would plug in at least.

Besides the fact that RPi supply is totally and completely screwed up for the foreseeable future and you can't reliably get CM4 anywhere (please prove me wrong), I would probably do a CM4 board with the MCP2561FD direct into the CM4 SPI.  But I'm mostly monitoring a CAN bus so I don't care much about latency or delays which I have no good intuition about how significant that would be.

But... If you are already using a RT1064, that supports FlexCAN natively so why not skip the MCP2561FD?

Why CAN and not Ethernet?


[0] Message Index

There was an error while thanking
Go to full version