Arduino started around 2005 as a project to make it inexpensive and easier for students, and others, to add sensors and actuators to their projects. It built on other projects- most notably processing and wiring, and strove to make the world of programmable electronics accessible to a much wider audience.
Although there has been some controversy around the project at various times, it has succeeded in making programmable electronics accessible to many, at very reasonable costs.
The key features of Arduino are:
- built on an industry standard programming language (C++)
- added a standard set of APIs (functions) that are easy to understand
- provides a straight forward program structure:
- named pins and functions in a (fairly) standard fashion
- created some standard electronics boards and accessories
- created an IDE (integrated development environment) that is easy to install, and takes care of all the moving pieces
- flashing (updating the board with new code)
- distributing projects and examples
Originally it only worked with Arduino’s own boards, based on the AVR ATMega chips, but being both open source and a good idea, the community has created a plethora of boards, and ported it to many different microcontrollers.
The community has also made a huge array of extra hardware (sensors, actuators, communications, …) and software libraries to make them easy to use.
Arduino & Espressif
Espressif created a very low cost WiFi module called the ESP8266. Their intention was that it would be added to other microcontrollers, like the Arduino, and used as an "dumb" WiFi "modem." However the community soon realized that it was more powerful than the usual Arduino AVR microcontrollers, and Arduino was hacked to run directly on the ESP8266. Instead of trying to block this, Espressif decided to support it.
This is probably one of the biggest reasons for the explosion of ESP8266 based projects and products- most inexpensize IOT devices, e.g. WiFi controlled lightbulbs, are ESP8266 powered.
The ESP32 is a more advanced and capable chip from Espressif that is well supported by Arduino.
Support the the ESP8266 and ESP32 are included by default in Arduino IDE version 2.
Arduino & Heltech
Heltech has created a range of interesting combination modules, and have added support for Arduino.
They’ve made it very easy to get up and started, but with two caveats:
- they’ve copied other open source projects, modified them, and protected parts with a "license key"
- Arduino IDE v2 includes it’s own versions of some of the things that Heltech adds for their boards