IOT: Thinking about the Hardware for the Pumpkinduino, part 3
Previous: IOT: Pumpkinduino UML, part 2 | Next: IOT Pumpkinduino Part 4 |
So what embedded device should I use in the Pumpkinduino? (The pumpkin is shown to the right, lights not shown because they are weak little things and I used a flash.)
- An Arduino Nano with a radio?
- An UNO with a Bluetooth Shield or similar on it?
- Spark.IO WiFi capable?
- The LightBlue Bean with it’s Bluetooth capabilities?
- Or the Galileo with it’s big processor, high energy use, heat issues and a Bluetooth Arduino Shield on it?
Here is my engineering trade-off table, you might want to create a similar table for your choices, prices are for Amazon, except for Spark and LightBlue Bean:
Device | Pros |
Cons | Price (single unit) | Bluetooth Radio |
Arduino Nano/Micro | Small | Not popular | $12 | $5 |
Arduino Uno | Lot of people have it | Large | $23 | $5 |
Spark.IO https://www.spark.io/ | WiFi programmable | Must add bluetooth | $39 | 0 |
LightBlue Bean https://punchthrough.com | Bluetooth Programmable | Doesn’t meet my requirement of Win Phone interfacing | $25 | 0 |
Intel Galileo | Powerful CPU | Board size | $49 | $5 |
For now I will be using the Galileo, using Visual C++ mainly for no good reason except that it is the newest brightest thing on my desk right now. Also, since I am exploring the use of the Visual Studio Online tools, the use of Visual C++ simplifies some of the work. In a real production run for a seasonal device like the pumpkin the Nano or similar would be used instead.
If you are working with a team, you would have a team meeting, maybe standing up instead of being seated to speed up the meeting, and discuss which device to use. I would then have to justify why the company should use the most expensive, highest powered, but most powerful as a CPU compared to the other devices. It is likely that the team would disagree and we would go with the 8-bit device, or better the Spark.IO because it can be easily reprogrammed through the internet.
Since I am not a member of a design team, I have decided to use the Galileo for these reasons, which would fall apart in the real world quite quickly, especially if I was the team lead:
- I have the Galileo
- It is using Embedded Windows
- The software is built using the Visual Studio tools I am use to
- I can manage the design construction using Visual Studio Online
Clearly, I could use Visual Studio with the Arduino’s by making some modifications to the VC++ in Visual Studio per https://playground.arduino.cc/Code/VisualStudio (at least for Visual Studio 2010). The Arduino code can be managed using Visual Studio Online.
But I bought the Galileo board and I plan on using it and making it happen even if I have to build 20 battery packs to power it. And if I have time or change my mind I am going to use a regular Arduino like an UNO. Which I will wish I did.