Arduemetry is an Arduino-compatible board which is meant for telemetry applications. This is my first venture into custom PCB design around the Arduino platform. Board specs:
- ATMega328 MCU
- All Pins broken out to headers
- Special sockets for GPS, SRB MX146LV, and XBee radios
- uSD socket for data logging
- PWM headers for servos
- Solid-state relay
- Designed for 3.7V LiPo batteries
- 3.3V LDO regulator and 5V boost converter with selectable inputs/outputs
- Size: 3″ x 1″
Some pictures:
I needed to add this here for my own sake so I didn’t have to keep referring to the schematic/layout while I’m doing software development:
| TQFP Pin | ATmega Port | Arduino | Function | Arduemetry | Function |
|---|---|---|---|---|---|
| 29 | PC6 | Reset | /Reset | RESET | /Reset |
| 30 | PD0 | Digital 0 | RX | RXD | Hardware Serial RX |
| 31 | PD1 | Digital 1 | TX | TXD | Hardware Serial TX |
| 32 | PD2 | Digital 2 | GPIO | SRXD | SW Serial RX/PTT |
| 1 | PD3 | Digital 3 | GPIO/PWM | STXD | SW Serial TX/MOD |
| 2 | PD4 | Digital 4 | GPIO | POWER | GPS Power/LED |
| 9 | PD5 | Digital 5 | GPIO/PWM | PWM0 | PWM Channel 0 |
| 10 | PD6 | Digital 6 | GPIO/PWM | PWM1 | PWM Channel 1 |
| 11 | PD7 | Digital 7 | GPIO | RELAY | Relay Control |
| 12 | PB0 | Digital 8 | GPIO | READY | MX146 Ready Input |
| 13 | PB1 | Digital 9 | GPIO/PWM | PWM2 | PWM Channel 2 |
| 14 | PB2 | Digital 10 | GPIO/PWM | SS | SPI SS |
| 15 | PB3 | Digital 11 | GPIO/PWM | MOSI | SPI MOSI |
| 16 | PB4 | Digital 12 | GPIO | MISO | SPI MISO |
| 17 | PB5 | Digital 13 | GPIO | SCK | SPI SCK |
| 23 | PC0 | Analog 0 (D14) | Analog In | ADC0 | ADC Channel 0 |
| 24 | PC1 | Analog 1 (D15) | Analog In | ADC1 | ADC Channel 1 |
| 25 | PC2 | Analog 2 (D16) | Analog In | ADC2 | ADC Channel 2 |
| 26 | PC3 | Analog 3 (D17) | Analog In | ADC3 | ADC Channel 3 |
| 27 | PC4 | Analog 4 (D18) | Analog In | SDA | I2C SDA |
| 28 | PC5 | Analog 5 (D19) | Analog In | SCL | I2C SCL |
| 19 | ADC6 | Analog 6 | Analog In | ADC4 | ADC Channel 4 |
| 22 | ADC7 | Analog 7 | Analog In | ADC5 | ADC Channel 5 |
This mapping is applicable to my V2.0 board. The V1.0 board had SRXD/STXD to Digital pins 3/4 and an LED is on Digital pin 2. Everything else is the same.
Below are schematic and PCB images. The Cadsoft Eagle files and Gerbers can be downloaded here: Arduemetry V1.0 Arduemetry V2.0 XBee Inventeksys GPS. If you are interested in the components used, here is the bill of materials. Also, here is the firmware I used for testing out APRS functionality using the Trackuino code and libraries: Trackuino Firmware






Is it possible for you to post your code?
Chris-
Yes, I’m working on cleaning up my code and will release a complete package with different example uses for my hardware. Most of the code I use is attributed to others and it will be commented as such. Right now I’m more interested in making a good hardware platform that I/others can write whatever necessary code for it depending on what it’s used for.
Thanks for your interest!
Paul
Sounds great and looking forward to the code
Any updates on the code?
Chris-
Are there any specific functions you would like to see implemented in the code? The board can do so many things so I just wondered if there were certain features you’d like to see firmware for.
Looking at the APRS code from the Trackdunio project, EVERYTHING is in the “.h” files. I have not worked on editing code in those type of files and would like to work on moving some of that stuff into the PDE file (IE: All the config information). Just wanted to look at your code to see if you had made any of those type of changes. Then I plan to expand the sensors for temp, current, voltage, etc.
So I have the code from the trackunio site running on my Arduino and attached to the radio. Radio keys up and using another radio can hear the TX. Using a APRS base station, i’m testing decoding the packets and that’s a no go. So i’m not sure if it’s an issue in the code, timing or hardware….
Chris-
I have posted the firmware I used to get APRS going. It is the Trackuino code organized as a .pde with libraries. You will have to adjust the pin definitions accordingly depending on which PWM output you use. I changed some settings in the modem.cpp file as well as the config.h file in the libraries folder. For my setup, I am using a serial GPS along with the MX146 radio on a 3.3V/8MHz Arduemetry board. For your testing, does the modem audio as received on the other radio sound like other APRS stations? Also, I ran into a problem when I used the NewSoftSerial library along with the Trackuino code. Interrupts from the NewSoftSerial library break the modem output. Once I disabled that, the modem audio came out right and the APRS packets were decoded properly.
It sounds like I need more volume, otherwise it sounds about right on another radio. Right now I’m using a Kenwood TH-79A radio, so I had to change the PTT from LOW to TX to HIGH for TX on that radio. So I’m starting to think there may be an issue with feeding the audio to this radio. I don’t have connectors for my Yaesu HT radio to use it as a TX test… Thank you for posting the code.
I suspect I’m over driving the radio audio in, so I will see what happens after i adjust that.
Do you have any idea where to get an SRB-MX146? Argent Data doesn’t have them in stock and says they’re apparently having problems making them. Or, if I can’t find that, any suggestions for a replacement radio? Thanks much.
The only places I know of to get the radios are from Argent Data and RPC Electronics (http://www.rpc-electronics.com/). Both places seem to be out of stock right now though.