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
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:
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:
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:
BT using HC-05 module
WiFi using the TinySine (Roving Networks module) shield