Things has been pretty quiet lately on Rocket Scream camp lately. This is because we are working around the clock to bring up new products. Apart from working on the open source PID controller with Brett Beauregard, we are finishing a few products which we hope will be on the shelf very soon. We always wanted to make the best possible products and kinda stay away from the FISI philosophy. So, it takes some time for us to release anything although at times certain products went for 5 revision but yet to be seen on the shelf.
We had always wanted to make a GSM-GPRS-GPS and data logging shield for Arduino. We knew from the beginning that on top of a reliable hardware, the shield needs an easy to use accompanying library. So, off we go starting to source for GSM-GPRS modules and GPS modules of various brands.
We are fortunate enough to have work with several brands of GSM-GPRS module in the past and we know which works better than others. Very good modules that we have worked with in the past includes those from Telit, Siemens (now called Cinterion), and Wavecom (now called Sierra Wireless). One of the major requirement includes the availability of embedded TCP-IP stack on the module and good supporting documents from the manufacturer. We also wanted to stay away from any module that requires a board-to-board connector which reduces the reliability, increases cost and adding manufacturing steps. And being a low power freak, we wanted them to be as low power as possible. We wanted everyone around the world to be able to use them across different GSM band, so having a quad band GSM-GPRS module is a must feature. After hours and hours of researching and testing, we ended up with Sierra Wireless WISMO228 GSM-GPRS module.
Moving on to the GPS module, things that we look at includes the chip set, sensitivity, number of channels, update rate, and antenna. We have thoughts of getting one with an embedded patch antenna but soon realized that some people might want to keep everything inside an enclosure. So, an external antenna would probably more suitable in this case. We ended up with Globalsat EB-3531 SiRF III GPS module as we knew how reliable the bigger brother EM-406A was and how widely it is being used.
Constraint by the size of a typical Arduino Uno/Duemilanove shield, we had to ensure we managed to get every features we wanted in and at the same time having a proper PCB layout for the RF components. We provide quite an amount of flexibility on the shield and here are some of them:
- Works with 3.3 V & 5.0 V Arduino boards.
- Available to work with high voltage input. We include a 2A high efficiency step down switching regulator that allows you to use voltage as high as 36V with very minimal heat dissipation.
- Can be powered directly by a Li-Ion battery.
- Flexible UART line selection:
- Choose from Arduino’s D0 & D1, D2 & D3, D5 & D6 as RX and TX pin. You can even interact directly with the WISMO228 module through the PC (bypassing the Arduino).
- RTC coin cell battery backup for GSM-GPRS module. Instead of adding an external RTC chip, you can use the internal RTC available on the WISMO228 module. Our 3V CR1220 coin cell on our prototype unit is still running strong after more than 3 months and the clock is maintained as accordingly.
- GPS hot start battery backup. EB-3531 hot start is a typically 1 s and a back up battery is needed for this feature.
- GPS PPS signal available for accurate timing purposes.
- Both GSM-GPRS module and GPS module can be turned off to save power.
- On-board SIM card and microSD combo connector.
- Proper ESD and transient protection for SIM card. Nothing is as bad as a zapped SIM card.
- Sending & receiving SMS.
- Opening and closing GPRS connection.
- Sending email through SMTP server.
- Perform HTTP GET request to a server.
- Perform ping on a server.
- RSSI parameter inquiry.
- RTC setting and reading.
- Turning on and off the GSM-GPRS module.
There are few more functions that we have yet to implement such as performing HTTP POST request to a server, Tweeter integration and Pachube integration (we are falling in love with Pachube!). We hope we will be able to get those up too. In order to illustrate an example of performing a HTTP GET request (we are not talking about pulling down a page from a server!) to a server, we written some simple examples (PHP scripts, yes we picked up PHP scripts! ) to illustrate this and set up a server to allow users to test out. HTTP POST request example will follow shortly. We’ll announce the test server address once the shield is up for sale. The library has been tested with Arduino IDE 022 & 023. We are currently testing them out on the new Arduino IDE 1.0 before releasing them in the wild.
We have a few more shields and modules in the making that we hope to push them out by year end. At time of writing this, the TraLog shield is in the procurement stage and final checks on the design! We hope we can finish assembling and testing the 1st batch before Christmas. And we’ll post some images of the final PCB before production once they are here. Time to fired up that Reflow Oven Controller!