Rose Rocket Sensor User Guide
=============================
Daniel Thiele <daniel.thiele@ib-dt.de>
:Author Initials: DaTh
:toc:
:website: http://www.ib-dt.de

== Introduction ==
The Rose "Rocket Sensor" is intended to be placed inside a model rocket to deliver its flight to the ground station in real time. In this way, the flight path of the rocket can be displayed during the flight. Optionally it could receive commands to control the rocket.

.Rose
image:Rose_Rev1.jpg[float="right" width=400px]

== Mechanical ==
* Diameter 34mm
* Height 1mm components + 1.5mm PCB + 4.5 Battery Holder
* Test pads to access MCU at bottom side

== Hardware ==
* MCU ATmega328PA
* IEEE802.15.4 Transceiver AT86RF231
* 3-Axis Acceleration Sensor ST Microelectronics LIS331HH
* 3-Axis Magnetic Sensor HMC5883L
* Pressure Sensor Bosch BMP085
* Serial EEPROM AT24C512

//////////////////////////////////////////////////////////////////
The following section requres the asciidoc-filter plugin for ditaa
http://ditaa.sourceforge.net/
http://code.google.com/p/asciidoc-ditaa-filter/
//////////////////////////////////////////////////////////////////

["ditaa"]
---------------------------------------------------------------------

/---------\
| Crystal |
| 16 MHz  |
\----+----/
     |
+----+--------+       +-----------------+    /-----\
| Transceiver |  SPI  | Microcontroller |    | LED |
| AT86RF231   |<----->| ATmega328p      +----+     |
|             |       |                 |    |     |
+-------------+       +-----------------+    \-----/
                              ^
                              |          I2C
                +-------------+--+---------------+---------------+
                |                |               |               |
                v                v               v               v
        /--------------+ /--------------+ /--------------+ /--------------+
        | Pressure     | | Acceleration | | Magnetic     | | EEPROM       |
        | BMP085       | | LIS331HH     | | HMC5883L     | | AT24C512     |
        |              | |              | |              | |              |
        +--------------/ +--------------/ +--------------/ +--------------/
---------------------------------------------------------------------

== Software ==
* Transceiver access makes use of uracoli library http://www.uracoli.de
* Sensor access and application is maintained under uracoli/Contributions

=== Application modes ===
* slow mode: Measure and transmit with a rate of 1 second
* fast mode: Stream data of all sensors with a rate of 10ms

== Programming ==

.Programming Platform
image:progplatform1.jpg[float="left" width=400px]

.Programming Platform, sensor attached
image:progplatform2.jpg[float="right" width=400px]

.Programming pin mapping
[options="header"]
|===
|No|Name|Description
|1|SCK|ISP Clock
|2|MISO|ISP
|3|MOSI|ISP
|4|RST|ISP, debugwire
|5|GND|Ground
|6|SDA|I2C Data
|7|SCL|I2C Clock
|8|GND|Ground
|9|VCC|Supply voltage (1.8 .. 3.6 V)
|10|GND|Ground
|===

== Measurement results ==

.Current slow mode
image:current_slowmode.png[float="right" width=400px]

.Current fast mode
image:current_fastmode.png[float="right" width=400px]

The TRX current overlaps the sensor current.

== Typical Characteristics ==

.Current consumption of sensors
[options="header"]
|===================================
|Sensor   |active [uA] |standby [uA]
|LIS331HH |            |0
|HMC5883L |            |0
|BMP085   |            |0
|===================================

.Current consumpion for different application states
[options="header"]
|===================================
|State    |current [uA]|duration [us]
|Sleep    |6           |
|Measure  |400         |
|Tx       |15000       |4000
|Rx       |15000       |10000
|===================================

== References ==
[bibliography]
- [[[m328p]]]Atmel ATmega328P
- [[[at86rf231]]]Atmel AT86RF231
- [[[ieee802154]]]IEEE 802.15.4
- [[[bmp085]]]Bosch BMP085 Pressure Sensor
- [[[lis331]]]ST LIS331HH 3-axis Acceleration Sensor
- [[[hmc5883]]]Honeywell HMC5883L Magnetic Sensor
- www.ib-dt.de
- www.nongnu.org/uracoli

