-
Notifications
You must be signed in to change notification settings - Fork 3
Hardware
These hardware designs are licensed under CERN Open Hardware License Version 2 - Strongly Reciprocal
The latest pimoco hardware is a 2-layer PCB with four Trinamic TMC5160 motor drivers, a GPS, an air pressure and a temperature sensor. It is designed to fit atop a Raspberry Pi 4 with a riser header to clear the heatsinks below. It now uses SPI0 with a custom device tree overlay supporting four CS lines, as the Raspberry Pi hardware for SPI1 and 2 does not support the necessary SPI mode 3.



Raspberry Pi GPIO header details:
| Connected to | Function | Header | Pin | Function | Connected to |
|---|---|---|---|---|---|
| 3.3V out | 3.3v Power | 1 | 2 | 5v Power | 5V in |
| BMP280 SDA | GPIO 2 I2C SDA | 3 | 4 | 5v Power | 5V in |
| BMP280 SCL | GPIO 3 I2C SDL | 5 | 6 | Ground | Gnd |
| DS18B20 temperature sensor | GPIO 4 1-wire | 7 | 8 | GPIO 14 UART0 TX | GPS Rx |
| Gnd | Ground | 9 | 10 | GPIO 15 Uart0 RX | GPX Tx |
| N.c. | GPIO 17 | 11 | 12 | GPIO 18 | N.c. |
| TMC5160 device 3 CSN | GPIO 27 | 13 | 14 | Ground | Gnd |
| TMC5160 device 2 CSN | GPIO 22 | 15 | 16 | GPIO 23 | N.c. |
| 3.3V out | 3v3 Power | 17 | 18 | GPIO 24 | N.c. |
| TMC5160 SDI | GPIO 10 SPI0 MOSI | 19 | 20 | Ground | Gnd |
| TMC5160 SDO | GPIO 9 SPI0 MISO | 21 | 22 | GPIO 25 | N.c. |
| TMC5160 SCK | GPIO 11 SPI0 SCLK | 23 | 24 | GPIO 8 SPI0 CE0 | TMC5160 device 0 CSN |
| Gnd | Ground | 25 | 26 | GPIO 7 SPI0 CE1 | TMC5160 device 1 CSN |
| N.c. | GPIO 0 | 27 | 28 | GPIO 1 | N.c. |
| N.c. | GPIO 5 | 29 | 30 | Ground | Gnd |
| N.c. | GPIO 6 | 31 | 32 | GPIO 12 PWM0 | N.c. |
| N.c. | GPIO 13 PWM1 | 33 | 34 | Ground | Gnd |
| TMC5160 device 0 DIAG0 | GPIO 19 | 35 | 36 | GPIO 16 | TMC5160 device 1 DIAG0 |
| N.c. | GPIO 26 | 37 | 38 | GPIO 20 | TMC5160 device 2 DIAG0 |
| Gnd | Ground | 39 | 40 | GPIO 21 | TMC5160 device 3 DIAG0 |
N.c. = Not connected
| Vendor item | Digikey item | Name | Quantity |
|---|---|---|---|
| TMC5160-BOB | 1460-1250-ND | BREAKOUTBOARD WITH TMC5160 | 3 |
| EEU-FC1J151 | P10344-ND | CAP ALUM 150UF 20% 63V RADIAL | 3 |
| DLS1XS5AK40X | 626-1561-ND | CONN D-SUB RCPT 9POS R/A SLDR | 3 |
| PJ-037AH | CP-037AH-ND | CONN PWR JACK 2X5.5MM SOLDER | 1 |
| 4527 | 36-4527-ND | FUSE HLDR CARTRIDGE 250V 5A PCB | 1 |
| 0217005.HXP | F2395-ND | FUSE GLASS 5A 250VAC 5X20MM | 1 |
| 100SP1T2B4M6QE | EG2362-ND | SWITCH TOGGLE SPDT 5A 120V | 1 |
| SB540 | SB540FSCT-ND | DIODE SCHOTTKY 40V 5A DO201AD | 1 |
| PPTC202LFBN-RC | S6104-ND | CONN HDR 40POS 0.1 TIN PCB | 1 |
| 4-pin crystal oscillator 10 MHz | 1 | ||
| LM2576-5.0 | 1 | ||
| Heatsink for LM2576-5.0 | 1 | ||
| Capacitor 100 uf 50V | 1 | ||
| Capacitor 1000 uf 50V | 1 | ||
| Inductivity 100 uh 3A | 1 | ||
| Schottky diode 1N 5822 | 1 | ||
| Raspberry Pi GPIO header riser | 1 | ||
| Stripboard | 1 | ||
| GY-GPS6Mv2 Neo6M GPS breakout board | (optional) 1 |
I sourced the initial items from Digikey because they had availability. Since then, I have added additional items from my drawers and local suppliers. Creating one BOM which you can one-click order from a vendor is on my list.
pimoco is designed to work with a Raspberry Pi 4. Get the 8 GB model just in case you want to run live stacking later.
- Trinamic TMC5160 stepper controller
- Trinamic TMC5160-BOB breakout board
- Raspberry Pi 4 SOC BCM2711
- Raspberry Pi GPIO
- Raspberry Pi SPI
- LM2576-5.0 voltage regulator
- 10 Mhz crystal oscillator
PCB design v0.4:


Third stripboard:


Second stripboard with crystal oscillator and voltage regulator, still using SPI1:


First stripboard, still using Raspberry Pi GPCLK0 for stepper controller clock:

First breadboard:
