======Preparing for Launch======
To prepare your system for launch, you must first tweak the software constants on the master, prepare an SD card, prepare battery packs, and prepare enclosures.
=====Master=====
====Accessories====
{{:opentrack:master-smaconns.jpg?300|}}
To use the master motherboard, connect a GPS antenna and APRS antenna to the SMA connectors on the motherboard. We recommend using an omnidirectional GPS antenna for maximum performance.
{{:opentrack:master-sdcard.jpg?300|}}
Next, take a FAT or FAT32-formatted microSD card and place it in the microSD socket on the back of the master PCB. The OpenTrack supports SD cards of up to 4 gigabytes. //Note: most launches generate less than 10 megabytes of data. //
All position and sensor data will be automatically logged to CSV files on the SD card. A new file is created every time the system is powered on.
{{:opentrack:master-buzzer.jpg?300|}}
If desired, plug a buzzer into the "buzzer" connector. This buzzer will start beeping after the system is at a low altitude, or if a maximum time limit has been reached (whichever comes first). The buzzer is powered directly from battery voltage.
Finally, plug in a battery pack to the battery connector. For the master module, we recommend 6 lithium AA cells which provides more than 35 hours of continuous operation.
If you plan on operating in stand-alone mode (using only the master motherboard, no slave modules), you do not need to attach an XBee radio. Otherwise, plug an XBee ZB (Series 2) radio into the headers on the bottom of the motherboard. Make sure the radio is properly configured for OpenTrack -- reference the [[opentrack:XBee Configuration Guide]] for more details.
{{:opentrack:master-system.jpg?500|}}
After completing the above steps, you should have a ready-to-launch setup as shown in the image above. //Note: The APRS antenna is not connected in the above photo as it was too large to fit in the frame.//
====Usage: Stand-Alone Operation====
In stand-alone operation, only the master motherboard is used. No additional slave motherboards or daughterboards are employed, resulting in a very simple yet robust tracking solution.
===Configuration===
To configure the master, place a file named "config.ini" on the SD card. You may click on "config.ini" below to download this sample. Make sure you change the callsign and durations to match your predicted flight characteristics.
[general]
temp = 5 ; Heater regulation temperature, Degrees C
[blackout]
enable = true
timeout = 1200000 ; Turn off non-critical leds after X ms
[buzzer]
failsafe = 9600000 ; Trigger buzzer after X ms
[aprs]
call = "XXXXXX" ; APRS callsign
call_id = 11 ; Callsign ID (11 for balloon)
period = 35000 ; APRS transmit interval (ms) no less than 30,000
; EOF
**Note: You must have a valid amateur radio Level 1 Technician Class license or higher to use the OpenTrack system!**
===Powering up===
After you plug in a battery pack, the system will now power on, detect zero slaves, and begin operating in stand-alone mode. In this mode the module will immediately attempt to acquire a GPS fix and start transmitting APRS packets. APRS packets contain the latitude, longitude, altitude, speed, board temperature, error messages, and battery level.
Your system is now ready for launch!
//Note: After 20 minutes of operation all status LEDs will turn off except for the RF and Power LEDs to conserve system power. The error LED will still illuminate when the system encounters an error.//
====Usage: Multi-Node Operation====
In multi-node operation, the master motherboard and 1-6 slave modules are used. This system allows for flexible sensor data acquisition and robust tracking.
===Configuration===
[general]
temp = 5 ; Heater regulation temperature, Degrees C
reqrate = 3000 ; Query slaves for data every X ms
[blackout]
enable = true
timeout = 1200000 ; Turn off non-critical leds after X ms
[buzzer]
mintime = 2700000 ; Don't trigger buzzer before X ms
maxalt = 2000 ; Trigger buzzer after mintime and altitude below X feet
failsafe = 9600000 ; Trigger buzzer after X ms if altitude conditions not met
[aprs]
call = "XXXXXX" ; APRS callsign
call_id = 11 ; Callsign ID (11 for balloon)
period = 35000 ; APRS transmit interval (ms), no less than 30,000
; EOF
**Note: You must have a valid amateur radio Level 1 Technician Class license or higher to use the OpenTrack system!**
===Powering up===
{{:opentrack:master-spinled.jpg?400|}}
First, power on all slave modules that you wish to use. Next, power on the master module. The master module's progress indicator LEDs will spin rapidly as it performs network detection. After network detection is complete, the number of detected nodes will be displayed on the progress indicator for 2 seconds. If one or more of your slaves is not detected, power cycle the master and try again.
After network discovery the master will begin querying slaves for data, logging all data to the SD card, and will begin transmitting sensor values in interleaved APRS packets.
Your system is now ready for launch!
//Note: After 20 minutes of operation all status LEDs will turn off except for the RF and Power LEDs to conserve system power. The error LED will still illuminate when the system encounters an error.//
=====Ground Station=====
For enhanced offline mapping and tracking, we developed a ground station application. If you wish to use the ground station application in combination with an APRS-capable HAM radio, reference the [[opentrack:Ground Station Application]] documentation.
You may also track your balloon using the APRS network at [[http://aprs.fi/]]. Our system transmits APRS packets in the following format:
**Position-only packet:**
KD8TDF-11>APRS,WIDE2-1:/051959z3906.98N/08330.33WO146.62/45.391 ~v45.391~_031~|914
**Position and data packet:**
KD8TDF-11>APRS,WIDE2-1:/051959z3907.30N/08330.64WO145.25/37.886~v37.886~_976~|704~t911~s08~h1.01~t010~l056~t12~l10~P62965~C0~H999~A12586
APRS packets are interleaved: every other packet contains only the position information and excludes other sensor readings and error messages. This allows for packet propagation in the APRS network when there is significant congestion or interference, as a shorter packet is more likely to maintain integrity during transmission.
**Basic APRS Format Reference**
* '|' - Longitude least significant digits
* '_' - Latitude least significant digits
* 't9' - Master motherboard PCB temperature (celcius)
* 's' - Satellites in view
* 'h' - Horizontal dilution of precision (meters)
* 'v' - Velocity (knots)
For a detailed explaination of our APRS comment format, see the [[opentrack:APRS Format]] page.
----
======Troubleshooting======
=====Master=====
The master module includes a robust error detection, recovery, and logging system. Error codes are flashed on the error LED and are logged to error.csv on the SD card. A summary of error codes and solutions are below.
* **Error 0**: Slave timeout. Ensure all slaves are powered.
* **Error 1**: SD card initialization failure. Make sure your SD card is inserted.
* **Error 2**: SD partition open failure. Make sure your SD card is formatted properly.
* **Error 3**: SD file open failure. Make sure your SD card is formatted properly and config.ini exists.
* **Error 4**: Config parse error. Make sure config.ini is formatted properly.
* **Error 5**: XBee timeout. Make sure your XBee is seated properly. Try power cycling the system.
* **Error 6**: Unknown fatal error. Try power cycling the system.
* **Error 7**: Enter AT mode fail. Make sure the XBee is seated properly, check the XBee's baud rate, and restart the system.
* **Error 8**: Exit AT mode fail. Make sure XBee is seated properly, and restart the system.
* **Error 9**: InfoText. System warning, non-critical. Check error.csv for details.
* **Error 10**: Watchdog error. The system booted after hitting the watchdog timer. System will proceed as normal.
=====Slave=====
Troubleshooting the slave is simple when using the LEDs in conjunction with this guide.
* **Slave won't turn on** - Ensure that the power is properly connected with correct polarity.
* **No communication with Master** - Ensure Xbee is plugged in and "ASC" LED is blinking.
* **Unsure if communicating with Master** - Watch "STAT" LED to see if it periodically blinks.
* **RUN LED is solidly ON or OFF** - Slave is frozen or waiting for a daughterboard to be connected.
* **TX LED is on** - Slave has recovered from a watchdog reset.