“It’s strange. Usually people buy Arduino”, said a seller to another in from my favorite electronic shop in Vancouver. I wanted to buy several chips and a board for development called LaunchPad (MSP-EXP430G2). This board allows to program MSP430G2xx microcontrollers in DIL packages from Texas Instruments and it is definitely not an Arduino compatible board.
This situation illustrates the problem: lots of developers still try to choose the right board between Arduino “Something”, Raspberry Pi, Netduino, Qualcomm DragonBoard 410C and so on. But all of these boards (except Raspberry Pi which is a small computer) are prototyping development boards that help developers not just create their own prototypes but program different kinds of microcontrollers. So, if you still wonder how to choose the right micro board, probably, that is a wrong question. A better question is: how to select the right microcontroller?
Microcontrollers are exactly what you can find inside any electronic device, and in fact a microcontroller is a fully functional microcomputer that contains all necessary things inside such as analog to digital convertors, several kinds of memory, abilities to upload custom program logic and so on. You can see several microcomputers from different companies below:
So, if you want to run Blink project, all that you need is a couple of transistors and resistors, a LED and a microcontroller. You don’t need any Arduino, Netduino or any other board. You can solder all components directly or use a breadboard and that’s it.
Of course, if you only have a chip, you will have some questions such as how to deploy your own code to the microcontroller and how to use C programming language (at least). In order to address these questions, chip manufacturers provide special development boards, advanced compilers and lots of examples in order to help you build your own devices. Once you select the right microcontroller, you will find the right prototype board. But you will use it in order to deploy and test your code for the microcontroller but not for distribution your solution in production, where you will develop your own board for $2-5 but not for $30.
To get additional information, I would recommend to visit several web sites of microcontroller manufacturers:
- Texas Instruments – produces lots of 16 and 32 bits microcontrollers based on RISC architecture. The simplest development board costs about $10 only;
- Microchip – produces 8, 16 and 32 bits PIC microcontrollers based on RISC architecture. You can find PICKit 3 programmer on eBay for $12 only. The cheapest official board costs about $20;
- STMicroelectronics – their microcontrollers based on ARM architecture are used in Netduino project but native tools are a little bit expensive;
- Atmel – their chips are used in Arduino compatible boards. They produce 8 and 32 bits chips based on RISC architecture and some ARM based microcontrollers. The simplest development boards cost about $10;
Visiting these web sites, you can find thousands microcontrollers with different abilities. In next articles I am going to show how to work with some of them.
Finally, what about Arduino and Netduino? In fact, when we are talking about Netduino and Arduino, we talk not just about boards but about open source hardware and software platforms. So if you are OK with using the supported microchips, you can easily use Arduino or .NET Micro Framework platforms for your projects. Because these platforms are open source and there is a great community around them, you can simplify the development process using the existing software libraries and schemas. Additionally, these platforms are the best way to start working with IoT without knowledge in electronics.