Update: the latest information on building the Trackuino board (with slight variations from the process described here) is on the google code project's main page.
Here is how to build your own DYI tracker solution based on the Trackuino firmware and Kyle's PCB. Building the tracker involves a bit of hackery at some points, but I'll try to make it as straight-forward as possible. This is how the finished board looks like:
This is a summary of older posts, in case you just landed:
- GPS: Venus 634FLPx. Supports > 18 Km according to their tech support (to be confirmed empirically)
- Radio: The board supports Radiometrix's HX1 (300 mW) as well as Argentdata's MX146-8v (500 mw).
- 1200 bauds AFSK using 8-bit PWM
- Sends out standard APRS position messages (latitude, longitude, altitude, course, speed and time).
- Internal/external temperature sensors (LM60) to read temperature in and outside the payload
- Support for 1 capacitive humidity sensor
- Cut-down "aka suicide" mechanism: you can hook up a nicrom wire and cut the payload line if your balloon gets stuck aloft for a long time.
- ICSP header for in-circuit programming
- 2 x SMA female plugs (1 x GPS in + 1 x radio out)
- 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 opensource your modifications as well.
Which radio to pick?
Radiometrix's HX1 is cheaper, but Argentdata's MX146-8V is more powerful and thus has a better range. On the other hand, the HX1 version requires fewer components to buy and solder. My take? The HX1 is good enough.
How to build the board?
Both Eagle's schematic and PCB source files are here. You can do the exposure/development/etching process yourself, but I suggest sending it to a PCB house. I made the project public at BatchPCB, so anyone can go and order one. Their prices are not bad, but please comment if you find a better deal.
Here is the bill of materials for the HX1 version and the MX146 version. See what I mean about the HX1 requiring fewer components? Also, these parts are in the schematic, but haven't found a clear purpose for them yet, so don't buy them.
How to build the firmware?
The easiest way is with the Arduino IDE. Download the latest "trackuino-ide-xxxxxxxx.zip" from here. Unzip it in your sketches directory.
Now, you'll have to change some settings. Open the "config.h" tab and:
- Put your own callsign and SSID here. By default it's nonsense, something like "MYCALL". SSID 11 is good for balloons.
- Select your type of radio here (HX1 or MX146)
- Optionally, add some custom comment to the APRS messages, set a different TXDELAY, change the APRS update period (default = 61 seconds), etc.
Now open the trackuino.pde sketch, compile and flash.
If you're comfortable with command line tools, there is also a "trackuino-gcc-xxxxxxxx.tgz" version with Makefiles that you can compile with the gcc-avr toolchain. I like to develop using the gcc-avr toolchain because the IDE doesn't support multi-file projects quite well.
Time to test the board! Plug the GPS and TX antennas and power the board. You need at least 6 volts for the HX1 version, and 9 volts for the MX146 version.
I have tested the HX1 version. If someone tries with the MX146, feedback will be very welcome!
And since a picture is worth a thousand words, take a look at this screenshot from APRS.FI and see how far this little HX1 can get. I'm successfully being digipeated by EA5ERC-15, which is an unbelievable 144.5 kilometers away! And I'm at sea level!