https://github.com/zegervdv/quadcopter
Quadcopter using the STM32F3 Discovery board
https://github.com/zegervdv/quadcopter
Last synced: 3 months ago
JSON representation
Quadcopter using the STM32F3 Discovery board
- Host: GitHub
- URL: https://github.com/zegervdv/quadcopter
- Owner: zegervdv
- License: mit
- Created: 2013-12-22T19:04:04.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2018-08-10T15:25:30.000Z (almost 8 years ago)
- Last Synced: 2025-05-13T00:03:09.901Z (about 1 year ago)
- Language: C
- Size: 5.29 MB
- Stars: 9
- Watchers: 5
- Forks: 3
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# STM-Quadcopter
A DIY quadcopter with an STM32F3-Discovery
## Goals
To build a self-stabilizing quadcopter controlled via bluetooth.
## Components
* STM32F3-Discovery
* RN42-I/RM Bluetooth module
### Pin Mapping
| Pin | Function |
| --- | -------- |
| PC10 | USART3 TX - Bluetooth comm. |
| PC11 | USART3 RX - Bluetooth comm. |
| PC12 | GPIO OUT - Reset Bluetooth |
| PD0 | GPIO IN - Connection Bluetooth |
| PC6 | PWM - Left Back motor |
| PC7 | PWM - Left Front motor |
| PC8 | PWM - Right Front motor |
| PC9 | PWM - Right Back motor |
| PC1 | ADC1 - Battery Voltage |
## Communication
### Receiving
The data sent from the quadcopter has following formatting:
| Byte | Name | Value |
| --- | --- | --- |
| 0-1 | Sync | 0x5555 |
| 2-5 | Roll | [-π, π] |
| 6-9 | Pitch | [-π, π] |
| 10-13 | Yaw | [-π, π] |
| 14-17 | Altitude | [0, 10m] |
| 18-21 | Battery | [0, 100%] |
### Transmitting
| Byte | Name | Value |
| --- | ---- | --- |
| 0 | Indicator | |
| 1-4 | Roll | [-π/6, π/6] |
| 5-8 | Pitch | [-π/6, π/6] |
| 9-12 | Throttle | [-100, 100] |
| 13-16 | Yaw | [-π, π] |
| 17 | CRC | |
| 18 | End | Newline '\n' |
| Indicator | Mode |
| --- | --- |
| 00 | Normal Command |
| FF | Takeoff/Land |
| other | Reserved |
## Getting Started
### Compiling and programming
- Download and install Virtualbox and Vagrant
- Download the virtual machine `vagrant up && vagrant ssh`
- In the folder `source`: run `make` to build and `make burn` to program the
device
### Controllers
- Connect to the bluetooth device
- Start the application and select the correct device
## License
See `LICENSE`