Every time before I start a new project, I’m wondering how I can optimize the process to build something with Arduino.
The secret to building an Arduino project faster and with minimum resources is to use a large variety of additional tools. In this area, I can include tools such as development tools, simulators, emulators, libraries, and, of course, inspirational example and tutorials.
The Arduino community is large and spread around the world. All these makers and hackers love the Arduino board and are willing to build a large variety of tools, libraries, and a lot more instruments to build various projects with Arduino. Arduino is a development platform for hobbyists, students, designers, and for everyone who is trying to build something intelligent.
In this article, I explore a large variety of tools and resources compatible with Arduino. More than that, these tools improve your efficiency and make you spend less time and money on your project.
Arduino examples and tutorials
You can feel the power of Arduino, only if you build something with it. Below is a list of tutorials and examples for the Arduino microcontroller.
- Memsic 2125 Accelerometer – this is a simple tutorial from where you can learn how to interface a sensor and interpret the values from the sensor;
- Interfacing Arduino from Processing – this tutorial is a good source to learn how to interface a large variety of electronics with Arduino. This tutorial is for makers who are already familiar with uploading sketches, writing and compiling Arduino code ;
- Line Following Robot Tutorials – this article includes tutorials to build a line follower robot using Arduino and different types of sensors;
- Arduino Tutorials – Chapter 30 – twitter – this tutorial explains you how to use the Arduino board to send plain text tweets;
- LiquidCrystal – “Hello World!” – this is a good start to learn how to use Arduino libraries;
Some of the most important tools to development Arduino applications are already available in the Android development section. Some of these tools are also available in this list. Even so, you have to give a special importance to several other development tools designed to help you with the development and application debugging.
- Eclipse – what could be more beautiful than a free and full-featured development to develop and debug code easily. These are several tutorials to start the installation and preparation of your development environment– link 1, link 2;
- Codebender – this is an online development tool for Arduino. Having online features, the platform provides support for collaboration and code sharing between users;
- MonoDevelop – this is a multiplatform IDE with support for operating systems including Linux, Windows and Mac OS X. About programming, you can use languages such as C#, Visual Basic.Net, C/C++, or Vala;
- Arduino VB Lab – the Arduino VB Lab is a GUI based tool for Arduino custom control interface. The user can add buttons, images, etc., and start control the Arduino board from the PC. Another important feature is the possibility to add data from sensors in a SQL Server database;
- QP Development Kits for Arduino – this is a C++ compatible development kit designed to plug directly into the Arduino IDE, while the QP/C++ framework is available to develop programs in minutes;
- MRPT – the MRPT platform provides a applications and libraries for C++ languages;
- VisBee – this is a user-friendly visualization system designed to build custom HMI and SCADA applications;
- Arduino Visual – visual is the key element in this development tool that can run on Linux or Windows;
- Seriality – based on web communication, Seriality is a browser plug-in that allows you to design applications able to communicate via web pages with electronic devices;
- Dataino – fully compatible with Arduino boards, Dataino is an online-based database creator from where the Arduino can write and read data;
- Visual Micro – plug-in for Visual Studio Pro and Atmel Studio with ability to provides a USB debugger for Arduino;
- Geany – this is a simple and user-friendly integrated development tool with GTK2 toolkit support;
- Processing 2 – this is an open-source programming language and an IDE designed to learn and prototype with Arduino. In other words, Processing is a tool with more than 100 libraries available for Linux, Mac OS X, or Windows;
- AVR Studio and MeguinoLink – this is a monitor, logger and a plotter tool fully compatible with Arduino libraries. The tool includes features like auto-complete, class browsing or project management;
- Arduino OPC – a flexible tool to connect your prototypes to industrial software;
- ArduinoDashboard – this is an application that allows you to monitor in real-time the values from analog and digital pin sensors interfaced with an Arduino board;
- Firmata – with support for Linux, Windows and Mac OS X, Firmata allows you the communication between microcontrollers and software on a host computer;
- Bitlash – the perfect programmable command shell tool for Arduino;
Arduino emulators and simulators
Without making confusions, there is a clear difference between an emulator and a simulator. The simulators use a digital model to analyze and study the project while the emulators use a digital model that replicates the usage of the original device or a system. In the following, are available a series of tools that uses the Arduino boards in digital form.
- Emulino – this is one of the first emulator available for the Arduino, and is one of the most used tools to replicate the Arduino boards;
- Emulare – a fully compatible Arduino emulator designed for Windows systems;
- Virtual Breadboard – complete simulator and emulator environment designed to simulate and emulate embedded applications that use microcontrollers ;
- Simavr – a very popular tool able to simulate AVR devices. It has support for Linux system or any other platforms that run AVR-GCC;
- AVR Simulator IDE – compatible with a long list of AVR’s, this simulator is the powerful tool with GUI for Windows users that need a simulator, emulator, compiler, assembler, and debugger;
- Simuino – last time released in a new version in 2012, Simuino is a simulation tool with EEPROM library support and available as a terminal or web version;
- Free Arduino simulator for Ubuntu – this is a simple simulator with support for Linux Ubuntu;
- Simulator for Arduino v0.99 – this tool makes what a simulator should do. It can test a sketch without hardware presence, or it can debug and develop an Arduino sketch ;
- Arduino Simulator – Learn and DIY Safely – Arduino is now available on iOS devices, but only in digital form. This Arduino simulator can run on iOS devices with at least the version 5.1. It’s compatible with iPhone, iPad, and iPod touch ;
- Arduino Simulator – an Arduino simulator for Android devices. It has a simple interface able to introduce beginners or experienced users in the Arduino world ;
Arduino Starter Kits
A maker or hacker uses an Arduino Kit for commodity and to build faster. More than that, for many users an Arduino kit is the first contact with this prototyping device, and perhaps it makes sense to use one of these kits since it has the wires and components ready to work under Arduino commands.
Next, you can click on the most popular Arduino kits for beginners and with educational purposes. You have in one box sensors, actuators, etc., in general, you have all you need to learn how to control electronics with the Arduino microcontroller.
Without a driver, you can communicate with the Arduino. Since the board has to be connected to several PC’s that runs Windows, Linux, or Mac OSX, you have to use one of these drivers to make your system compatible with Arduino.
- Getting Started w/ Arduino on Windows;
- Installing Arduino on Linux;
- Installing Arduino on Linux Mac OS X;
- MODBUS Slave;
A library is a hidden tool that makes things works easily with the Arduino microcontroller. These collections of Arduino library have well-defined interfaces and compatible with a specific programming language.
- Libraries – a long list with libraries that add extra functionality for Arduino. The microcontroller can work with a large variety of hardware parts or manipulating data;
- Ethernet library – this is a library that allows you to build an Internet connection with Arduino;
- PID Library – one of the most common library used to read and control analog I/O;
- Arduiniana Streaming – a library that covers a wide range of streaming operations ;
- Arduiniana TinyGPS++ – this library covers the position, date, time, speed and many other information provided by the GPS module ;
- CmdMessenger – a messaging library for Arduino. The library manages the send and receive commands, write and read multiple arguments, or write and read all primary data types;
- PyMata – this is a library to interact with Standard Firmata written in Python;
- Eigen – a library that covers linear algebra operations including matrices, vectors, numerical solvers, and related algorithms;
- butterflUI Project – graphical user interface to monitor sensors and control actuators interfaced with the Arduino microcontroller;
- Columbo Simple Serial Library – with support for Linux, the Columbo Simple Serial Library is an easy to use serial port communication library;
- Wiegand – the Wiegand interface the electronics device with a keypad or card reader ;
- Drone 2 – useful library for a quadrotor drone that allows you to interface gyro sensor, receiver and servos ;
- SimPlot – a tool to monitor data from a microcontroller in real-time;
- TortoiseSVN – this Apache Subversion (SVN) client can be implemented as an windows shell extension ;
- Upload-And-Retrieve-Source – with this tool, you can use easily the code sharing website GitHub;
This list of Arduino tools and resources is open, and I’m waiting your comments to complete the list.
This article was last modified on 31 March 2015.