Arduino is a company that produces open source hardware and software used to control micro controllers. Most of the Arduino, or Arduino-like, hardware you find will use one of the various Amtel Atmega and Attiny microchips. These chips vary in size, shape, number of pins, flash memory, cost, PWM (pulse width modulation) channels, timers and more. The software is a mixture of C and C++ programming languages.
Arduino boards are typically used for simple, repetitive tasks. Keep in mind these are not full blown computers. Typically, you would select the hardware you would like to use (lights, servos, led displays, temperature sensor, valves, etc) and program how you want the micro controller to handle the input and output.
Arduino has reduced the learning curve and added error correction with programming microchips for prototyping your projects.
Raspberry Pi vs Arduino
I’ve heard the argument that a Raspberry Pi is better than Arduino because it is basically a small ARM based Linux computer with input and output pins. I disagree with this completely. The Pi has it’s purpose but it can be outdone by the Arduino in many cases because you can purchase and use ONLY the components you need. A great example is that you would like to build a solar platform to follow the sun. All that would be needed is a cheap Arduino board, some servos and a photo-resistor. It will use less power, provide better reliability and be more cost effective.
The Raspberry Pi is a small computer that comes with video, audio and USB input/output. Arduino is only use one main component, the micro-controller. The Raspberry Pi uses 200-700 mA under different uses while the Arduino only uses a few millamperes. I’ve found projects on the internet that use only the Atmega chipped programmed using Arduino software that can run for years on a single battery.
There are many different types of devices that can be programmed by Arduino. The list of devices that can be programmed with Arduino is longer than the Wiki found here.
The most popular board is the official Arduino Uno and it is currenlty listed for $22 at the Arduino store. I recommend starting with this board as it is the most capable to test and learn with. As you learn, I recommend keeping this board available so you can test and purchase a specific board that will meet your project’s needs. There are a ton of pins that can be used for both input and output. The ~ beside the pin number indicates that it is PWM capable (typically used for servos).
The next board is a Chinese variant know as the NodeMCU. This board can be purchased for as little as $3 and is half the size of an Uno and is Wi-Fi capable out of the box. I was able to host a webpage from this device and connect an LED that could be controlled remotely. You could connect a relay and use it to power devices on and off.
The Digispark is uses the ATtiny microchip and is roughly the size of a quarter. The Digispark pro actually has built in Wi-Fi. Chinese variants can be found for as little as $2 online. You will have limited inputs/outputs and the programs that you upload will be limited in size but the advantage is clear. These are a no-brainier for small compact projects that only require a few pins.
It is possible to build your own board and program the ATtiny85 in a stand alone project using an Arduino Uno. I actually programmed one of these chips to control a MAX7219 Led display kit that I bought on eBay for $1.50 shipped. See the video below if you’re interested.