anotherlonegunman
100 µW
After years of pulling info from forums, I finally have something to hopefully contribute.
Inspired by casainho and his m500 esp/vesc transplant.
Build spec:
M820 motor
Esp32-s3 (circuitpython)
Sw102 display (unmodified)
Grin baserunner controller.
Crack open the casing, there are no hall sensors, just a mr30 plug for the motor and the 6 pin torque sensor plug.
First port of call, getting outputs from the torque sensor:
Surprisingly, it is not a CAN sensor. Don't waste days trying to figure out why you can't receive messages from it, there aren't any to receive.
It has 5v and ground as per the m500 but:
2 outputs for a (possibly 22 pole) rotary encoder (quadrature cadence sensor) at 3.8v logic (level shift to 3.3v for esp)
1 analogue output for 0-120nm torque at ~0.8 - 4.2v. (shift to max 3.1 for esp adc)
The adafruit rotary encoder example reads the rotation direction and counts transitions Rotary Encoder in CircuitPython
Standard analogue inputs picks up the torque channel.
Inspired by casainho and his m500 esp/vesc transplant.
Build spec:
M820 motor
Esp32-s3 (circuitpython)
Sw102 display (unmodified)
Grin baserunner controller.
Crack open the casing, there are no hall sensors, just a mr30 plug for the motor and the 6 pin torque sensor plug.
First port of call, getting outputs from the torque sensor:
Surprisingly, it is not a CAN sensor. Don't waste days trying to figure out why you can't receive messages from it, there aren't any to receive.
It has 5v and ground as per the m500 but:
2 outputs for a (possibly 22 pole) rotary encoder (quadrature cadence sensor) at 3.8v logic (level shift to 3.3v for esp)
1 analogue output for 0-120nm torque at ~0.8 - 4.2v. (shift to max 3.1 for esp adc)
The adafruit rotary encoder example reads the rotation direction and counts transitions Rotary Encoder in CircuitPython
Standard analogue inputs picks up the torque channel.
Last edited: