Skip to content

Hardware

Markus Noga edited this page Jul 4, 2021 · 17 revisions

pimoco Hardware

License

These hardware designs are licensed under CERN Open Hardware License Version 2 - Strongly Reciprocal

Latest version

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.

PCB assembled

PCB

Schematics

Schematics

PCB layout view

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

Bill of materials

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.

Datasheets

Evolution

PCB design v0.4:

PCB top view

PCB bottom view

Third stripboard:

Stripboard latest - top view

Stripboard latest - bottom view

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

Stripboard with crystal oscillator and voltage regulator - top view

Stripboard with crystal oscillator and voltage regulator - bottom view

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

First stripboard

First breadboard:

First breadboard

Clone this wiki locally