|
| 1 | + |
| 2 | + |
| 3 | +The software and hardware for Trackuino, an open-source APRS tracker based on the Arduino platform. It was designed primarily to track high altitude balloons, so it has other handy features like reading temperature sensors and a buzzer for acoustic location. |
| 4 | + |
| 5 | +Trackuino is intended for use by licensed radio amateurs. |
| 6 | + |
| 7 | +# Features |
| 8 | + |
| 9 | +- Arduino form factor (support for Arduino Nano, Uno, and Mega) |
| 10 | +- Fully modular, choose the daughterboards you want to use and print/buy them and the motherboard that fits your Arduino |
| 11 | +- Onboard and external LED headers for module status indications |
| 12 | +- Internal/external temperature sensors to read temperature in and outside the payload |
| 13 | +- Active/passive buzzer support to ease acoustic payload location |
| 14 | +- Support for custom additional analog and digital sensors |
| 15 | +- Open source (GPLv2 license), both software and hardware. In other words, do whatever you want with it: modify it, add it to your project, etc. as long as you open-source your modifications as well. |
| 16 | + |
| 17 | +## Modules |
| 18 | + |
| 19 | +Choose whatever modules you want to use and add them onto your motherboard. |
| 20 | + |
| 21 | +### GPS Module |
| 22 | + |
| 23 | +- Any GPS module that outputs NMEA strings (e.g. SiRF, UBLOX, etc.) is supported |
| 24 | +- GPS used needs 5V, GND, RX, and TX pins |
| 25 | + |
| 26 | +### GSM Cellular Module |
| 27 | + |
| 28 | +- Allows sending data to a GSM network (e.g. AT&T, T-Mobile, etc.) via web requests or SMS messages |
| 29 | +- Configuration for message format and destination phone number or URL |
| 30 | + |
| 31 | +### Radio Module |
| 32 | + |
| 33 | +- Radio: Radiometrix's HX1 (300 mW). |
| 34 | +- 1200 bauds AFSK using 8-bit PWM |
| 35 | +- Sends out standard APRS position messages (latitude, longitude, altitude, course, speed and time). |
| 36 | +- SMA female plug for radio out |
| 37 | + |
| 38 | +### SD Card Local Storage Module |
| 39 | + |
| 40 | +- OpenLog SD Card writing for an on-board copy of recorded data |
| 41 | +- Supports CSV format writing of data |
| 42 | +- Raw data dumping option |
| 43 | +- Custom pre-save formatting option (can convert raw analog input to temperature with given formula, etc.) |
| 44 | + |
| 45 | +### Buzzer Module |
| 46 | + |
| 47 | +- Active buzzer for acoustic payload location |
| 48 | +- Supports GPS readings for variable buzzing based on altitude or satellite lock |
| 49 | + |
| 50 | +# Setup |
| 51 | + |
| 52 | +Use the `Download ZIP` button or [click here](https://github.com/EricAndrechek/trackuino-v2/archive/refs/heads/main.zip) to get the source code and board schematics. |
| 53 | + |
| 54 | +## Choosing Boards |
| 55 | + |
| 56 | +Choose the motherboard you want to use based on what Arduino/MCU form factor you plan to use. The larger the Arduino/MCU and therefore motherboard, the more modules you will be able to add. |
| 57 | + |
| 58 | +After selecting your motherboard, you can choose the modules you want to use. You can add as many modules as you want so long as they all fit on the motherboard. One of these modules needs to be the power daughterboard. |
| 59 | + |
| 60 | +**Important**: Pay attention to the voltage your Arduino is using. If you are unsure, check [this page](https://learn.sparkfun.com/tutorials/arduino-comparison-guide/totally-tabular) to find out. If your MCU is 3.3V, you will need to print the 3.3V power daughterboard, if it is 5V, you will need to print the 5V power daughterboard. |
| 61 | + |
| 62 | +Select all motherboards and module daughter boards you would like to use, and find somewhere online to get them printed. |
| 63 | + |
| 64 | +## Soldering |
| 65 | + |
| 66 | +Each module has a readme file that contains instructions for soldering. The boards also include labels on each component detailing what to solder where. |
| 67 | + |
| 68 | +Each board's readme also includes a table of needed components to purchase to be used on your board. |
| 69 | + |
| 70 | +## Software |
| 71 | + |
| 72 | +If you are building for the Arduino platform you need the Arduino IDE. Get it from the [Arduino web site](https://arduino.cc/). |
| 73 | + |
| 74 | +Unzip the software in your sketches directory and load it up by double-clicking on trackuino.ino. |
| 75 | + |
| 76 | +The single most important configuration file is `config.h`. The file is self-documented. Here is where you set up your callsign, module settings, and more. |
| 77 | + |
| 78 | +Some modules, like GSM, allow you to make additional configuration changes in their own custom, self-documented files so that you can do things like specify a JSON format for data to be sent through. |
| 79 | + |
| 80 | +## Flashing |
| 81 | + |
| 82 | +**Important**: When flashing the Arduino, remove the it from the motherboard. After flashing the firmware, you can plug it back in. The GPS, OpenLog, and the host computer share the same serial port on the AVR, so they will conflict when used together. |
| 83 | + |
| 84 | +Within the Arduino IDE, be sure to select the correct board type for your Arduino. |
| 85 | + |
| 86 | +While trackuino.ino is opened in the Arduino IDE, select the `Program` tab and click the `Upload` button. |
| 87 | + |
| 88 | +## Debugging |
| 89 | + |
| 90 | +In order to use serial debugging, you need to enable it in the `config.h` file, upload the code to the Arduino again, and then select the `Serial Monitor` tab. |
0 commit comments