Arduino Communication Technologies (Bluetooth, GSM/GPRS & WiFi)

Arduino Comm Technologies

Im using a Sim900 module I got from SainSmart.  It basically looks like this:

Arduino - SIM900 GSM_GPRS module Santiapps Marcio Valenzuela
Arduino – SIM900 GSM_GPRS Module
Arduino - SIM900 GSM_GPRS module Santiapps Marcio Valenzuela
Arduino – SIM900 GSM_GPRS Module

Its important to understand something in Arduino-world!

Arduino is a brand and as such, it makes branded products.  But there are a bunch of other companies that do similar things.  The same way you can get an arduino-like board from a bunch of other manufacturers, you can also get a bunch of add-on modules or shields from other manufacturers as well.
In my case, I have an original Arduino UNO/MEGA board:
Arduino_MEGA Santiapps Marcio Valenzuela
Arduino_MEGA
But I decided to go with a cheaper, TinySine WiFi shield.  That TinySine WiFi shield has a WiFiBee module on top of it.  That WiFiBee is the name TinySine gave its little module that it plopped on top of a shield.  But the WiFiBee module actually uses a WiFly from Roving Networks.  So you can see how this can get confusing.
It gets specially confusing because Arduino also has its own WiFi shields.  And they have their own examples online.  So you may find yourself trying to use an Arduino sketch or tutorial (on a web site or youtube) on a module on top of a shield that is not an original Arduino shield.
Here is what my WiFi-module shield looks like:
Ardiuno - WiFiBee Module Santiapps Marcio Valenzuela
Arduino – WiFiBee Module
So wait…modules, shields, boards…wth!
Your board is your Arduino or arduino-like board, the main board with the micro-controller chip on it.
A shield is usually a smaller board you plop over your main Arduino board.  It has fixed pins on it that fit nicely into your Arduino board.  The pins must match for these to work.  Thats why its important to make sure that if you are buying a WiFi or BT or GSM shield for an Arduino, to ask or research if that shield fits an Arduino UNO or an Arduino MEGA or anything else.  Otherwise, the nicely made pins wont fit nicely over your board.  It will still work but you will have to get a breadboard or use a bunch of cables to make the jump between fixed pins on the shield and fixed pins on the main board.  But the shield is still just a shield.  Its main purpose is to hardwire connections from a module that performs some task, to your Arduino board, using fixed pins.
A module is usually something that resides on a shield which is responsible for some specific feature, such as WiFi communication.  Those modules usually have their own micro-controller(s) to carry out their own logic and interface with your Arduino board via the shield.
The shield is basically just another board that has some hard-wired cables in a board.  Anybody can make a shield.  You can buy a module and a proto-board and make your own shield.  It’s usually easier to just buy a shield or use a module directly, as we will see in this case.
In the picture of the WiFi module you can actually see it all come together:
Ardiuno - WiFiBee Module Santiapps Marcio Valenzuela
Arduino – WiFiBee Module

The board on the bottom is actually an Arduino UNO board (smaller than the MEGA).  You can see the silvery USB port sticking out on the top left and the black plastic power jack on the bottom left.  The board itself is green colored.

Just over that you can see the TinySine WiFi shield in blue color, right above it.  Its pins stick right into the Arduino UNO board below.

Finally on top of the shield you can see the red colored board which contains the Roving Networks’ WiFly module.  Unfortunately you can’t see it because it is facing down.  We are only seeing the underside with all the solder points.

In my next post Ill talk about my experience with all three comm technologies:

  1. BT using HC-05 module
  2. WiFi using the TinySine (Roving Networks module) shield
  3. GSM/GPRS with the Sim900 module

See ya!

Arduino

Arduino Engineering
Arduino Engineering

So the perfect evolution from mobile device programming is arduino/microcontroller programming.

It’s basically moving from controlling software to controlling hardware.  Ever feel like coding apps is cool but you wish they could actually move things?

I started off with a basic arduino kit with motors and leds.

Arduino Engineering
Arduino Engineering

Of course I started out with the:

– LED blink (on-board)

– LED blink with breadboard

I went a little crazy and my head overflowed with ideas for projects.  I even made Arduino Pancakes!  Very tough btw.

Arduino Engineering
Arduino Engineering

 

Pretty soon I was getting shields and sensors, motors, displays and a soldering iron.

Arduino Engineering
Arduino Engineering

I quickly moved onto:

– LCD display

– DC motor

– Servo Motor

Arduino Engineering
Arduino Engineering

Then I started looking into making the base for a robot that would have red eyes like ultra (just saw the avengers) and voice recognition, mobility and cloud connected.  I started getting into RMF values for motors and then I decided to hack an old RC my kid had.  I figured how to make the wheels go and turn and I was set.

Arduino Engineering
Arduino Engineering

I moved on to the sensors.  I got a Grove shield and sensors for:

– Temperature and Humidity

– Light and UV

– CO2 and NO

– VHOCs

– Dust

Arduino Engineering
Arduino Engineering

At this point I got sidetracked into learning:

– Bluetooth HC-05

– TinySine WiFi shield

– Sainsmart GSM/GPRS SIM900

Arduino Engineering
Arduino Engineering

This is where I got a better grip on:

– Serial Communication (Hardware vs Soft)

– Software libraries

– Shields and their components

So I learned to configure the WiFly module (component in the TinySine Wifi Shield) and how to use the GPRS module.

I even had to throw in a little Android:

Android Engineering
Android Engineering

I must confess I did impulsively buy a SainSmart OLED display. I may add it to the robot in the future but it was really overkill.

So my “robot” will have mobility, data collection and wireless communication capabilities.  If I could just make it fly!

Arduino Engineering
Arduino Engineering