Arduino Shield on R3 baseboard
There are hundreds of different shields available that provide varied projects like robot controllers, relay outputs,
plant monitoring projects and many more. If someone has already done something similar, then you can just buy the shield
and your project is virtually done. As they are open source, PCB files are usually available for free Eagle software. There are
prototype shields that allow you to make your own circuit. Theoretically, you can
stack shields on top of each other but in practice you get problems with conflicts as they use the same pins and really
need to be designed together.
Arduino Software
The software is an open source development environment, written in Java that can run under Linux, MAC or Windows.
It runs a simple programming language called
Wiring, which makes it faily easy to write scripts to make the
microcontroller carry out tasks. These scripts are called
Sketches by Arduino. Most shields come with sketches
already written that can be loaded in to the software, compiled and downloaded to the base board.
These scripts are a very simplified form of C, with a setup function for initialisation and a main function that
runs code repeatedly.
Advantages and Disadvantages of Arduino
It is very good for carrying out a specific project you may have in mind, especially if you can find the right shield
but it doesn't teach you much about microcontrollers and the AVR in particular. For quick results, it is great but
it won't help you learn microelectronics or programming.
Advantages
- Not much knowledge required to get started
- Fairly low cost, depending on shields you need
- Lots of sketches and shields available
- No external programmer or power supply needed
Disadvantages
- No understanding of the AVR microcontroller
- Sketches and shields can be difficult to modify
- No debugger included for checking scripts
- You get no experience of C or professional development tools
Arduino Alternative
Arduino is excellent for carrying out a specific microcontroller project, especially if the same or a
similar project has already been done. However, it is a bit like painting by numbers as you actually learn very little.
If you want to understand microcontrollers and how to program them, you need a microcontroller course that will cover
all the basics. This includes things like microcontroller layout, logic, numbering systems and program planning.
Once you have covered the basics, assembly language teaches you about the AVR (or PIC) microcontroller and its
peripherals like serial ports, buses and ADC. The next step is to move on to C programming as this is the best language
for real development. This involves more work than grabbing an Arduino but you will be in a better position to design and
develop your own projects once you have a better understanding.
Kanda produce microcontroller learning kits for both PIC and AVR microcontrollers, going back to 1995 so we know what we are doing.
These kits include books, sample code, guides and hardware including a full AVR board or PIC board, debugger and programmer
to load and test your code.
Blog Post - What is Arduino