bilson / wizardtracker-hardware

A RSSI-based lap timer for drone racing.

Home Page:http://propnuts.co.uk/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

wizardtracker-hardware

This project contains the hardware and firmware for the PropNuts WizardTracker, an RSSI-based lap timer for drone racing.

Hardware

The KiCad files can be found under hardware/.

The current revision (v2) allows for a total of either eight receivers, or six receivers with voltage and temperature monitoring. A voltage regulator and XT60 are mounted onboard to provide power.

Order from OSH Park

Parts List

You can put together a full system for around ~£65.

These are affiliate links.

Firmware

  1. Grab the latest version of the Arduino IDE.
  2. Clone the repository and open firmware/firmware.ino.
  3. Edit Config.h to your needs.
  4. Compile and flash the code.
  5. Pray the magic smoke stays in.

Protocol

On boot, the firmware opens serial at 250000bps. After a short delay, it will begin sending RSSI values for each module, seperated by a space, ending in a new line. Each line is prefixd with r .

In calibrated output mode, values range between 0 to 255. In raw output mode (default), values range between 0 to 1023.

< r 110 220 150 243 135 254
< r 140 231 143 192 148 244
... etc

If enabled, voltage and temperature values will be sent periodically. Voltage is prefixed with v and temperature is prefixed with t .

< v 16.08
< t 56.33
... etc

Commands

The command parser is extremely niave, with little to no error checking. Expect strange results with malformed commands. All command should end in a new line character.

Frequencies can be set by sending f <index> <frequency>. These frequencies will be saved and reloaded on startup.

> f 0 5745
< ok
> f 1 5975
< ok
... etc

Modules can be calibrated using n (minimum) and m (maximum). These calibration values will be saved and reloaded on startup. The device must be rebooted for calibration to take effect.

[all modules set to same frequency]
[transmitter powered down]
> n
< ok
[transmitter powered up]
> m
< ok

Output can be toggled between raw output using r, and calibration output using s. The default mode is raw output. This setting is saved and will be reloaded on startup.

> r
< ok
< r 395 345 299 405 514 445
< ... etc
> s
< ok
< r 0 5 8 1 10 13
< ... etc

Information about the device can be requested using ?. The device will respond in the format ? <module count> <frequency 1>...<frequency n> <raw mode>.

> ?
< ? 6 5695 5695 5695 5695 5695 5695 1
[6 receivers all on 5695MHz, with raw mode enabled]
< ok

Acknowledgements

The source code for this project is based on my rx5808-pro-diversity rewrite.

License

This project is licensed under the terms of the MIT license.

About

A RSSI-based lap timer for drone racing.

http://propnuts.co.uk/

License:MIT License


Languages

Language:C++ 83.2%Language:C 16.8%