So here it is! Courtesy of Dangerous Prototypes Dirty PCB service, I have been able to put together and complete the testing of the first prototype of my very own location based development board. So lets talk about what you’re looking at. The board is a 4 layer PCB of dimensions 50 x 68 mm. The populated board has a maximum thickness of 9 mm. I considered using a 2 layer board, but the ground planes would not have been large enough and the substrate was too thick for the micro strip trace to the antenna to be of a realistic width. The microcontroller is running an Arduino Boot loader and the board is pictured on 7mm standoffs that are attached using M2 screws. Below is the in depth overview of the device. On the topside of the PCB, working top to bottom, the device consists of:
- Penta-band GPRS/GSM/EDGE/HSPA/CDMA Antenna
- Antenna Matching Circuit
- Micro SIM Card Holder
- uBlox SARA-G350 GSM/GPRS Module (2.5G)
- Netwok Status Indication LED
- Standard Arduino LED
- Micro SD Card Holder
- uBlox CAM-M8Q GPS Module & Embedded Antenna
- Mini-B USB Connector
- F234XD USB-UART Controller
- Voltage Regulation
- Li-Po Battery Charging Controller via USB
- JST Connector for Battery
- Assorted Passives
On the bottom of the PCB, working top to bottom, the device consists of:
- Additional Voltage Regulation
- 3x Expansion Ports that use FFC Ribbon Cables
- ATMega2560AU Microcontroller
- Logic Level Converter
- Assorted Passives
With the overview complete, I thought I’d move onto some of the things I have been able to undertake with the device. The firmware I have running on the device currently takes in the GPS data from the serial UART, processes it on board, establishes a GPRS connection, and then carries out a GET Request over HTTP to place that GPRMC data into a mySQL database using a PHP script. I can then log onto an online application and view the location of the device in real time. Furthermore this device will carry out this task anywhere in the world with a cellular connection. This is a much more attractive method than Wi-Fi or Bluetooth where range becomes an issue. The location is displayed using google maps, as shown in the application screenshot below.
The board acts like any other Arduino, building upon that easy to use and powerful framework that is particularly inviting for new users. Too commonly I see pictures of people who have created complex circuits involving GPS Modules, SD Cards or GPRS Modules ect and they all have one thing in common. They are either very messy and fragile with wires running everywhere, often consisting of large areas of breadboard, and they are bulky. An Arduino Mega and a shield or two in terms of electronics is gigantic, far from pocket sized. With my device you pack an abundance of functionality, allowing you to fulfil all of your development needs into an incredibly small embedded solution that is ready to go. Simply plug it into your computer and start writing code to make use of all of the integrated on board features which are well documented with code samples. I really think that in terms of cellular communications for the hobbyist, there is a gap and this development I am hoping will be able to fill it.
There are also a series of expansion boards which I have produced to work with the device.
Let me know what you think in the comments.