Skip to the content
2 layers101.6 × 50.8 mmIBT-2 Gen2 Perf Board, the printed circuit board in 3D

IBT-2 Gen2 Perf Board

jones2126/tractor20251

Used for embedded code that will run on my autonomous lawn tractor

Size
101.6 × 50.8 mm
Copper layers
2
Thickness
1.6 mm
Parts
12
Nets
10
Pads
35
Tracks, vias
25, 0
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
8 Apr 2025
Updated
4 Nov 2026

Overview

IBT-2 Gen2 Perf Board is an open-source printed circuit board by jones2126, from the jones2126/tractor2025 repository on GitHub. It is a 2-layer board of 101.6 × 50.8 mm with 12 parts on 10 nets, routed with 25 tracks and 0 vias.

Its parts include 6 resistors, 3 capacitors and 3 connectors.

README

README.md

Tractor2025 Project

An autonomous outdoor robot platform for farming and research applications.

Overview

This repository contains the under development codebase for an outdoor robot platform initially built on an 18HP lawn tractor chassis. The system uses a dual-processor architecture combining low-level hardware control with high-level navigation and perception capabilities.

System Architecture

Key Components

  • Tractor and Main Chassis: Cub Cadet XT1 LT42 with EFI riding mower tractor-based outdoor robot platform
Microcontroller Teensy 4.1 (Low-Level Control)
  • JRK G2 motor controller → Linear actuator → Hydrostatic transmission
  • IBT-2 motor controller for steering control with PID feedback
  • Steering angle sensor (potentiometer on pin A9/pin 23)
  • Wheel encoders (induction sensors) on left and right rear wheels
  • NRF24 radio communication with remote control unit
  • 4 Unit Relay GPIO board for safety systems
Primary Compute Raspberry Pi 5 (High-Level Control)
  • Navigation stack (ROS 2 + Pure Pursuit algorithm)

  • Dual ZED-F9P RTK GNSS receivers for precision localization and heading

  • OAK camera for AprilTag localization and teleoperation

  • Internet connectivity for RTK correction data

  • Interface to Teensy 3.5 for hardware control

  • GPS: RTK GNSS receivers Ardusimple ZED-F9P one for base link and one to calculate heading

  • Communication: NRF24 radio link with custom radio controller; RPi wi-fi

  • Base Station: Custom base station to send RTCM correction data. See https://github.com/jones2126/tractor2025/blob/main/BridgevilleRTKBase/README.md

Localization System
  • Secondary: Wheel odometry from rear wheel sensors
  • Vision: OAK camera to be used for teleoperation in conjunction with wi-fi control
Remote Control
  • Custom-built radio controller with:
    • 1 Teensy 3.2
    • 4 potentiometers (steering, throttle, aux controls)
    • 3 pushbuttons
    • 1 toggle switch
    • Emergency stop functionality
    • 1 NRF24 radio

Control Systems

Steering Control

  • Implementation: PID-based steering control with potentiometer used for steer angle data on pin A9 (pin 23) which provides steering angle
  • Hardware: IBT-2 motor controller driving steering motor
  • Modes: Manual (radio control) and Auto (ROS cmd_vel integration planned)

Transmission Control

  • Implementation: Software defined 10-bucket speed control approach for speed transitions to mimic gear settings
  • Hardware: JRK G2 motor controller for linear actuator control
  • Range: Actuator is physically connected hydrostatic transmission which requires ~3" travel for full reverse to full forward.

Safety Systems

  • E-Stop: Radio-controlled emergency stop with relay able to ground ignition wire to ground
  • Signal Loss Protection: Automatic safe state when radio communication is lost either to radio control or wi-fi
  • Manual Override: Physical e-stop button on tractor

Teensy 4.1 Hardware Pin Assignments

Analog Inputs

  • A9 (Pin 23): Steering angle potentiometer

Digital I/O

  • Pin 5: IBT-2 steering motor control - Connect to IBT-2 pin 1 (RPWM)
  • Pin 6: IBT-2 steering motor control - Connect to IBT-2 pin 2 (LPWM)
  • Pin 32: E-stop relay control
  • Pins 9, 10: NRF24 radio (CE, CSN)
  • Pins 13, 11, 12: NRF24 radio SPI pins (SCK, MOSI, MISO)

Serial Communications

  • Serial3: JRK G2 motor controller communication - pins 7 and 8

Radio Control Operating Modes

  • Manual: Direct radio control operation with PID steering assistance
  • Automated: Autonomous navigation with Pure Pursuit (in development)
  • Paused/Standby: System idle state

Development Environment

Software Stack

  • Languages: C++ (Teensy), Python (RPi)
  • Frameworks: RPi: Ubuntu 24.04, ROS 2, PlatformIO
  • Navigation: Pure Pursuit algorithm
  • Remote Access: NoMachine, FileZilla, PuTTY, ZeroTier for VPN

Development Workflow

  1. Code editing on laptop using VSCode
  2. Commit changes to GitHub repository
  3. From Raspberry Pi 5 on tractor pull updates from GitHub
  4. Compile and upload Teensy code using PlatformIO CLI
  5. Deploy and test on tractor robot platform

Repository Structure

text
NOT ACCURATE; JUST A PLACEHOLDER
tractor2025/
├── teensy/                 # Teensy 3.5 firmware (C++)
│   ├── src/               # Source code
│   ├── lib/               # Libraries
│   └── platformio.ini     # PlatformIO configuration
├── rpi/                   # Raspberry Pi code (Python)
│   ├── src/               # Source code
│   ├── launch/            # ROS 2 launch files
│   └── config/            # Configuration files
├── docs/                  # Documentation
└── README.md             # This file

Getting Started

Prerequisites - Robot

  • Raspberry Pi 5 with Ubuntu 24 and ROS 2 installed
  • PlatformIO CLI for Teensy development
  • RTK base station configured and operational
  • GPS units, JRK G2, IBT-2, 4 port relay
  • Teensy 4.1

Prerequisites - Radio Control Unit

  • Teensy 3.2
  • Custom designed PCB using EasyEDA - available for sharing
  • Multiple components soldered to PCB (e.g. potentiometers, RGB LEDs, switch, pushbutton, etc.)

Getting Started

  1. Join the Slack Group:

    bash
      Sign up for Slack access to Lawn Tractor Automation: https://app.slack.com/client/T8WP3RHH7/C8YBK20LX
  2. Engage with small group:

    bash
     Join Zoom meeting on Thursdays at Noon (ET)) https://us02web.zoom.us/j/82088036016?pwd=K2lLc1FiWm9MU0dzRStxM2J2b3dpQT09#success
  3. Review previous meetings on YouTube:

    bash
     Lawn Tractor Automation YouTube page:  https://www.youtube.com/@lawntractorautomation2726/videos
  4. Review details on shared Miro Board:

    bash
     Miro board: https://miro.com/app/board/uXjVM1yzdFo=/

Safety Features

  • Emergency stop via radio controller with relay-based ignition kill
  • Manual e-stop on tractor
  • Automatic safe state on radio signal loss

Contact

[aej2126 at protonmail !dot! com]

Parts

12
QtyValueFootprintReferences
610kIBT2Perf:resistorR1, R2, R3, R4, R5, R6
3wire/header padsIBT2Perf:wire_padsJ1_IBT2, J2_DROK, J3_TEENSY
2100nFIBT2Perf:capC1, C2
1100uF 16VIBT2Perf:ecapC3

Similar boards

  • 2 layersNrf bga, the printed circuit board in 3D

    Nrf bga

    github-linguist/linguist

    Language Savant. If your repository's language is being reported incorrectly, send us a pull request!

    12 parts14kMIT
  • 2 layers66.9 × 74.5 mmDeskHop, the printed circuit board in 3D

    DeskHop

    hrvach/deskhop

    Fast Desktop Switching Device

    12 parts7.9kGPL-3.0
  • 2 layers40 × 15 mmSensors, the printed circuit board in 3D

    Sensors

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    12 parts3kApache-2.0
  • 2 layers42.7 × 56.5 mmTle6240 driver, the printed circuit board in 3D

    Tle6240 driver

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    12 parts1.2k
  • 2 layers49 × 25 mm5v boost regulator, the printed circuit board in 3D

    5v boost regulator

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    12 parts915
  • 2 layers28.3 × 10.3 mmTap Photosensor PCB, the printed circuit board in 3D

    Tap Photosensor PCB

    VoronDesign/Voron-Tap

    Tap is a nozzle-based z-probe for the V2 and Trident printer designs. The entire toolhead moves to trigger an optical switch. Tap offers many advantages:

    12 parts716GPL-3.0
  • 2 layers25.4 × 70.4 mmTpmsniffer, the printed circuit board in 3D

    Tpmsniffer

    stacksmashing/pico-tpmsniffer

    A simple, very experimental TPM sniffer for LPC bus

    12 parts696

Questions

How big is the IBT-2 Gen2 Perf Board PCB?

It measures 101.6 × 50.8 mm and has 2 copper layers, 1.6 mm thick.

What parts does the IBT-2 Gen2 Perf Board use?

12 parts. 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 IBT-2 Gen2 Perf Board KiCad files?

From the jones2126/tractor2025 repository on GitHub, at the commit this page was made from: the board is obsidian_vault/03-design/03-3-tractor/03-3-4-ibt2/IBT-2_Gen2_Perf_Board.kicad_pcb and its schematic RTKBase/setup/bridgeville_drv8871_stage1.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the IBT-2 Gen2 Perf Board design in my own project?

Its repository states no licence, so its author keeps all rights: ask jones2126 before reusing the design.