Hardware and firmware for the AgOpenGPS AiO v4.5 autosteer boards (Micro and Standard), plus section controllers for a field sprayer and a no-till seed drill. Everything here works with AgOpenWeb and AgOpenGPS.
Warning
This firmware steers a tractor. Test every new version on the bench before you use it in the field. It comes with no warranty.
| Folder | What it is |
|---|---|
Firmware/v4.5_AiO_WEB |
Teensy 4.1 firmware for the AiO v4.5 Micro and Standard. Handles the GPS (UM982, F9P, X20P or dual F9P), the IMU (TM171 or BNO085) and autosteer (Cytron, IBT2, Danfoss or Keya). Has its own web page for status, settings and firmware updates over the network. |
Firmware/v4.5_AiO_WEB/v4.5_XIAO_ESP32 |
Program for a Seeed XIAO ESP32C3 or ESP32S3 on the GPS2 port. The XIAO runs its own Wi-Fi network, so you can check the module from your phone without the tablet. |
Firmware/v4.5_AiO_WEB/v4.5_XIAO_ESP32_bin |
The XIAO program, compiled and ready to install. |
Firmware/simulator |
The web pages of the Teensy, the XIAO and the ESP32 seed drill and sprayer modules with pretend boards behind them, to try online without a board: renatorgr.github.io/Boards. Rebuilt from the code on every change. |
AiO_Micro45_XIAO_C3 |
Adapter board (KiCad) that plugs a XIAO into the GPS2 socket of the AiO v4.5 Micro. Gerber, BOM and CPL files are ready to order from JLCPCB. |
AiO_Std45_XIAO_C3 |
The same adapter for the AiO v4.5 Standard. |
LED_Bezel |
A small 3D-printed comb (OpenSCAD and STL) that slides over the three front LEDs of the AiO v4.5 so each one lights only its own window on the panel. |
Relay24_ESP32 |
Relay board (KiCad) for an ESP32 DevKitC: 24 DPDT relays that drive 12 V linear actuators in both directions, a network socket and 12 V in, for the seed drill's sections. Gerber, BOM and CPL files for JLCPCB. |
Seeder/Seeder_ESP32 |
Program for the Relay24_ESP32 board (or a KinCony KC868-A32: ESP32, 32 relays, network cable) that runs the 19 sections of the no-till seed drill, one linear actuator each, on command from AgOpenWeb or AgOpenGPS (the official machine-module messages, PGN 229 for sections 17–64). Has its own web page for setup and updates. |
Sprayer/Sprayer_ESP32 |
Program for an ESP32 relay board (the ESP32_Relay_X8, or a plain ESP32 with relay modules, up to 16 relays) that runs the sprayer sections over Wi-Fi. Opens and closes the section valves on command from AgOpenWeb or AgOpenGPS (the official machine-module messages), reports boom pressure and flow, and has its own web page for setup and updates. |
Sprayer/Sprayer_Nano |
The earlier Arduino Nano + Ethernet version of the same sprayer controller. |
Each folder has its own README with the details.
- Teensy firmware v4.5: runs on the bench with a UM982, F9P or X20P and a TM171 or BNO085. The dual F9P, the Keya motor and steering with a BNO085 have not been tried on a tractor yet.
- XIAO program v4.5: must match the Teensy firmware version.
- Adapter boards and Relay24_ESP32: designed and checked in KiCad, but not built or tested yet.
- Sprayer ESP32 v0.9: runs on the bench (page, Wi-Fi), not tested on the sprayer yet. Also builds for a plain ESP32 with relay modules (up to 16 relays). Sensor dividers use 10 kΩ and 22 kΩ resistors from a common kit. The sensors fitted are ticked on its page: with none it sends no PGN 160. The Nano version (v0.3) is kept as it was.
- Seeder ESP32 v0.2: the seed drill part of Sprayer ESP32 v0.8 in its own folder: 19 sections over the network cable, relay 1 = section 1 and so on, on the Relay24_ESP32 board (default) or a KC868-A32. Written from the board design and KinCony's pin list, not yet run on a board.
- First install: connect the Teensy over USB, open the
.hexfile fromFirmware/v4.5_AiO_WEBin Teensy Loader, then press the button on the Teensy. - Web page: open
http://192.168.5.126/(orhttp://aio.local/) in a browser on the same network. The third number follows the subnet set in AgOpenWeb; it can also be changed from the XIAO's WiFi page (WiFi tab → Module network). To see the page before you have a module: the simulator. - Updates: on the web page, go to Firmware and choose a new
.hexfile, or click Install from GitHub. The page checks this repository for new versions.
- First install: over USB-C, using the
…_USB.binfile for your XIAO and the esptool-js web page. Step-by-step instructions are in thev4.5_XIAO_ESP32_binREADME. - Join the
XIAO-xxxxWi-Fi network (passwordagopengps) and openhttp://192.168.4.1/. - Updates: over Wi-Fi from the XIAO page.
Choosing the board, wiring (actuators, end switches), the first upload, the setup and a bench test are in the Seeder_ESP32 README. Its web page can be tried without the board in the simulator.
Wiring, the first upload, the Wi-Fi setup and a bench test are in the Sprayer_ESP32 README. Its web page can be tried without the board in the simulator. The pressure, flow and alarms show in the AgOpenWeb fork with the sprayer readout. The older Nano version is in Sprayer_Nano.
- Arduino IDE 1.8 or 2.x with Teensyduino 1.58.
- Board settings: Teensy 4.1, USB Type "Serial", CPU Speed 600 MHz, Optimize "Faster".
- No extra libraries needed: everything the sketch uses is in its folder or comes with Teensyduino.
- GitHub Actions compiles the Teensy firmware on every pull request. A green check means it builds. The
.hexfile is under Artifacts on the run's page.
This work builds on the AgOpenGPS project and its community. The full list of credits is in the Teensy firmware README.
- Teensy and XIAO firmware: GNU General Public License v3 or later. See
COPYING. - Adapter boards: same licence as the AgOpenGPS boards they fit.