Version reviewed 1.8.8 / 1.9.0 beta on: 12 Mar 2019
Arduino is an open-source electronics platform that makes it easy for makers, manufacturers, hobbyists, and others to create a range of smart devices and electronic products.
Arduino boards are circuit boards that can read inputs such as button presses or light changes, and then turn those into output - starting a motor, making a sound, or displaying something on a screen.
The board will contain a microcontroller and this is the element that will be programmed using the Arduino programming language (based on wiring) through the Arduino Software IDE (integrated development environment).
The platform has risen in popularity over the years in order to become one of the most popular tools for creating simple electronic devices, and has reached the point of being an industry standard. Its open source nature, shallow learning curve, and versatility makes it the heart of countless affordable products and fun projects. Today it is used in wearable technology, 3D printing, and IoT (Internet Of Things).
How it Works
Arduino is in many ways programming at its purest and this makes it an excellent learning tool for schools and those getting into electronics/computer science.
A microcontroller is device that incorporates a microprocessor, which in essence works via a number of switches. These switches work by holding a little charge and can be either in an 'on' or 'off' position, thereby changing the direction of current.
This in turn allows for the use of basic logic circuits which can 'translate' to 'IF', 'OR', or 'AND'. Two parallel circuits for instance can create an 'OR' statement as if either circuit is 'on', then the circuit will still be complete. Likewise, a single circuit with a switch in the way will be an 'IF' because it the outcome will only be positive if the switch is on. And 'AND' statement would be represented by two sequential switches, where both need to be ON in order for the circuit to complete itself.
Rather than manually changing charge and switches, being able to program the microprocessor using a user-friendly display (the IDE), adds a layer of abstraction that makes it much simpler for users to define the behaviour of their products.
An IDE is basically a single piece of software that incorporates all the things you need in order to create working software. That means it will help you to edit and understand the programming language, while gaining access to APIs and libraries that you might need. You'll also be able to compile, run, and debug the programs all from that interface.
Download the IDE and connect your Arduino board to your PC and you should be able to begin programming. Arduino programming is not drastically different from languages like C# or Java. You still have methods (small groups of code that can be called at any point in your program) but you will put a lot of your programming in loops which will continuously execute until something changes.
You also need to consider the added 'physical aspect' of your programming. You have pins here for the input and output, and rather than instructing certain things to happen, you are rather directing the flow of current while needing to think about how this will look from the user's perspective.
While it might sound daunting, it is well worth experimenting with the world of Arduino programming. It's deceptively simple to get to grips with, and once you do, you will open up a huge world of possibilities. If you can think it, you can build it!
Arduino is a novel piece of software that helps you to write code for microcontroller and microprocessors on a Windows, Mac or Linux machine and upload it to your favorite board. These Arduino boards are completely compatible with the Arduino software and provide an effective means to create programs to control your own robots or any other automatic equipment.
The main reason of using Arduino is that it makes it super easy to write code in any platform, using its own software and upload it to their own boards that are perfectly in sync with the software. Therefore, you save a lot of effort to make your code work with varieties of vendors and their boards.
- It gives you installers for Windows, which comes in two varieties, that is, Admin and Non-Admin.
- There is a separate installer for Mac OS X supporting Lion and newer versions.
- The installer for Linux machines comes in two varieties, that is, 32 bit and 64 bit systems. The installer works across all flavors of Linux OS, majorly.
Arduino is completely open source and is open for redistribution, development and addition from other sources. It majorly consists of APIs that works in sync with all of its boards regardless of their make and model.
- The community provides hourly build to Arduino that covers bug fixes and other additions contributed by them voluntarily. The current release is Arduino 1.6.x and is always under hourly update.
- You can also download the previous releases, that is, the classic Arduino 1.0 or Arduino 1.5.x version.
The source code is hosted on GitHub and is under active development by the community. You also have the instructions to build the code from the source code on the website. This is recommended only for developers who want to modify certain aspects of the build.
There are a large number of things to get started with, like the resources at their website. They are divided into four categories, that is, Getting Started, References, Playground and Examples. If you want to start learning Arduino, you can always find help from their Forum and rich community support, even from third parties. They also have a complete section dedicated to Support from actual developers.
Arduino boards are pre-designed microcontroller and microprocessor boards with many other features. Arduino is the software intended to work with them.
Changes on the new version: [ide] * Fixed: command line parsing of version parameters when installing cores/libraries * Platform indexes are now downloaded using https * Fixed: on some newer linux distributions, NPE when loading GTK look-and-feel without libgtk2 installed * MacOSX: added touch bar support * MacOSX: do not exit app after closing last window * Fixed: serial monitor timestamps not always printed. Thanks @nitram509 * Kill active programmer if still alive after closing last IDE window * Fixed: "Export compiled binary" now works also with unsaved sketches * Improved automatic port re-selection after upload * Added scroller to "INCOMPATIBLE" examples menu [wifi-firmware] * Added firmware upgrade for NINA-based boards