Skip to main content
FW version: Stable

Multi Controller Setup

LYNX firmware supports operating multiple controllers in a single vehicle. One controller acts as the Master while others function as Slaves. All inputs are wired to the Master controller, while Slave controllers connect via CAN and receive commands from the Master.

Example usage
  • Bicycle with front and rear hub motors
  • Electric cart with dual motors (one for each rear wheel)
  • Quad bike with four individual motors
warning

This setup is not designed for vehicles that steer by varying the speed between left and right motors.

Implementation Notes

  • Each device on the CANbus requires a unique address
  • Master controller must use address 0
  • System-wide shutdown occurs if Master encounters an error
  • Individual motor freewheeling occurs if a Slave encounters an error
  • Master transmits to Slaves:
    • Driver mode, driver command, and imult
    • Selected LYNX map
  • Only Master broadcasts LYNX Periodic messages
  • Driver limiters operate independently - configured in /driver/limiter folder

Prerequisites

  • Master controller (address 0) must be fully configured:
    • Motor identification completed
    • Inputs properly wired and configured
    • Vehicle operates correctly using Master alone
  • Slave controllers must be prepared:
    • Matching CAN speed configuration
    • Two 120ohm CAN terminators installed on the bus
    • Unique addresses assigned to each Slave (starting from 1)
    • Motor identification completed for each Slave
    • Driver configuration completed for Slaves
      • Limiters, current settings (may differ from Master)

LYNX Configuration

  • Master controller settings:
    • /misc/syncmode -> 1
  • Slave controller settings:
    • /misc/syncmode -> 2
    • Keep other parameters at default
  • Parameters to synchronize from Master to Slaves (update all controllers when changed):
    • maps/restmapcnt
    • maps/mapchlpf
    • maps/mapcnt

Maps Tuning

Parameters that can be individually configured for Master and Slaves:

  • maps/kphlimit
  • maps/pwrlimit
  • Within each map:
    • maps/mapX/kph
    • maps/mapX/pwr
info

Slave controllers only utilize the pwr and kph parameters from maps. Other map parameters are ignored.

Examples

For identical power and speed between Master and Slave
Copy all listed parameters from Master to Slave

For reduced power in front motor
Configure different values for pwr parameter in maps

For different torque in front motor
Adjust /driver/iref parameter in front controller