Skip to the content
PCBKitNew board
2 layers66 × 80.7 mmJO1 PCB, the printed circuit board in 3D

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

2

README

README.md

John 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.

PCB 3D View

PCB Layout

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

STM32 Power Supply Input from VIN

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

Schematic Diagram

ComponentSpecificationsPurposeLocation
NUCLEO-H745ZI-QDual-core ARM Cortex-M7/M4Main controllerShield base board
Arduino NanoATmega328PEncoder preprocessingOn shield PCB
nRF24L012.4GHz wireless moduleGPS data receptionOn shield PCB
MPU60506-DOF IMUOrientation trackingOn shield PCB
GM 25-37012V DC motor with encoderDrive systemExternal (pins on PCB)
MCP2515CAN controllerCAN-SPI interfaceOn shield PCB
TJA1051CAN transceiverCAN physical layerOn shield PCB
MG996RServo motorSteering controlExternal (pins on PCB)
30A ESCElectronic speed controllerMotor drive controlExternal (pins on PCB)
HW-508Passive buzzerAudio feedbackOn shield PCB
LM2596 (x2)DC-DC Step Down5V and 3.3V regulationExternal (recommended)

Parts

34
QtyValueFootprintReferences
7LOGOFOOTPRINTS:starG***, G***, G***, G***, G***, G***, G***
4MountingHoleMountingHole:MountingHole_2.1mmH1, H2, H3, H4
1330Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1
17.4VTerminalBlock_MetzConnect:TerminalBlock_MetzConnect_Type094_RT03502HBLU_1x02_P5.00mm_HorizontalJ14
1ARDUINO_NANOModule:Arduino_NanoA1
1BuzzerBuzzer_Beeper:Buzzer_12x9.5RM7.6BZ1
1CN10Connector_PinHeader_2.54mm:PinHeader_2x17_P2.54mm_VerticalJ4
1CN7Connector_PinHeader_2.54mm:PinHeader_2x10_P2.54mm_VerticalJ2
1CN8Connector_PinHeader_2.54mm:PinHeader_2x08_P2.54mm_VerticalJ1
1CN9Connector_PinHeader_2.54mm:PinHeader_2x15_P2.54mm_VerticalJ3
1DC_MOTORConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ5
1ESC_MOTORConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ6
1ESC_PWMConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ7
1LM2596_3.3VTerminalBlock_MetzConnect:TerminalBlock_MetzConnect_Type094_RT03502HBLU_1x02_P5.00mm_HorizontalJ12
1LM2596_5VTerminalBlock_MetzConnect:TerminalBlock_MetzConnect_Type094_RT03502HBLU_1x02_P5.00mm_HorizontalJ13
1LOGOFOOTPRINTS:johndeerelogoG***
1LOGOFOOTPRINTS:catlogoG***
1LOGOFOOTPRINTS:teclogoG***
1LOGOFOOTPRINTS:joebidenG***
1MCP2515_CANConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ11
1MCP2515_SPIConnector_PinSocket_2.54mm:PinSocket_1x07_P2.54mm_VerticalJ10
1MPU6050Connector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_VerticalJ8
1NRF24L01RF_Module:nRF24L01_BreakoutU1
1SERVOConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalM1
1TJA1051Connector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_VerticalJ9

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 mmEsp32-led smps, the printed circuit board in 3D

    Esp32-led smps

    lucysrausch/esp32-led-smps

    230V main LED smps. 2x30W Constant Current.

    179 parts30
  • 4 layers105 × 55 mmMotorKit, the printed circuit board in 3D

    MotorKit

    zhbi98/ODriveX

    【无刷电机FOC驱动器】双通道 FOC 无刷电机驱动套件,最高电压 60V 单通道电流可达 100A,可以驱动 1.2kW 以内 BLDC 或 PMSM(有中文注释)。

    184 parts22MIT
  • 2 layers65 × 40 mmWifi2can, the printed circuit board in 3D

    Wifi2can

    zhangxuhong1024/wifi2can

    ESP8266 MicroPython MCP2515 SDCard Kicad

    73 parts9
  • 4 layers42 × 42 mmMotor42, the printed circuit board in 3D

    Motor42

    zhbi98/Motor42

    【小型 42mm 伺服电机】支持 RS485 和 CAN 协议的闭环功能的步进电机,支持功率和通信级联(节点串联连接),适用于 3D 打印机,舵机,小型机械臂

    89 parts8MIT
  • 2 layers70.1 × 45.8 mmSecant, the printed circuit board in 3D

    Secant

    ericevenchick/secant

    A two bus CAN tool based on the TI Tiva C microcontroller.

    55 parts4
  • 2 layers54.6 × 86.4 mmBBBMINI PCB V2, the printed circuit board in 3D

    BBBMINI PCB V2

    juvinski/BBBMINI_V2

    BBBMini Version 2.0

    38 parts4
  • 2 layers114 × 95 mmVCU V3.2, the printed circuit board in 3D

    VCU V3.2

    HKUST-Red-Bird-Racing-EVRT/GEN5_ELEC

    Repository for RBR EVRT 2025 EE

    170 parts3
  • 2 layersControllerTHT, the printed circuit board in 3D

    ControllerTHT

    deltaphi/RR32CanController

    Sketch for a Switchboard talking the CAN CS2 protocol based on the ESP32 NodeMCU-Board

    71 parts2GPL-3.0