Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/miek/gr-hubsan
Blocks for transmitting and receiving Hubsan X4 controller signals (fly quadcopters with SDR!)
https://github.com/miek/gr-hubsan
Last synced: 24 days ago
JSON representation
Blocks for transmitting and receiving Hubsan X4 controller signals (fly quadcopters with SDR!)
- Host: GitHub
- URL: https://github.com/miek/gr-hubsan
- Owner: miek
- Created: 2014-11-18T20:00:26.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2016-03-13T17:18:56.000Z (over 8 years ago)
- Last Synced: 2024-10-04T11:57:59.069Z (about 1 month ago)
- Language: CMake
- Homepage:
- Size: 144 KB
- Stars: 68
- Watchers: 5
- Forks: 18
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# gr-hubsan
Blocks for transmitting and receiving Hubsan X4 controller signals (fly quadcopters with SDR!).
Here's a video of it working: https://www.youtube.com/watch?v=OmwEqlOGV94
I take no responsibility for your quadcopters flying off and damaging people/property - assume that this software will break and operate it somewhere suitable.
## Prereqs
* gnuradio
* gr-burst
* gr-eventstream
* gr-pyqt
* a HackRF (for included examples - should be fairly easily to modify for other hardware)## Usage
This can't currently do the Hubsan pairing procedure, so there's a slightly convoluted process to get started:
* Turn on Hubsan transmitter and connect quadcopter battery, verify that they have paired and the quad flies.
* Use osmocom_fft or similar to search between 2.4 and 2.5GHz for the control channel.
* Edit the freq variable in hubsan_rx.grc appropriately and run it. You should lots of output similar to:
```
******* MESSAGE DEBUG PRINT ********
((roll . 132) (pitch . 130) (yaw . 125) (throttle . 0) (tx_id . 1179779243) (a7105_id . 1746746778))
************************************
```
* Make note of the tx_id and a7105_id and copy them into hubsan_tx.grc
* Hold the quad tight, making sure you're clear of the props
* Run hubsan_tx.grc, then move your joystick through its range in all axes to calibrate (the quad will go a bit crazy).
* Fly.## Known issues
* Latency can be brutal with the default HackRF setup. I've included two patches hackrf-16k-buffer.diff and gr-osmosdr-16k-buffer.diff that tone down the USB buffer size a bit, until something proper is worked out.
* The joystick source is very hardcoded for the "Logitech WingMan Force 3D" joystick I have, get in touch if you're having trouble modifying it for your own setup. PRs welcome for a more confiurable setup.## Contact
Miek on freenode IRC, usually in #hackrf