Ground control link
In order to feed telemetry data from the platform to a host computer on the ground I needed a radio data link. After some researching I found that the nRF24L01+ chip from Nordic was the quite cheap and had a specification which suites this project well. Luckily Sparkfun has a nice and easy to use breakout board for this chip.

The board communicates over SPI and can be interfaced with this AVR C library http://www.tinkerer.eu/AVRLib/nRF24L01.
The test setup
For my first test setup I’m using two ATMEGA168s. The first one consists of the following:
- MMA7260Q, 3-axis accelerometer
- LPR530AL, 2-axis gyroscope (roll and pitch)
- LISY300AL, 1-axis gyro (yaw)
- nRF24L01+, RF module (TX)
At this early stage the code is build around one main loop reading all the sensors and then populating this simple C struct:
struct payload_struct {
unsigned long time;
int16_t accADC[3];
int16_t gyroADC[3];
} my_payload_struct;
This results in a RF payload of 16 bytes, which means that I still have 16 bytes left for future improvements. The struct is sent over the RF link about 100 times per second.
The second board consists only of:
- nRF24L01+, RF module (RX)
- USB RS232 TTL converter
The purpose of the program running on the MCU is to receive RF payload and resend it to the host PC over RS232 link.
Results
The host PC is running a presentation application written in Java. Which presents the sensors raw values and their “real” human readable values. Real-time graphs are also presented for some sensors. My early test looked like this:

More to come…

