Skip to content

HosfordDotMe/HWTelemetry

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Its a working demo for samd21 but any other microcontroller with uart should work. Baudrate is 115200. A telemetry packet is sent every 100ms and is 32 bytes long.

Every packet starts with a 0xFE and ends with 16 bit checksum (CRC-16/MODBUS). I don't know what the first 7 bytes are for. This bytes change if you use the app (with OTA Programmer) to load and save the config but if byte 1-4 are 0x01 0x00 0x03 and 0x30 its a telemetry packet.

Byte 9 is the raw throttle input value from receiver.
Byte 10 is the throttle output value from ESC. Its different from the raw throttle input because of the ESC settings.
Byte 11 specifies the direction value. Is 0x00 is neutral, 0x01 if forward or reverse and 0x02 if brake.
Byte 13 and 14 stores the RPM value. Needs to be multiplicated with 10 and the motor poles if your motor has more then 2 poles.
Byte 15 is the battery voltage. Must be divided by 10.
Byte 17: Current. Needs to be divided by 10.
Byte 19 is ESC temperature.
Byte 21 is Motor temperature.

Because my ESC don't shows this value i cant determine which byte(s) are for current.

Full package example
// 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 // FE 01 00 03 30 5C 17 06 00 2F 30 01 00 F5 04 4B 00 FF FF 25 FF 22 FF FF FF FF FF FF FF FF 83 95

About

Arduino library for reading Hobbywing ESC Telemetry (XeRun XR10 Pro Elite G2S)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%