Why Arduino are not used extensively in WSN

Just wondering, though it is so powerful and open source, why Arduino has not been used extensively in WSN (Wireless Sensor Network)? Very few of the implementations I have seen which used Arduino, whereas TelosB or MicaZ are almost with same capacity, are being used everywhere? Is Arduino not as flexible as those options or there are some other reasons?

This WSN ? http://en.wikipedia.org/wiki/Wireless_sensor_network

I think that the Arduino and those wireless sensors have grown into different directions. It could easily be the other way around. The Arduino uses modular shields, like the XBee for example. When the Arduino team would put all effort from now on in wireless sensors with cheap wifi modules (e.g. the 3 dollar ESP8266), I'm sure it will become very popular. But the Arduino team is also busy with more processing power with ARM processors.

The Arduino is often used for Internet_of_Things, so wait 2 years, and you will see wireless sensors with Arduino all over the place 8)

mashoif:
Just wondering, though it is so powerful and open source, why Arduino has not been used extensively in WSN? Very few of the implementations I have seen which used Arduino, whereas TelosB or MicaZ are almost with same capacity, are being used everywhere? Is Arduino not as flexible as those options or there are some other reasons?

Depends on what you mean by "powerful".

If I want to calculate a big spreadsheet, an Arduino isn't going to do it.

If I want to build an interface between a 3 axis gyro and gimbal actuators to keep my rocket flying upright, an Arduino will do great (my big PC won't fit in the rocket and it doesn't run on 9 volts).

The Arduino is a microcontroller as opposed to a microprocessor.

Think of it this way: A microprocessor is a brain. A microcontroller is a brain with arms, legs, eyes, ears, etc... it can do actual, physical things as opposed to just "calculating".

If I need to read a few sensors, scale the data and apply the result to some other device, the Arduino is perfect... a high speed bazillion megaflops processor with a heatsink is NOT the solution to that problem.

Make sense?

Peter_n:
This WSN ? http://en.wikipedia.org/wiki/Wireless_sensor_network

Yes I meant Wireless Sensor Network (Edited and sorry!) :stuck_out_tongue:

I think that the Arduino and those wireless sensors have grown into different directions. It could easily be the other way around. The Arduino uses modular shields, like the XBee for example. When the Arduino team would put all effort from now on in wireless sensors with cheap wifi modules (e.g. the 3 dollar ESP8266), I'm sure it will become very popular. But the Arduino team is also busy with more processing power with ARM processors.

So you mean there is a bright future! But why do you think people/researchers chose expensive tools like TelosB/MicaZ instead of Arduino at the first place. I mean the modular shields sounds flexible to me (Probably have to configure the XBee separately), I can put any sensors I want with much lower price and having almost same processing and memory?

Thank you very much for your thoughts.

Krupski:
If I need to read a few sensors, scale the data and apply the result to some other device, the Arduino is perfect... a high speed bazillion megaflops processor with a heatsink is NOT the solution to that problem.

Make sense?

Thanks for your input, and that makes me wonder if it is that compatible why more works in Wireless Sensor Networks areas using it are not happening?

mashoif:
that makes me wonder if it is that compatible why more works in Wireless Sensor Networks areas using it are not happening?

Because most of those Wireless Sensor Networks are commercial projects. You might well use an Arduino to build your own, but a company marketing them is likely to use whatever system suits their development team (with some significant consideration to costing as well).

Krupski:
If I want to build an interface between a 3 axis gyro and gimbal actuators to keep my rocket flying upright, an Arduino will do great (my big PC won't fit in the rocket and it doesn't run on 9 volts).

And I think as you get into more precise control than just keeping it pointed into a general direction, you will need to upgrade to something faster like Raspberry Pi or Beagle Bone Black that has more memory and support for floating point in hardware.

MichaelMeissner:
And I think as you get into more precise control than just keeping it pointed into a general direction, you will need to upgrade to something faster like Raspberry Pi or Beagle Bone Black that has more memory and support for floating point in hardware.

Well, the point I was trying to make really was the difference between a microprocessor and a microcontroller.

For example (rockets again LOL!) most everyone says “my calculator has more memory than the Apollo (moon rocket) guidance computer”.

True, but the AGC was a microcontroller. It had many (MANY) input and output ports. It read data from all different kinds of sources, made calculations, scaled data and generated the necessary outputs.

It wasn’t fast, but it didn’t need to be. Taking a modern CPU and trying to use it in the same manner wouldn’t work (without a lot of add-on hardware).

If you need computing and number crunching power, one type of computer is used. If you need to CONTROL things (especially control things that dynamically change and have a lot of different data sources) then a simple, slow microcontroller is the best choice.

You don’t need a 3+ gHz. quad core processor to ask “are the wheels skidding? if yes, activate ABS, if no, check again”. A little AVR is a much better choice.

mashoif:
Thanks for your input, and that makes me wonder if it is that compatible why more works in Wireless Sensor Networks areas using it are not happening?

I’m not sure “compatible” is the right word here. The Arduino (i.e. AVR microcontroller) and the Motorola 68HC11/12, the PIC, the 8031 and several other similar devices are microcontrollers, meant to… control things.

That’s different from a high speed, high power microprocessor that is typically part of a general purpose computer that is programmed as-needed to do any one of millions of different kinds of tasks.

A microcontroller becomes part of a system, is programmed to do it’s job and, aside from upgrades or updates, runs the same code all it’s life.

A wireless sensor network could most probably use a microcontroller. The designer has a choice of many different chips. It’s quite possible that certain products do indeed use an AVR microcontroller inside.

The Arduino is not something that you would use to build a mass produced production product. It’s a custom board that gives you all of the connections to access the pins of an AVR microcontroller and then you do what you want with it, either as a hobbiest or as a tool on the bench to test your hardware design.

For example, you may be an engineer designing a new product. You might use an Arduino (with an ATMEGA328p microcontroller) to build and test your PROTOTYPE (hardware and software).

Then when you were done you would design the PRODUCTION circuit board that had just the bare 328P chip, wired to the same pins that your prototype used and running the same code.

People would say “your product doesn’t use an Arduino”, but it does use the HEART of an Arduino.

Make sense?