

This repository contains the PCB layout for a shield-style board designed to interface with the NUCLEO-H745ZI-Q development board. The system supports dual-mode waypoint navigation, with internal mode using encoder-based odometry and IMU tracking, and external mode integrating John Deere GPS for position-based navigation.
- Size
- 66 × 80.7 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 34
- Nets
- 135
- Pads
- 193
- Tracks, vias
- 91, 0
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 11 Nov 2024
- Updated
- 18 Jan 2025
Overview
JO1 PCB is an open-source printed circuit board by CEJ2-Robotics, from the CEJ2-Robotics/JO1_Electronics repository on GitHub. It is a 2-layer board of 66 × 80.7 mm with 34 parts on 135 nets, routed with 91 tracks and 0 vias.
It is built around the NRF24L01 and TJA1051T. Its parts include 14 connectors, 1 resistor and 1 IC. It belongs with the interfaces and adapters and microcontroller boards boards and the AVR (ATmega, ATtiny) boards of this library.
Main components
2NRF24L01
QFN-20-EP(4x4)-40℃~+85℃ -85dBm 0dBm 1.9V~3.6V 2.4GHz 2Mbps CRC check function、Automatic response function、Automatic retransmission function SPI QFN-20-EP(4x4) RF Transceiver ICs ROHSNordic SemiconRF Transceiver ICsTJA1051T
SOIC-8-40℃~+150℃ 2.5mA 4.5V~5.5V 5Mbps 70mA CAN Transceiver SOIC-8 CAN Transceivers ROHSNXP SemiconductorsCAN Transceivers
README
README.mdJohn Deere Tractor Navigation System - Electronics
This repository contains the PCB layout for a shield-style board designed to interface with the NUCLEO-H745ZI-Q development board. The PCB integrates various components and connection interfaces required for the tractor navigation system developed in collaboration with John Deere, serving as a practical application of embedded systems concepts. The implementation details of this electronics design can be found in the embedded software repository.
System Overview
The custom PCB serves as a connection hub for the system's components, handling:
- Power distribution to components
- CAN interface (FDCAN1) for encoder data
- I2C connection (I2C4) for the MPU6050 IMU
- SPI interface (SPI5) for the nRF24L01 wireless module
- PWM signal routing (TIM13, TIM14, TIM1) for motors and buzzer
Power Distribution
The PCB design includes three power input screw terminals. Here's our implementation from the embedded repository:
Logic Power Screw Terminals
- 5V terminal: Connected to external LM2596 regulator outputting 5V
- 3.3V terminal: Connected to external LM2596 regulator outputting 3.3V
- Both regulators were powered by 7.4V from two 3.7V Li-Po cells in series
STM32 Power Screw Terminal
- 7.4V terminal: Connects directly to NUCLEO-H745ZI-Q's VIN
- Board configuration: JP2 jumper on pins 3-4
- Power specifications:
- Input range: 7-11V
- Current draw varies with voltage:
- 800mA @ 7V
- 450mA @ 7-9V
- 250mA @ 9-11V
ESC and STM32 Connection
- The ESC is a separate pre-built circuit with its own power connections and is not powered through the PCB.
- In our setup, we used a 7.4V Li-Po 2S battery to power both:
- The ESC directly
- The STM32 through the PCB's 7.4V screw terminal
Schematic Diagram & Component List
| Component | Specifications | Purpose | Location |
|---|---|---|---|
| NUCLEO-H745ZI-Q | Dual-core ARM Cortex-M7/M4 | Main controller | Shield base board |
| Arduino Nano | ATmega328P | Encoder preprocessing | On shield PCB |
| nRF24L01 | 2.4GHz wireless module | GPS data reception | On shield PCB |
| MPU6050 | 6-DOF IMU | Orientation tracking | On shield PCB |
| GM 25-370 | 12V DC motor with encoder | Drive system | External (pins on PCB) |
| MCP2515 | CAN controller | CAN-SPI interface | On shield PCB |
| TJA1051 | CAN transceiver | CAN physical layer | On shield PCB |
| MG996R | Servo motor | Steering control | External (pins on PCB) |
| 30A ESC | Electronic speed controller | Motor drive control | External (pins on PCB) |
| HW-508 | Passive buzzer | Audio feedback | On shield PCB |
| LM2596 (x2) | DC-DC Step Down | 5V and 3.3V regulation | External (recommended) |
Parts
34| Qty | Value | Footprint | References |
|---|---|---|---|
| 7 | LOGO | FOOTPRINTS:star | G***, G***, G***, G***, G***, G***, G*** |
| 4 | MountingHole | MountingHole:MountingHole_2.1mm | H1, H2, H3, H4 |
| 1 | 330 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1 |
| 1 | 7.4V | TerminalBlock_MetzConnect:TerminalBlock_MetzConnect_Type094_RT03502HBLU_1x02_P5.00mm_Horizontal | J14 |
| 1 | ARDUINO_NANO | Module:Arduino_Nano | A1 |
| 1 | Buzzer | Buzzer_Beeper:Buzzer_12x9.5RM7.6 | BZ1 |
| 1 | CN10 | Connector_PinHeader_2.54mm:PinHeader_2x17_P2.54mm_Vertical | J4 |
| 1 | CN7 | Connector_PinHeader_2.54mm:PinHeader_2x10_P2.54mm_Vertical | J2 |
| 1 | CN8 | Connector_PinHeader_2.54mm:PinHeader_2x08_P2.54mm_Vertical | J1 |
| 1 | CN9 | Connector_PinHeader_2.54mm:PinHeader_2x15_P2.54mm_Vertical | J3 |
| 1 | DC_MOTOR | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | J5 |
| 1 | ESC_MOTOR | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J6 |
| 1 | ESC_PWM | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J7 |
| 1 | LM2596_3.3V | TerminalBlock_MetzConnect:TerminalBlock_MetzConnect_Type094_RT03502HBLU_1x02_P5.00mm_Horizontal | J12 |
| 1 | LM2596_5V | TerminalBlock_MetzConnect:TerminalBlock_MetzConnect_Type094_RT03502HBLU_1x02_P5.00mm_Horizontal | J13 |
| 1 | LOGO | FOOTPRINTS:johndeerelogo | G*** |
| 1 | LOGO | FOOTPRINTS:catlogo | G*** |
| 1 | LOGO | FOOTPRINTS:teclogo | G*** |
| 1 | LOGO | FOOTPRINTS:joebiden | G*** |
| 1 | MCP2515_CAN | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J11 |
| 1 | MCP2515_SPI | Connector_PinSocket_2.54mm:PinSocket_1x07_P2.54mm_Vertical | J10 |
| 1 | MPU6050 | Connector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_Vertical | J8 |
| 1 | NRF24L01 | RF_Module:nRF24L01_Breakout | U1 |
| 1 | SERVO | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | M1 |
| 1 | TJA1051 | Connector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_Vertical | J9 |
Questions
How big is the JO1 PCB PCB?
It measures 66 × 80.7 mm and has 2 copper layers, 1.6 mm thick.
What parts does the JO1 PCB use?
34 parts, built around the NRF24L01 and TJA1051T. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the JO1 PCB KiCad files?
From the CEJ2-Robotics/JO1_Electronics repository on GitHub, at the commit this page was made from: the board is JO1_PCB/JO1_PCB.kicad_pcb and its schematic JO1_PCB/JO1_PCB.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the JO1 PCB design in my own project?
Its repository states no licence, so its author keeps all rights: ask CEJ2-Robotics before reusing the design.
Similar boards
- 2 layers150 × 50 mm

- 4 layers105 × 55 mm

MotorKit
zhbi98/ODriveX
【无刷电机FOC驱动器】双通道 FOC 无刷电机驱动套件,最高电压 60V 单通道电流可达 100A,可以驱动 1.2kW 以内 BLDC 或 PMSM(有中文注释)。
184 parts22MIT - 2 layers65 × 40 mm

- 4 layers42 × 42 mm

Motor42
zhbi98/Motor42
【小型 42mm 伺服电机】支持 RS485 和 CAN 协议的闭环功能的步进电机,支持功率和通信级联(节点串联连接),适用于 3D 打印机,舵机,小型机械臂
89 parts8MIT - 2 layers70.1 × 45.8 mm

- 2 layers54.6 × 86.4 mm

- 2 layers114 × 95 mm

- 2 layers

ControllerTHT
deltaphi/RR32CanController
Sketch for a Switchboard talking the CAN CS2 protocol based on the ESP32 NodeMCU-Board
71 parts2GPL-3.0