Raspberry Pi Compute Module

by barzillialloyd in Circuits > Raspberry Pi

1841 Views, 2 Favorites, 0 Comments

Raspberry Pi Compute Module

IMG_2498.jpg
Compute module board CM

Raspberry pi compute module.

One project made by @magkopian link here (https://www.instructables.com/Design-Your-Own-Raspberry-Pi-Compute-Module-PCB/), explains how to make your own raspberry pi compute module to suit your need. Its a brilliant project please take a look at it because its a step to upgrade to using the LAN9512 ethernet chip and this can be easy addition to what he did, if you understand it. All the set-up has been documented in detail.

Anyway, let get to business.

Designing your own board to house the compute module can be time consuming with a lot of test and prototypes, I hope this helps you out.

I used Altium designer for this project. But you can use any that works for you. the second image is the Version 2.0, same design just mounting holes and few components removed.

Supplies

1. Raspberry Pi I/O Board for Compute Module 3 (CM3)

2. PCB design software

3. Jumper wires

4. power supply

5. Your PC and time ( spending on reading datasheets)

REQUIREMENTS

RPi-Compute_700.jpg
IMG_2701.jpg

The Compute Module is a Raspberry Pi in a more flexible form factor, intended for industrial application.
The Compute Module contains the guts of a Raspberry Pi (the BCM2835 processor and 512MB RAM) as well as a 4GB eMMC Flash device (which is the equivalent of the SD card in the Pi). This is all integrated on to a small 67.6x30mm board which fits into a standard DDR2 SODIMM connector (the same type of connector as used for laptop memory). The Flash memory is connected directly to the processor on the board, but the remaining processor interfaces are available to the user via the connector pins. You get the full flexibility of the BCM2835 SoC (which means that many more GPIOs and interfaces are available as compared to the Raspberry Pi), and designing the Module into a custom system should be relatively straightforward as we’ve put all the tricky bits onto the Module itself.

You probably may be thinking ' What is the difference between Raspberry Pi and Compute Module?'

Well, the Differences. Although the Raspberry Pi Compute Module 3+ has the same computing power as the Raspberry Pi 3B+, one can think of the Raspberry Pi Compute Module as a stripped-down version of the Raspberry Pi 4 with no ports. So, a carrier board is necessary to use the Compute Module.

Raspberry Pi I/O Board for Compute Module 3 (CM3) is what you need to understand how the compute module works and its requirements. Get yourself one with the CM3+, some jumper wires and power supply and run some test yourself by taking some readings of voltages on its pinout.

Of course, this is all in the datasheet if you can make the time to read it, makes your life easier.

Anyway, to design your own PCB you will need the datasheet and also the schematic design of the Raspberry Pi I/O Board for Compute Module 3 (CM3) as a guide to understand what you doing. You can access the schematic online using this link (https://www.raspberrypi.com/documentation/computer...

The datasheet for the LSAN9512 ethernet chip is here (http://chaos.ctpp.co.uk/pdf/pi/lan9512.pdf)

Now lets move to next stage of which I presumed you have prepared yourself with the what you need to start your own project.

START THE PROJECT

I have attach my BOM from my component list which you can use and update as you wish for your design.

From the CM datasheet, you probably have noticed the compute module requires variation of voltages and the first is to plan how you are going to supply the board with those voltages.

You will need to supply a 1.8 volt and 3.3 volt to the compute module for it to work.

The choice of how you want to go about it depends on your preference, provided those voltages are available to the CM, it should work as it should with a smile.

I went for the PAM2306AYPKE, which is used on the raspberry pi B,B+. With this chip you get 1.8V and 3.3V output and it also will save you some extra money from extra component placements and space and that's money, hehehe.

The PAM2306AYPKE is a buck switching regulator IC with a positive fixed 1.8V and 3.3V output and delivers 1A. there are two versions of it, the other is variable voltages so be mindful of that when choosing.

Now that the power is sorted out we can move to the next stage of the parts to put together., attached is my schematic for the parts and values for the PAM2306AYPKE chip.

PARTS YOU NEED

EEPROM.PNG
EMMC.PNG
t.PNG

NB: All parts are in the BOM from previous step but I will just go through few important circuits .

With the supply voltage is done, we can now move to the other parts.

You need to now decide on the part that best suit your need for the design.

such as;

1. RJ45 connector (NB: Choose one with integrated magnetics else you'll have to add external one)

2. External EEPROM is optional use this (93AA66AT-I/OT), IC EEPROM 4K SPI 2MHZ SOT23-6, if needed.

3. LAN9512-JZX (Integrated Circuit Microchip's single-chip, hi-speed USB, 2.0 hub and high-performance 10/100 Ethernet controller)

4. 1565917-4 (200 Positions 0.6 mm Memory Card Gold Flash Contact Plating SODIMM Socket)

5. CAT24C256YI-GT3 (IC EEPROM 256K I2C 1MHZ 8TSSOP)

6. 82400102 (high speed TVS Diode Array for USB 2.0) for USB lines

7. DLP11SN900HL2L (Filter 150mA 90R Choke) for USB lines

8. RTC timer: I needed the Board to keep up time and date as accurately as possible so I added the timer, its an optional feature. (Optional)

The rest are capacitors, resistors and LEDs if required. choose a fuse for the input voltage to the chip to prevent blowing up the whole PCB.

DESIGNING

USB.PNG
TTL.PNG


This is a four layered PCB Board, which layer you use as GRN and PWR depends on your choice.

EMMC: In the previous step, I uploaded the schematic for the External EEPROM to the LAN chip if you want to use it and also the EMMC schematic.

Now this circuit is what will allow you to have access to the EEPROM on the CM3+, you can boot your image from there smoothly.

To do that you can either permanently enable it by placing R38, 100K resistor and reduce the circuit component or you can go both way as I've done as a safety feature in case the circuit goes faulty I will just fit 100k resistor there to enable it permanently saves me the design time. But that's me you can enable it permanently and it will work just fine too.

Dual USB stack: You remember the filter and the TVS diode I mention in previous steps? of course you do, now we will use it in the schematic for the Dual USB

NB: It doesn't have to be a dual USB, you can use USB A or USB B which ever suits your project, the outcome is the same for all.

Connect the TVS diode and the Filter as shown in the schematic attached.

RJ45 Connector: With this each persons own may vary and the pinouts may be different, so please read your component datasheet to know the requirements for the connectivity.

TTL Serial: You need to add this so you can talk to the chip to find out if anything is wrong.

Refer to schematic

LAN CHIP

Decoup.PNG
f.PNG
d.PNG

This is one important part of the whole project, care must be taken here.

The datasheet for the LAN9512 is your best friend here, as this will detail all the required voltages, capacitor and resistor values you will need to make the chip function accurately

Aside that, the decoupling capacitors are required for proper operation of the chip.

NB: Provide good ground for the chip and vias to dissipate heat

The value of crystal to use is (25Mhz 18pF) please check my BOM for the part number and the resistor values needed.

Refer to my schematic as a guide

PCB DESIGN

2.PNG

The shape of your PCB will depend on your need. I have made a lot of changes to mine and added 4mm holes and other parts over time and its far premium looking now, than it was when I wrote this.

Import you schematic into the PCB and show your Tetris skills with the placement (heheheh).

BOARD TEST - FINAL

IMG_2702.jpg
IMG_2718.jpg
IMG_2712.jpg

PCB Files: Generate you PCB manufacturing files and send it out for manufacturing, most important documents you need are;

1. BOM

2. Gerber files

3. NC Drill

4. Pick & Place

5. Drawing

You should be good to go for your designed PCB.

I have attached some test I did when the PCB came in to prove all works as it should.

The second image from putty screenshot should indicate to you that all ports are working and acknowledged by the LAN chip.

You can use 'putty' to run the test

Well Done If You Made It to This Stage

Capture5.PNG

TAKE NOTE OF THIS, AS MOST PEOPLE DESIGNING BOARDS WITH THE LAN CHIP HAVE HAD ISSUES.

1. Provide good correct impedance traces for USB and Ethernet (90 ohm (USB) and 100 ohm (ETHERNET) differential impedance) you can use SaturnPCB or other software's to calculate

2. If you have issues with the USB signal integrity of one downstream port and want to change boost configuration, you will need to have the external EEPROM according to the datasheet, as the boost registers can only be set via the external EEPROM.

3. Be mindful of the signal integrity

4. Lastly, please provide good grounding

Finally get your upload your image to the CM3+ and put it in PCB and run that IOT you been working on and want to integrate.

I will provide a link for the full (fabrication files) for download as I wasn't able to upload it here when I tried.

The final photo is an updated version that I made from the first version by adding 4mm mounting holes and remove few other components I had no use for.

IF YOU ENCOUNTER ANY CHALLENGES, JUST HIT ME UP, ADIOS!!!!!!!!!