As everyone have different requirements, you can either buy an Arduino board and its wide variety of shields (the add-on board that sits on top of Arduino boards) or make it yourself in a DIY way by buying the ingredients like ATMEL AVR chip (with Arduino bootloader), resistors, capacitors, LEDs, hook up wires, sensors and of course the breadboard.
Buying the Arduino board and the ready made shields have its advantage as you can just focus on what you are trying to achieve, programming the board, making a data logger, controlling robots, expensive thermometers without worrying about soldering, electronic components, and parts with different voltages and connectors. Buying it would be more expensive but you do not need to worry about parts not working as most of the shields are usually tested and have the library to support it.
Some of the more interesting Arduino shields like LCD shields, motor shields, colour LCD shields, LED Matrix shields and proto shields. The proto shields are blank board that you can make your own shields
by soldering electronics parts and sensors on top of it.
The second option is to make your own parts, for example I made a LCD module by buying the LCD module, solder 16 header pins, hook it up with some jumper cables to monitor the light from a Light Dependent Resistor(LDR). Well, the function is the same but it looks a little bit messy.
|Arduino with LDR and 2x16 LCD module|
After trying out a few other sensors like LM35 temp sensors and LDR , I went a step further and ordered an ATMEGA 328 chip (with Arduino bootloader) and make my own Arduino on a breadboard for a fraction of the price of the Arduino board. I did my research from scratch on what to do, what parts to buy, from the voltage regulator, the ATMEGA 328 pinouts to decoupling capacitors.
|Arduino on breadboard with MAX232|
This is the finished Arduino on a breadboard, the total cost is only a fraction of an Arduino board. I have an existing USB-Serial adaptor and breadboard, so it would cost much less for me. The only thing I need to solder was the DB9, RS-232 female connector to connect to the MAX232 serial chip. The setup is very similar to older Arduino serial board like the Freeduino Serial below.
Update : I've rearranged the MAX32 chip to be nearer to the ATMEGA 328 Rx/Tx pins and added a 2x16 LCD Module with some extra space on the breadboard for adding in sensors and speakers.
|Arduino on breadboard with Sharp IR sensors and LCD module|
For the breadboard above, I have a Sharp GP2D12 ( 10cm - 80cm) IR range sensors with a sketch to display the distance of the sensors and trigger an siren via the speaker when a predetermine range is reached. This is a standalone application without the PC or the USB port. It takes power from 7.5V to 12V power adapter.
Comparing to the first picture with Arduino Duemilanove, breadboard and LCD module, my breadboard version look so much neater with less jumper cables crossing over to each other. Besides the Atmel ATMEGA 328 chip with Arduino bootloader, all the other parts are easily found in Kuala Lumpur, Malaysia.