+86 400-003-5559 CN


New Raspberry Pi 4 Compute Module: So Long SO-DIMM, Hello PCIe! | Hackaday

tagsresistor smd 102

Brand new

(CM4) Just released! Surprised? No, we are not-Raspberry Pi Foundation

For the 4 series for a long time.

The appearance has undergone a comprehensive overhaul, but the changes in this little monster are much greater than at first glance. We will take you to understand them all. The most important benefit is the ease of implementation of PCIe and NVMe, which makes it possible to move data in and out of the SSD at an amazing speed. Combining optional WiFi/Bluetooth and easy-to-design Gigabit Ethernet, CM4 is a connection monster.

Ultra-fast home NAS is one of the classic "want to build with Pi" projects. CM4 makes this finally possible.

If you don't understand the calculation modules, they are a simplified version of what you might think of as Raspberry Pi, which is officially called the "Model B" form factor. For commercial applications, computing modules lack many of the comforts of older siblings, but they are designed to be flexible and allow some additional functions.

The calculation module is not entirely suitable for beginners, but we are deeply impressed by the extent to which Team Raspberry enables intermediate hackers to access this module. This is mostly due to the open design of the IO Breakout board that was also released today. Using the fully opened KiCAD design file, if you can edit and order the PCB, and then reflow the content that arrived in the mail, you can design for CM4. The benefit of this is a lighter, cheaper and more customizable platform that packs the functions of the Raspberry Pi 4 into a flat 40 mm x 55 mm package.

So let's take a look at the new features, and then look at what is necessary to integrate the calculation module into your own design.

The biggest impact of CM4 is the new connector. since

, They have a 200-pin SO-DIMM connector, just like the DDR2 memory board of a notebook computer. CM4 changed this by choosing two high-speed, high-density 100-pin mezzanine connectors. It is painful to break the tradition. We know that some of you will be left with a cabinet full of SO-DIMM slots, but they do so for good reasons.

System on chip used by Pi 4 series (Broadcom BCM2711)

(PDF). Therefore, Pi 4 Model B is equipped with a second HDMI connector, USB 3.0 and Gigabit Ethernet. But it is even capable! For example, enterprising hackers soon realized that USB 3.0 was on the PCIe bus.

. This is feasible, but it is difficult and requires some complicated on-board rework.

The existence of the computing module allows designers to easily use all the functions of the SOC. It is impossible to install PCIe with dual HDMI and other high-speed peripherals into the old SO-DIMM connector,

. Therefore, the new connector:

If you already feel itchy fingers on the circuit board design.

By using two mezzanine connectors instead of a single SO-DIMM, the CM4 design achieves a good separation between low-speed and high-speed peripherals. One side has traditional Raspberry Pi GPIO, power supply, SD card interface and Ethernet. The other side is responsible for PCIe, USB, HDMI and MIPI CSI camera and DSI display lines, each with two lines. On the one hand, this means that you need to handle more high-speed IO. On the other hand, if you don't need any high-speed interface, you can solve it with a simple single connector design.

The new connector also provides a smaller footprint for the module and reduces the height and weight of the board when it is installed in the device. They achieve a better separation of high-speed domain and low-speed domain, so the layout will be easier. Oops, their prices are even cheaper than the old SO-DIMM sockets. Considering that this is a compromise of PCIe, we have no regrets for this change.

CM3 has more ordering options than CM2, and Pi 4 Model B has more memory configuration options than Pi 3 Model B. But CM4 is competent. There are 32 different varieties with different prices. why? There are four layers of RAM, four layers of onboard eMMC storage and optional wireless modules. (4 x 4 x 2 = 32.) Let's start with the basic model: no wireless function, 1 GB RAM and CM4 without eMMC. This will cost you $25.

For other options, it's like pizza toppings. An additional $5 allows you to surf the Internet wirelessly. For $5 per tier, you can add 8 GB, 16 GB or 32 GB eMMC. To get a board with 2 GB RAM, the price is US$5, 4 GB costs US$20, and 8 GB costs US$45.

Quick Quiz: How much is CM4 Lite (without eMMC) with WiFi and 4 GB RAM? We get $50. CM4 with wireless capabilities, powerful 32 GB eMMC and 2 GB RAM? It's also $50. Pi with everything (wireless / 32 GB eMMC / 8 GB RAM)? $90.

Some listed in the datasheet may be configured as "batch", while others are configured as "1 + /batch", so smaller users may not be easy to use them. For example, if you want the wireless number to be 1, you may be limited to 2 GB or 4 GB RAM configurations. However, all levels of eMMC are equally available. In the long run, since all this may change according to customer needs, you may need to check the Raspberry Pi website for the latest information.

Compared with Pi 4 Model B, CM4 is more flexible. The headline difference is that CM4 no longer dedicates the PCIe bus to USB 3.0. This choice is meaningful for consumer-oriented circuit boards, but CM4 is for designers. PCIe can be added to a CM4 design very simply: all you need is the correct socket and 3.3 V and 12 V power rails. And this has even been updated

Solid state drive. Raspberry engineer Dominic Plunkett told us that they obtained a write speed of 390 MBytes/s in the lab, which is very close to the theoretical maximum speed. You are trading with Model B's USB 3.0 port, but if you are after fast SSD I/O, PCIe with NVMe is the most advanced. Not bad for single board computers!

Type B has only one disconnected two-channel MIPI CSI camera connector and one disconnected two-channel MIPI DSI display connector. CM4 allows the use of two each, for example, to achieve stereoscopic 3D imaging. (You can also

, But it is now obsolete. ) In addition, Model B only exposes the two-channel version of CSI and DSI, while CM4 also provides you with a four-channel version to provide higher bandwidth. Using these functions, you can get higher performance without using the camera

. Want ultra-high frame rate or resolution video on DSI screens? CM4.

Even the optional WiFi/Bluetooth module is more flexible. In addition to the on-board PCB antenna, they also added a UFL connector for the external antenna, and the internal and external antennas can be enabled or disabled through software as needed. This makes CM4 the right choice for demanding WiFi applications or just built in a metal box. The Raspberry Pi Foundation will sell FCC-certified antennas that can be used with the CM4, or you can bring your own but carry it with you.

Finally, the Ethernet chip has undergone a minor upgrade,

On CM4. It is still a Gigabit Ethernet PHY chip, but the chip also supports

. If you need better time synchronization than NTP, then you know what all this means.

We noticed two things that make us feel curious while working

Use our fine-toothed comb.

First, it says that CM4 is more efficient than Model B, so it uses less power. But because it is on a smaller board, it does not dissipate heat passively like Model B, and it still prefers to throttle the CPU speed to prevent overheating. There are currently no figures available, but we will use Model B hands-on and will compare the two in a stress test soon. stay tuned.

Secondly, there is a tempting sentence about the remaining two analog inputs

, And you are called

(PDF) For further study. They seem to break in the labeled pins


On the official IO board. In our opinion, the glove was thrown away.

Finally, sometimes flexibility conflicts with ease of use. Type B has a total of four USB ports: two USB 3.0 and two USB 2.0. USB 3.0 was cut off, and CM4 only has a USB 2.0 port connection, because that is supported by Broadcom SOC itself. If you want more USB ports, you must build your own hub. This is what they did on Model B and what they did on the CM4 IO demo board. Speaking of IO boards...

We got an IO board and our sample CM4. use

as well as

Available, it is basically a template for making your own CM4-based design. Take a look!

It only takes a little time to bring all the functions of CM4 into the real world, and we are impressed. The HDMI port is the same as the MIPI camera and display cable, which is wired directly from the connector to the connector. Ethernet is realized through Ethernet protection, but if you don't need Ethernet protection, you can connect directly from CM4 to magnetic components. (Or optical transceiver?) PCIe is equally simple: everything except the 3.3 V and 12 V power rails is plugged directly into the socket from the CM4.

Indeed, the only part of the IO board that looks like any design work (no offense, RPi engineer!) is the USB 2.0 hub, which allows up to four connections, if you need a tested design, you can copy it directly. , The power supply is converted down to 5 V from the 12 V barrel jack of the CM4, and to 3.3V for the PCIe connector. The SD card can hold the eMMC "Lite" version of CM4 without a high-side switch, so it can be turned off when the CM4 is not in use to save power. Everything else is just wires.

But they are not necessarily simple wires. For those who have not designed high-speed boards, this is a trap. Basically need to pay attention to two types of traces: 90Ω differential pair and 100Ω differential pair. The first group includes PCIe and USB, and in pairing, they need to be matched to a minimum of 0.15 mm. For PCIe, the recommended matching is 0.1 mm. 100Ω pairs are specified for Ethernet, HDMI, and MIPI CSI and DSI connections.

According to the data sheet, the requirements for the length of the cross-wire pair are not so strict, but the length of the two wires in the differential pair must be matched. Since the European Center for Nuclear Research (CERN) added KiCAD in 2015, it has been doing differential pairing.

It is strongly recommended that you use it to calculate the trace width for impedance control, but only for Windows. (You may only determine the trace width and the spacing of the IO board design, and ignore the whole problem.)

Of course, unless you need them, you don't need all these high-speed peripherals. You can run a CM4 server with eMMC and wireless functions using only 5 V and GND pins, provided that you have a way to import the software into eMMC first. For the classic headless Pi experience, you can also connect GPIO and SD card lines without worrying about impedance. (Note that you can only use low-speed mezzanine connectors to do this. Not bad.)

But this is not why you are here. You want to turn the IO board reference design into this high-speed custom PCIe NAS, remember? That's it! Just remember to design many status LEDs.

In short, CM4 is all the functions of Raspberry Pi 4 Model B, but it uses a more flexible and consumer-friendly packaging. It has 32 different varieties and exposes some serious high-end peripherals, which is especially impressive for the low price tag. The real cost of admission is to design your own motherboard to work with it, but even with some help, it doesn't look too bad. We look forward to seeing everyone using it.

Cool stuff, maybe now I can finally make the old PineBook really run the desktop environment: D

The appearance has changed. Will it be compatible with your pinebook?

There is nothing that cannot be fixed with wires and hot glue.

What are the unfilled pads on the top edge of the board? Next to the FCC logo

There is no clue. It looks like some kind of socket takes up space, doesn't it?

It seems that there are 6 signals and 2 ground points. One of the signals ends at the test point on the back, and the other signal is bent under the can of the wireless unit. It is a four-layer board, and the other four signals seem to be sandwiched in between.

The general location makes me think of the radio, but the fact that the wiring is routed around the reference point makes me feel unimportant. Well, that is sparsely populated after all. :)

It looks similar to the debug port on other Pis.

It is just a JTAG connector, used to start and debug the board.

Please provide further clues.

This is the VC6 jtag debugging port. It is uninhabited because there is no tool to use it outside of Broadcom/RPi Foundation.

It looks like it might be used for a threaded antenna mount, as can be found on appropriate wifi hardware. Of course it's just a guess.

It looks like a Mini USB 8pin connector.

For eMMC flashing will be meaningful.

Many companies will not only exchange designs, but also choose boards with the same shape so that their 1k+ boards can still be used on the shelf.

Of course, unless they also produce older versions.

I am very happy that I chose nanopi neo as the product, because it will be produced in a period of time, and will carry a "long-term support" label, prompting timely obsolescence.

CM3+ is still available, while CM4 will not be available until at least 2028. The Neo’s outdated claims cannot be found, so comparisons cannot be made.

My only problem now is.

How many PCIe channels does it have?

Although the data sheet can quickly answer this question.

It has 1 and is at PCIe 2.0 speed.

That is, only about 4 Gb/s, although the speed is fast, it is not impressive.

The SATA3 port is much faster. (SATA3 is 6 Gb/s (speed increased by 50%))

Fortunately, the chips used already have 1 Gb/s networking capabilities, so there is no need to spend our PCIe channels on it.

But I really don't think this platform is a good foundation for "ultra-fast home NAS".

Considering that the old relics of PCs usually have 3-8 SATA ports (mostly SATA3) and a small number of PCIe channels, or even 3.0, a 10 Gb/s network is an option. Then it usually supports more than 8 GB or RAM, so there is enough cache space.

If CM4 has 4 PCIe channels, then from the NAS point of view, or anything related to PCIe will become more interesting.

Just like I am happy to replace the second HDMI port with a pair of PCIe 3.0 channels. (The HDMI 2.0 port sends data at a speed of up to 18 Gb/s and has 4 differential pairs. If the PCIe controller can maintain the original speed, the technology can be used for two PCIe 4.0 channels, so the 3.0 channel is more practical ...)

Correction of HDMI 2.0 statement:

The 3 data pairs of HDMI 2.0 have a combined bandwidth of 18 Gb/s. (The fourth pair is the bus clock)

That is, each pair only sends data at a rate of 6 Gb/s, which is far from meeting the 16 Gb/s requirement of PCIe 4.0 for its channel.

However, it should be enough for SATA3, or if you speed up slightly, you can reach the 8 Gb/s used by PCIe 3.0. (If only PCIe 2.5 is 6 Gb/s, and PCIe 3.5 is 12 Gb/s.)

This one. When this article originally claimed that the classic Pi usage would be "ultra-high-speed home NAS", it attracted a lot of attention.

Guys, BCM2711 is still an optimized product for set-top box devices. The marketing method of CM as an "industrial application embedded board" has not changed. In fact, using the Raspberry Pi pi cannot meet the needs of most applications, which still proves that the versatility of Broadcom hardware is still useful.

First of all, a few days ago, the new "Oh, you want to install a Linux-enabled computer in an embedded device" guide was fully launched, and it is actually very good:

Second: If you want to control/deeply embed the system on the module, it is much larger than the RPi foundation:

For example, NXP has a [recommended supplier] (

); The same goes for other suppliers.

I really don't see the appeal of computing modules that push 4K-capable video output to deep embedded applications (usually meaning "headless"). Maybe I am missing something, but:

Using CM4 does not get "mechanical convenience", it can output high-speed signals, so the motherboard using these signals needs high-speed design. At that time we will leave the beginner's field (it's okay, not for beginners), by then, what the "regular" board/SoC vendors provide will become a real cost-saving tool.

What do you know, when I buy the NXP SoC directly and put it on the board, I get an IDE that allows me to assign pin functions as needed. I can directly access the support forum (I ask you to do this at Broadcom). What I didn't get was Raspbian, and personally, it's no big deal. In any case, I still hope that Yocto BSP or Buildroot integration can be used.

The power consumption of the Pi 4B is better than ever (so I think the CM4 is about the same), which means that it is still the most power-consuming Pi ever and one of the ARM SBCs with the lowest design cost. , But in the end it is still in the "assessment of equipment that usually has this computing capability", which was not the case before (because the early RPi was slow and still consumes power).

I like the basics of RPi and its achievements in popular self-made software computing. I think they do not plan to extend to industrial use in general, but this is a business decision they made. For some reason, modern industrial high-end SoMs tend to integrate things such as the Cortex-M4 core and its Cortex-A core-just because you rarely only need high but uncertain throughput, and Control applications usually need to be able to react within a defined number of nanoseconds. BCM2711 does not have this function. It does not have excellent PCIe or networking (hint: please check the datasheet of the "Spear MX8" board for comparison.), ADC or industry standard bus (CAN? Any other fieldbus?).

The RPi Foundation is pushing consumer multimedia hardware to key industrial applications. I hope it works well.

RPF(T) sells 50% of its products to industrial applications and has been doing it for many years (millions per year). And your comments on the SoC itself are somewhat "off the standard"

It helps you to tell us which comments about SoCs are a bit "off-the-standard".

I think I agree with everything he said-the main problem with the A-series weapons in industrial services is the uncertain interruption delay. Next comes the pipeline, out-of-order execution, speculative execution, and cache consistency.

When the real pulse to the output pin must arrive absolutely on time to stimulate the heart tissue, so that the heart beats, you should use the cortex-M series core.

Raspberry Pi or anything that runs completely on the kernel should not be trusted by real-time control.

It can monitor the system, handle larger system states, log records, and update when content needs to be changed.

However, the actual controls that deal with real-world interaction should indeed be handled by a processor that has a fixed cycle/instruction (at least for a given instruction), but it should not be executed out of order, speculatively executed, and preferably There is no cache. (Because cache misses can cause delay spikes, leading to uncertain timing.)

I usually prefer to use a smaller microcontroller, but if you need more digital operations, or need to handle a lot of data/bandwidth, Cortex-M may be great. (In this regard, PIC micro is a bit weak.)

Although in some cases, using dedicated logic/hardware for functions is even good, although this has its own problems.

For our application, we can make a "dedicated" device that has a screen readable by direct sunlight, custom button functions, and all other cool features, and is 100% compatible with the RPi that Jane Sixpack can buy. Shelf and program. In this way Jane can use vanilla RPi to play around, and then lock the target device by making a few changes to boot/config.txt.

Which SoCs and boards do you recommend to check? I have been researching some options for NAS and router applications. The main reason why I returned to x86 is that I can use updates like pfSense and Unraid directly without waiting for any device-specific porting like embedded platforms typically. This also means that I can also stay up-to-date after the manufacturer stops updating the hardware.

Although Pi hardware is still not suitable for routers or NAS, the foundation of Pi seems to be moving in this direction, and is moving in this direction. Are there other embedded platforms that are more capable in these roles and allow direct updates without the blessing of the device manufacturer?

Your phone number is incorrect. PCIe 2.0 is 5Gbit/s, and uses the same 8b10b encoding as SATA3, so the speed of SATA at the transmission layer is increased by 20%. But SATA3 has about twice the protocol overhead compared to PCIe, so you will get 550MByte/s and 500MByte/s during sequential file transfer. It only has a 10% advantage in speed, but it lacks hardware flexibility.

My main point is about "ultra-high-speed home NAS". This article is recommended as an effective application for CM4. To be honest, since this device can't even reach the speed of a single SATA3 port, it is far from "ultra-high-speed home NAS". Area, even with NVMe storage...

However, even if there are only PCIe 2.0 channels, individuals will find devices with more PCIe channels more interesting. Because PCIe add-on cards do provide a lot of flexibility.

I think it's fairly fair to call it a fast home NAS. Because compared to Pi4, the speed of most home NAS is really very slow (and if accessed via wifi, it will become a limiting factor anyway). It will never be the fastest NAS-but it has to strike a balance between power consumption and speed, and better control its functions and hardware than off-the-shelf products.

I actually still use Pi1 as my NAS. It is fast enough to handle 3 people who tend to use it (the same Pi also runs some other services at the same time), and it runs well. Its performance is one year less than that of a NAS replaced within a month, but its performance is less than using some old ATX PCs. Although a real PC can also run other services, this may be a very effective option.

I don't think it is the best use for Pi4. But it is a completely effective use. For me, with its relatively powerful processor and memory, and excellent screen options, I can see many embedded uses-driving your AR headset, which is a message that will not compromise the safety of the car Entertainment system.

I sometimes use a normal Pi4 to run virtual machines. It has become the way I have been using it on music/video and test beds. Of course, the workstation will still reduce performance, but Pi4 meets all my light load requirements, while being portable and energy-efficient (I have installed my Thunder in a sturdy smartphone cardboard box, which has a very The big heat sink, (I think it was pulled out from the linear regulator), so I can pull it out completely and close the box completely, and then take it away – it’s more effective than a laptop. On the other hand, My workstation cannot be idle below 100W and has a weight of at least 15KG. This is largely due to all the cooling power required for CPU and GPU...

In most cases, a large number of pi will definitely make the NAS server sufficient.

But I do not agree with the "ultra high performance NAS" in this article, because it contains the words "ultra" and "high performance". If it's just "NAS", it would be a good choice, and even "high-performance NAS" would be reasonable because it does run at 1 Gb/s without major issues. But adding "Ultra" at least made me require at least a 10 Gb/s network connection.


Pi constitutes an excellent 24/7 system. Do it yourself to perform various Internet-oriented tasks.

It has good performance, low power consumption, and outstanding performance. But it is clear that the appropriate workstation will not be replaced soon.

I set up a video server with a 32-bit HP thin client and its matching PCIe x4 extension. A 16 GB SATA SSD was found, which can physically hold and maximize its RAM. Insert the eSATA card into the expansion chassis, and insert the external 500 gig drive into the expansion chassis. After installing the 32-bit version of Open Media Vault 5, it consumes only a few watts. If the hard drive uses most of the power while it is spinning, it will not be surprising. I might change it to PCIe NVME adapter, so it will be a whole. I also considered using a second expansion chassis to fix and connect, then switch to a SATA car with internal ports, and put the drive in the second expansion.

For this purpose, all you have to do is provide videos on my LAN via DLNA so that the smart TV can use its built-in software to play them, and it works well.

When can we expect the next zero?

Eben's usual answer to this question is "when they find a reasonably priced SoC, they can have a larger PoP memory die"

Never forget that you are the rear seat driver on Rpi. Real OS runs in the graphics core.

> Real OS runs in the graphics core.

Can you explain further? I don't know much about this matter.

VideoCore starts the system and has full access to RAM and peripherals. The ARM core is secondary.

The binary blob for nice graphics is not Broadcom's open source code.

Rubbish. For the form factor, a-What is the significance of CM4 that does not disclose all the feature sets? This cannot be done without changing the connector.

Oh yes, Real (time) operating system can also run on the wi-fi board;-)

Yes, firmware is running on the VPU, but it does less than before. Most of the content has moved to the ARM side (3d, hevc, hdmi, dsi, etc.). The closed firmware is mainly just the older codec and thermal adjustment of the camera, which is actually the boot process before the ARM is powered on.

Therefore, it seems that the USB 2.0 port on the demo board is provided through a single USB 2.0 OTG port connected to the USB-C connector on the current Pi 4 board. This means you can choose between USB 2 devices or USB 2 hosts and USB 3 hosts or PCIe.

A bit disappointing!

Well, this is the SoC problem.

If you want more PCIe or PCIe connected peripherals, please wait for someone to make a carrier board with PCIe switches. You can connect PCIe x1 to many x1 switches, which is ideal. Of course, you have the bottleneck of Pi, but you are of no avail.

Maybe the next Pi SoC will have PCIe 3 x1 ports, or even x2. But this may be next year at the earliest.

At least this board is very thin. It can make some bulky Pi laptops slimmer.

It would be a nightmare to manually solder these two connectors and keep them within tolerance so that they are completely aligned with the computing module!

I think there is already a lot of manual welding here. You really want to use only the right footprints and let the reflow surface tension self-alignment work its magic.

Depends on how desperate you are... I 3d printed a _smaller_ connector alignment bracket, which is better than the previous alignment, _sort of_ works...

Can it be!

you should? It must not work! But I am desperate.

They are completely free floating. This means that the problem now is to place the connector and move it to the return area. Yes, you can try a heat gun, but use soft plastic like this...

It was frustrating, they did not choose a connector with a positioning pin. It's frustrating.

Order a plank for 25 euros and use it as an adjustment tool.

Use dremel to get close to the connector in certain areas and fix the hand-soldered part of the connector to the board.

Remove the board and solder the remaining connectors. In the first step, you do not need to deal with network bridges, please solve them in step 2.

I think it is not difficult to solder and align with microscope connectors.

We weld one side, install the module with the other connector, and then weld it down. Work treat

Super glue...

Put the connector in the module, put a small amount of super glue on the bottom of the connector, put it on the board, and remove the CM. The connector is in the ideal position and you can solder it in place.

Might work. However, those things are already tight. I have to grasp the handle of the plastic scalpel and wedge it under to pull it out.

I personally worry about the super glue remaining on the needle when squeezing out.

Not to mention the connectors tend to hold together firmly.

However, there is actually no need to fix the connector.

If you have a laser cutting machine on hand, you can cut out the clamp that fixes the end of the connector at any time. (The outermost pins may be blocked.) This way, the middle pins on both sides can be soldered correctly before removing the clamp and soldering the rest.

Although someone will be asked to trim a decent laser cutter, but to be fair, it is not difficult. One can also use a milling machine, a 3D printer, or even a stable hand and some time.

As far as alignment is concerned, a well-made fixture can solve most manufacturing problems.

Weld these for a walk in the park. Many of these connectors have alignment pins that push into the PCB.

However, unfortunately, these did not.

They have a wide self-alignment range (0.33 m). The nightmare is spreading. The pin itself has a horizontal play of +/- 0.08 mm, so this is not a problem. *Vertical* is more of an issue (there is a 0.4mm gap), but *this* is not bad.

Wow 0.3m, great! You can place the board near the breach:)

Hirose DF40 uses the same connector series as Intel Edison, which is despised by many people.

I have already hand soldered these exact connectors before, and this is not the most interesting thing I have ever done. I think their spacing is 0.3mm. Yes, you will need a fixture for alignment, they will not tolerate it.

It now appears that the design of a small, inexpensive (-ish) Raspberry laptop with a 13-inch Thinkpad keyboard, 20-hour battery life, Gigabit LAN and NVMe SSD is very attractive! Boy, I love these times, we live in :)

NVMe is meaningless when you only have 1 PCIe 2.0 and you might want to use it for the missing USB3.0 port.

Linux certainly supports PCIe switches. Therefore, a simple x1 to 4 x1 switch will provide you with additional PCIe channels, and you can hang up USB 3 and NVMe. Of course, you are sharing the bandwidth of a value pipeline, but hey, we have been using USB 2.0 for a long time!

Yes why?

My desktop computer has every external device suspended on a single USB 2.0 hub. Keyboard, mouse, Bluetooth headset, USB audio mixer, MIDI controller, *webcam*...no problem.

On a hypothetical CM laptop-both cameras are on the CSI bus, the keyboard and touchpad can easily be GPIO or even serial, Wifi and Bluetooth are on SPI/UART, Ethernet has a dedicated bus, and audio can be Via SPI or just disconnect the HDMI video and LCD video from the HDMI port...

I don't know why I need to use USB 3 on this device so urgently. Oops, I can survive without USB at all.

Even, I even forgot the USB-C power supply-just charge it via PoE to start.

The new shape broke the hope of TuringPi's CM4 version. I am disappointed. :(

Maybe this announcement will make you less disappointed

"Want to know how we can do this with the new form factor? We will announce Turing Pi V2 soon. Yes, V2 will be available soon. Stay tuned!"

Please see the full announcement at



Do not

Thanks, fixed!

WTF, Pi Foundation: According to the data sheet, is the operating temperature range "worse"? 0 to 85? Are you lying to me

Shout out, the normal -40 to +85 computing module using PCIe is very useful. why? ?

Why -40 degrees Fahrenheit?

Because what we live on a planet is usually below 32F?

Conveniently -40f is also -40c

In any case, these apps can be used in the cold winter for some reasons:

Data logging or automation/control of industrial machinery

Any car

Agricultural monitoring/control (in the United States, pigs/pigs are grown indoors all year round, but if the heater is dropped or stored in an area not under climate control, you may need some equipment that can work)

I'm sure there is more.

For clarity, the operating temperature of CM4 is 0 to +85. For me, 0 to +85C means "indoor only". I don’t think there is anywhere in the United States that is relatively *part* relatively cooler than outdoor temperatures below 0 C (although obviously in Hawaii, no one* lives in these areas).

Outdoor application

Industrial cold storage applications

If you need a product with an industrial temperature rating, please purchase one. Does anyone remember the reason for creating Pi? It aims to provide students with the cheapest possible learning costs. It was never for speed.

Indeed, students study on the Pi platform and are then hired as the lowest-income people in the industry and assigned to design a one-time or low-volume solution...you bet they are using Pi :) Sometimes, they will try to use CM, Damn low-cost students... or more realistically, they mentioned the price of pi and the executives were sold! – You should see a large number of Arduinos that have been used to replace Siemens PLC systems on my local port:

I can’t wait to meet all the students who will learn to solder 0.3mm pitch connectors so that they can run Scratch on their Pi4 computing module.

Forget about the "for educational purposes", for many years it has become obvious that this is no longer the main focus.

Well, I do, that's why I didn't frustrate these. I can’t tell you how many people want to throw the Raspberry Pi on things because that’s what every damn project uses, and then wonder why I use a "niche" thing like BeagleBone Black because it actually Meet the specifications.

If you really need this level of cooling, and the Pi does not self-heat in its working window, you can add a heater at any time. It is different from the unusual feature that electronic devices working in harsh environments have their own climate control enclosures. (Pi4 will emit quite a lot of heat from that small mold, I hope this will be exactly the same, so keeping it in the operating window might just be putting it in a properly insulated box)

We are looking for these figures-the data sheet will be updated in due course.

This is wonderful! When I saw that there was no eMMC option and the rating of LPDDR4 dropped to -40, I felt very hopeful. I am very satisfied with the -40 level solution without eMMC, which is understandable and easy to solve.

"In short, CM4 is all the features of Raspberry Pi 4 Model B, but it uses a more flexible and consumer-friendly packaging."

Hmm... not right. Unlike all products in other RPI product series, the CMx module has an extended temperature range. Most RPI users even forget/don't know this, but they still leave them in hot and cold environments. When you do, they will fail.

If this is correct for CM4, that's fine, but please check the data sheet. You will increase in the high-end temperature (15C), but the low-end temperature will remain the same. Regrettably, the older CM is only slightly below 0 (or -20 to +85 if there is memory), and it is annoying that these two components may *will* exceed their temperature range (eMMC / LPDDR2), the internal behavior has temperature compensation.

"Without even knowing this, they still throw them in hot and cold environments. When you do, they will fail."

The really annoying situation is when people throw "but...but...I threw my Raspberry Pi into liquid nitrogen, which is good!" Of course. It may be a while. There is a difference between operating *one thing* in a short time and wanting to operate it *several hundred* for a long time.

The base board that connects PCIe to a four-gigabit network card will be a good router. The computing power and large amounts of RAM required to run a VPN are used to implement VMs/containers for complex network settings that usually require multiple routers.

Yes, when I read this article, I had exactly the same idea.

Indeed, I really like this idea... Now I need another Pi and a reflow soldering option.

Heck is powerful enough to possibly run a video chat server while still performing all operations. In the current situation of lock-in type, which one may be the real winner (if you are against all big data type legions, then at least you must have your own system).

Or just get a $5 adapter card and a PCIe four-way Ethernet adapter from eBay?

Exactly what I think. Over the years, many people have put forward the idea of ​​a RasPi router, which always makes me cringe, because the hardware is really inappropriate, and the USB bus is filled with Ethernet. With Pi 4, we finally have the proper Ethernet, and now with this module, it is possible to achieve really good router settings.

What's really exciting to me is that Pi 4 can push Wireguard encryption at full gigabit wire speed thanks to the NEON SIMD instruction in Cortex A72.

How critical is the stacking here to impedance matching on PCI-E.

I suspect that in some cases this may be an obstacle to making my own boards here, because I haven't seen too many "lower cost" prototype board room options that provide controlled impedance. Maybe they did it, but I don’t seem to work hard enough. :)

Cheap circuit boards do have impedance options available. If I remember correctly, ordering the controlled impedance products provided by JLCPCB with a 4-layer circuit board will not even add any additional cost.

I think I didn’t seem to work hard enough. :) To be honest, the fastest thing I usually do is USB 2.0, so that I don't have to worry too much about the prototype.

The biggest problem with controlled impedance is if you make an internal pair on the edge (or worse, wide) coupled stripline. Then, the signal propagates completely in the dielectric, and then obviously the impedance depends entirely on the dielectric.

If the edge-coupled microstrip is firmly coupled (smaller line-to-pair distance), its dielectric sensitivity will be much lower. And, if you really want to be lazy, use a 2D field solver (such as MMTL) and use a coupled coplanar waveguide to clear the plane under the pair until you reach the bottom layer. This solution has lower dielectric and stack sensitivity because the signal is tightly contained in a single layer.

Not sure if the copper on all the layers below can be removed frequently, but I think it is an interesting tool included in the toolbox. :)

Usually, I have been able to get rid of edge coupling and pretend that there is nothing under it. Everything seems to be normal... but I must admit that I did not check anything on the VNA.

What I want to write is that I haven't done a high speed like PCI-E before, but a quick search shows that it is only 100Mhz...I don't know why I think it will be higher than this.

"Not sure if I can often remove copper on all layers below, but I guess it is an interesting tool in the toolbox. :)"

Investigate it. For example, these are techniques that people use to manage excess capacitance due to pad size at extremely high speeds. see

, Page 30. Even simple things (such as invalidating the plane under the pad, but the size of the pad is the same), will reduce the parasitic capacitance to ~0.1 pF.

In fact, its frequency of appearance is much lower than you expected! If you use only one edge-mounted RF connector and blindly use the layout they provide on a multilayer board (for example, even at about 100 MHz), you will lose about 10% of the signal. This is because their size is "given*" you intend to use on a *2-layer board*, and the capacitance of the pad with the ground layer underneath is "high"*.

Therefore, you need to clear the plane under the connector to effectively *make* a two-layer board in this area.

"What I want to write is that I haven't done as high speed as PCI-E before, but a quick search shows that it is only 100Mhz"

No no no! That is the reference clock. The actual signal itself is in the GHz range.

Something interesting, thanks! Will definitely remember this. I guess that as long as you remove at least one copper layer below, you can get the distance between a core + a prepreg and the next conductor on the 4-layer board.

I am a little dismissive of PCI-E data line speed. I mean, if you can make a whole bunch of peripherals much faster than USB on a PCI-E card, then the data rate must of course be much higher than USB.

This is very feasible on a 4-layer stack. On standard (eg Elecrow or Seeed) FR4, the typical distance between .062 inches (1.6 mm) and the internal ground plane is ~6 mm. Using 6mil pitch and 6mil pitch wires can get 100 ohm +/- 10% differential impedance. finished! Just remember, if you step across power planes, use a coupling capo between power planes.

"This is very feasible in a 4-layer stack. On standard (e.g. Elecrow or Seeed) FR4, the typical spacing of .062 inches (1.6 mm) to the internal ground plane is ~6 mm."

This is just a coupled microstrip, not an edge-coupled CPWG. I also usually recommend tightening the spacing between conductors to the minimum allowable range (for example, 4 mil), because it will tighten the electric field to spread in the dielectric as little as possible.

"Done! Just remember, if you cross the power planes, use a coupling capo between the power planes."

Why in the world run a differential pair on the ground plane? You can get the proper impedance at a distance of ~mil. The decoupling capacitors may also be several miles apart-the return current needs to jump to the top, cross and move down. I have seen this advice elsewhere and have simulated it, but it is not very good. You'd better provide a good return path on the power plane and leave the layer near the power plane as soon as possible, which is better.

If you *must* run one next to the power plane, you only need to place a ground plane next to the differential pair. The power plane is not necessarily "all" power. Just make sure that you provide the return through hole for the return current (if the pair changes the layer) (obviously it is sewn near the end)

It is true, but what about safe/trusted startup?

In order to be widely adopted in commercial applications, a certain degree of trust is necessary. Are there any signs that Broadcom will work with Pi Foundation to achieve this goal?

Pi was never designed for this. I will never use it in a production environment.

Pi is not, but the Pi arithmetic module is at least touted for it. From the Pi base site:

"More than half of the 7 million Raspberry Pi devices we sell each year are used in industrial and commercial applications, from digital signage to thin clients to process automation. Many of these applications use the familiar single-board Raspberry Pi, but For users who want more compact or custom size or on-board eMMC storage, computing module products provide a way to transition from a Raspberry Pi-based prototype to a simpler mass production."

All the examples they provide have a trust/safety factor. They came up with a way to enable OEMs to use Broadcom security features, which seems reasonable.

Here, I want to know if we can build a custom driving recorder or a better Cam (ala hikvision) based on this. Given that I'm tired of selling the function and form factor...Jellybean a Poe, I found a good camera module...

Dude! -

Well, that's too fast...

"According to the data sheet, the requirements for the length of the cross-wire pair are not so strict, but the length between the two wires in the differential pair must match. Since CERN added KiCAD in 2015, it has begun to carry out differential pairs, and it is strongly recommended to use The Saturn PCB toolkit calculates the trace width for impedance control, but only for Windows.

Why recommend a canned solution solver? These guys only solve "known analytical solutions" cases, and there are countless cases. For example, Qucs comes with one, and there are billions of them on the Web. Or you can know if you need to *find* the solution.

At this time, there are many "arbitrary geometry" solvers. For example, ATLC (or MDTLC of GUI) or MMTL. For a while, Ansoft provided a free 2D field solver (Maxwell 2D), and I can still get a copy of it.

The advantage of the 2D solver is that you can figure out, for example, what is the effect of placing a shield with a through-hole fence at a certain distance for crosstalk isolation. Obviously, you can place it "away", but sometimes it needs to be closed due to spacing. You can also figure out the effect of cleaning the plane below.

I don't understand the point of this "compute module" board, because it seems that most people need to buy an I/O expander. Anyone who is proficient enough can make their own boards for this, it seems they are only a few steps away from making CPU boards.

But at least it’s old. I can imagine that someone might use a base plate to fit a dozen boards in a relatively compact enclosure... It might be more compact than a dozen processors on a board, because the CM is connected to the back The board is at right angles. But this design makes this impossible, so I don't understand at all.

Does anyone want to use this product without buying an I/O expansion board? What are the advantages compared to just releasing various conventional pi with different I/O?

"Anyone who is mature enough can make their own boards for this. It seems that they are only a few steps away from making CPU boards."

The number of layers and assembly costs. Trying to fill everything on the CM board may require at least an 8-layer board, which may be quite high quality, and then it is also assembled in 2 layers with tiny components.

The I/O expansion board is a joke. It's easy to push everything to one level, up to four levels. Even at the prototyping level, you can obtain the dust after assembly cheaply in this way. *Special** if the assembly shop starts to add the connector.

Well, don’t think it’s so closed. I and other people I know use computing modules to drive many different hardware. This is a big benefit. We can focus on our hardware and software without maintaining the entire Linux and OS. Floor. Similarly, a large number of working software is also a major factor for SMEs.

For example, we use more pins than ordinary PI or different USB hubs.

To be honest, I think the CM4 and Arduino Pro series are seeking to undertake more industrial applications. For RPi, entering a more professional circle seems to be an indispensable step-there are many people making aircraft carriers or aircraft carrier tools

The biggest advantage of this method for us to master the hidden skills of SOC is that it will not spend a lot of funds from the Pi Foundation to support it, and it will not verify all these boards with different I/O functions. But from the user's point of view, it is also very good-the power stamps are small and easy to integrate into designs of almost any shape and size. If you remove the Pi with camera channel and display channel at the same time, then people will feel that HDMI is lost, or it is not on the same side as USB.

They have completed the most difficult part of getting the system to work properly-the entire work of the computer has been done for you. All the end user needs to do is to make a breakout board for the interface they actually need-although the high-speed bus on the Pi will make it a bit more difficult compared to the old version of the Pi, it is still more trivial.

>The first category includes PCIe and USB, and in pairing, they need to be matched to a minimum of 0.15 mm. For PCIe, it is recommended to match to 0.1 mm.

The data sheet says:

> 2.4. USB 2.0 (High Speed)

The USB 2.0 interface supports signal transmission up to 480MBps. Differential correspondence is wired as a 90Ω differential pair.

PN signal should match 0.15mm ideally

The USB 2.0 specification specifically requires a maximum time lag of 100ps. Remember only 480Mbps. We are not talking about 10Gbps.

>Increase: On a real PCB, the speed of signal propagation is slower than the speed of light. For a stripline (inner layer), the speed of light in vacuum can be divided by the square root of the relative permittivity (e_r). About half the speed. This means that 100ps is more like 15mm. For the outer layer, the speed is slightly higher (about 10%).

It's like sliding 2 decimal places. The difference between 15 mm (actual need) and 0.15 mm is 2 orders of magnitude. : P

Hello, no one can open Kicad files? I tried to open it with the latest version (5.1.7) on Windows and Mac, but the same error message appeared: "KiCad cannot open this fil because it was created with a higher version than the running version.

To open it, you need to upgrade KiCad to the latest version.

Required KiCad version date (or newer version): August 29, 2020".

Yes, I do have the same problem, so it’s not just you...

You will need to open these files with the nightly version of KiCad.

As far as I know, the module does not follow any standard SOM interface standards.


Or the older Qseven style

Why link or even not map 1-n interface standards? Like PI, there are more CSI/DSI channels than the supported range.

TBH is not as bad as yours

The support for IEEE 1588 in PHY is good, but I can't see any datasheets for this part or similar parts. Linux also does not have 1588 support for this PHY.

I see that the SYNC_IN and SYNC_OUT pins sound interesting, but there is no information on them. Can they be used to receive GPS PPS to synchronize the PHY clock?

I haven’t seen this special connector style for a long time, and that’s for good reason... The last time I saw it (around 2001?), this was the laptop I saw it. The root cause of a large number of reliability problems in

What do you mean by connector style? Because of the settings these people seem to have, there are connector elements on the side/center, so it can be used in various ways for mobile phones and industrial power tools.

If they are built the way they should be, they are basically not affected by vibration/shock and thermal fretting. I have tested this derivative product myself and got excellent results.

The four screws should be able to fix the CM well. It will not hang on the connector alone.

It's amazing. This template PCB sounds a lot like helping you lay out high-speed traces and connect to high-speed connectors.

This should be a very useful learning experience with good reference value. superior!

Does anyone know anything about Gumstix? ? ? It looks like you can build an aircraft carrier for CM4 here? (Gumstix.com/special-offer)

I still can't believe that Gumstix still exists. They are Raspberry Pi in 2002, except for ARMv5 of 200mhz, each board is 400 dollars, and there is no operator.

good question! I am also interested in this offer. However, at their "normal" prices, I am not sure if it is cheap to reduce the use of the original Pi IO board design in KiCad and try JLCPCB luck.

Makeup like me can add my shape.

Using the USB3 to SATA adapter on my Pi4B 8GB, and the Samsung 860 EVO 500GB solid state drive, I get a write speed of 390-395 MB/sec and a similar read speed... So why do all PCIe NVMe drives do the same Thing, but need additional circuitry etc.?

In fact, on the carrier board using the computing module, there are fewer circuits to directly connect the PCI Express to the NVMe module. On single board computers, they have a PCIe to USB3 controller, so USB3 makes the most sense.

Does anyone know when it will actually be sold?

Pimoroni is one of the officially recognized resellers. He said "November", but there is nothing more specific than that.

I just ordered two from Canakit and they said it will be shipped on November 9.

Thank you all, thank you very much.

Yes, I ordered mine on the same day. It was originally scheduled to ship on November 30. I just checked it, and it says "Pending" on the order. Status information sent via email, but has not yet responded.

Every few years we get a new form factor. What we really want is an S-100 BUS slot or a bunch of PC/104 cages. And due to changes in form factors, there is little cross-supplier support, and our trash cans are full of old products that cannot be inserted into anything.


This makes me want to throw a simple pcb design with only gpio, hdmi, ethernet, sd card slot and single usb, plus a 24 to 5v converter, see if it works, it may fail, and try again Until I make it work

Hope this helps:)

> On MXL7704

Will it be "MXL7704-P4"? Customized, unavailable proprietary version?

Is this article copied from here (

) Or vice versa?

Wow! Thanks for that. We must send them a lot of lawyers.

But yes. I wrote it. You can see the neutral background of my trademark recycled paper in the image.

Has he ever answered? A neutral ";P" note was written on "His" article. Let's see if he activated it...XD

Does anyone know if there is a composite video? I can't see it in the pdf instructions, but they also did not clearly show the composite output on the previous board.

Yes it looks like 111 stitches.

"Breaking tradition is painful, and we know that some of you will fill up SO-DIMM slots in your closets, but there are good reasons."

"It is impossible to pack PCIe with dual HDMI and other high-speed peripherals into the old SO-DIMM connector"

Well, this seems to be a good reason to replace with DDR4 SO-DIMM interface, but this mezzanine is a nightmare. Yes, DDR4 SO-DIMM is sufficient for HDMI and PCIe.

Yes, I should tell NVidia that sodimm cannot be used for HDMI and PCIe like on jetson nano...

Sodimm is just a style, not a manifestation of ability. Nvidia Jetson uses MXM connectors designed from the ground up to provide appropriate impedance parameters for high-speed graphics. It is very common to use them for PCI Express or other high-speed serial interfaces. I had hoped that the Raspberry Pi Foundation could use MXM connectors or 240-pin DDR3 sodimm, but this is not the case.

Last year, I spent a lot of time designing products based on computing modules (CM3+), among which "upgradability" is one of the main selling points. I will release it for about a month. The appearance change is a bit disappointing for me...

I feel your pain! I have two custom boards made by people, but I have warned them before that if they add USB 3 or PCIe to the next module, 200-pin sodimm will not be possible to fly. I hope they can use 240-pin DDR3 sodimm, which definitely has the necessary bandwidth. But no one asked me!

Commercial adapter available

Therefore, I started to adapt my design to CM4, only to realize that they gave up the extra GPIO that CM3 had! I need these! GAAAAH! No...I am absolutely sure how to make my product work....

I didn't notice it in the article before starting to change the schematic, but the new design has 200 pins, just like the old one. Therefore, it is not a lack of nails that brings about change.

"I found this gem of a pull-up resistor on the SD card power switch." But there is no! The PCB is completed through an automated mounting process, but the SMD resistors are soldered by hand. This means that this is a solution. Someone messed up the PCB schematic but forgot to add resistance, so they were forced to handle all messed up circuit boards manually and add resistance manually.

This "jewel" will disappear in the next edition of the board.

"Found this gem" .. pfffffh....

I am going to update my custom CM3 carrier to CM4. Does anyone know what mezzanine connector this is? I have browsed the data sheet but cannot find any detailed information. I thought I would organize an Eagle file, but I'm not sure which part to add.

The article says that it is Hirose DF40C-100DS-0.4V

Some people say it may be like this: Hirose DF40C-100DS-0.4V

There is already a CM4-CM3 adapter (for a fee). However, you may also be interested in the online geppetto design application, which allows you to design/modify custom CMx carrier boards. They also help you manufacture/sell your products.

Hope this helps people make the CM4 ball rolling if they really start shipping modules. I have been looking for a module (less) Gumstix CM4 NVMe carrier board for more than a month, and wonder when/if CM4 will arrive from Canakit.

I really want to get Fritzing parts for the 100-pin connector. Does anyone know of ready-made parts that can be downloaded? I have a 3D model and Solidworks, but I don't know how to make Fritzing parts from it.

It doesn't matter, I have completed 75% of the customization part. We will check whether it is valid and whether Aisler can process the generated files. I know that Fritzing is dismissive of some people, but this is all I know in this field. I installed Eagle, but I haven't lost my way yet.

Please be kind and respectful to help make the comment section great. (


The site uses Akismet to reduce spam.

By using our website and services, you expressly agree to our placement of performance, functionality and advertising cookies.