fwt_software/hardware/lattepanda-3-delta/NOTES.md

2.6 KiB

LattePanda 3 Delta setup kit

For the Delta fleet: a LattePanda 3 Delta host, an onboard ATmega32U4 ("Arduino Leonardo") driving two TMC5160 boards, yaw and pitch. Run through scripts/install-tower, or ./install.sh --help on its own.

What is known, from tower 111 (surveyed 2026-09-23, read-only)

OS Ubuntu 22.04.5 LTS, kernel 6.8
Motor MCU /dev/serial/by-id/usb-Arduino_LLC_Arduino_Leonardo-if00, USB 2341:8036
Camera Alvium, USB 1ab2:0001, port 2-2
Modem Quectel RM520N-GL, four ttyUSB nodes
Serial / I2C /dev/ttyS0..3, /dev/i2c-0..15; the ambient sensor is on /dev/i2c-2
Packages every entry in packages.txt already installed
Preconditions NOT applied: usbfs_memory_mb 16, camera usb3_lpm_permit u1_u2
hardware.ini none - the tower has never been migrated

Applied to tower 111, 2026-09-23 [partial]

Through scripts/install-tower, host half only: preconditions (usbfs 16 -> 1000, camera LPM u1_u2 -> 0), hardware.ini (yaw + pitch, MTi, SHT41, standard pins.ini, every drivetrain value ; TODO), config.ini keys that hardware.ini now owns commented out, the missing night camera profile exported, the host rebuilt on Ubuntu 22.04 (GCC 11) and restarted with --init --start. It homed and resumed capturing. test hardware: axes, IMU, env and camera PASS; motor FAIL on the old firmware's missing echoes, as expected. Firmware NOT flashed.

What this kit has NOT done yet

In particular:

  • pins.ini is not a traced loom. It carries the numbers the firmware ran on before pins moved into hardware.ini. Trace one Delta's wiring and replace it with a table the way the IOTA's was done.
  • The drivetrain is not known in the units hardware.ini uses. The Delta's firmware carried register values (GLOBALSCALER 80 / 50, IRUN 31, SW_MODE 0x8A0 / 0x8A3, ENC_DEVIATION 1500). Turning them into milliamps needs each driver board's sense resistor, which has to be read off the board. Until it is, the current keys stay ; TODO - and so the installer will not flash the new firmware, which would refuse to move without them.
  • Flashing keeps the Leonardo's own 1200-baud touch, which is how the Delta fleet has always been flashed; tools/flash.sh does nothing extra for it.

Migrating an existing Delta tower

Host first, firmware second (docs/hardware-config-plan.md section 13). The installer's order already is: it writes hardware.ini, builds the host and runs test hardware against the OLD firmware before any flash - and blocks the flash while a drivetrain value is still a ; TODO.