We’ve all become familiar with the Arduino ecosystem by now, to the point where it’s almost trivially easy to whip up a quick project that implements almost every aspect of its functionality strictly in code. It’s incredibly useful, but we tend to lose sight of the fact that our Arduino sketches represent a virtual world where the IDE and a vast selection of libraries abstract away a lot of the complexity of what’s going on inside the AVR microcontroller.
While it’s certainly handy to have an environment that lets you stand up a system in a matter of minutes, it’s hardly the end of the story. There’s a lot to be gained by tapping into the power of assembly programming on the AVR, and learning how to read the datasheet and really run the thing. That was the focus of Uri Shaked’s recent well-received HackadayU course on AVR internals, and it’ll form the basis of this Hack Chat. Then again, since Uri is also leading a Raspberry Pi Pico and RP2040 course on HackadayU in a couple of weeks, we may end up talking about that too. Or we may end up chatting about something else entirely! It’s really hard to where this Hack Chat will go, given Uri’s breadth of interests and expertise, but we’re pretty sure of one thing: it won’t be boring. Make sure you log in and join the chat — where it goes is largely up to you.
Click that speech bubble to the right, and you’ll be taken directly to the Hack Chat group on Hackaday.io. You don’t have to wait until Wednesday; join whenever you want and you can see what the community is talking about.
In an age of streaming media it’s easy to forget the audio CD, but they still remain as a physical format from the days when the “Play” button was not yet the “Pay” button. A CD player may no longer be the prized possession it once was, but it’s still possible to dabble in the world of 120 mm polycarbonate discs if you have a fancy for it. It’s something [Daniel1111] has done with his Arduino CD player, which uses the little microcontroller board to control a CD-ROM drive via its IDE bus.
Wow! Another release just after two weeks, you ask?
Well, we fixed some serious bugs related to the compiler, and more importantly, we had to take a step back with respect to the transition to the new Java Virtual Machine from OpenJDK. Since we had received so many reports from our users, we decided to do a release with the old JVM in order to have a bit more time to properly handle those issues and at the same time guarantee a better experience to our users.
Last weekend we announced that we’re working on the new Arduino Pro IDE and we got a huge response! Let’s take a deeper look at what is in store.
Here are the choices you have to develop code from Arduino today — some you might know, others you might not — and how they paved the way for a brand new IDE.
The quickest way to get started developing for Arduino today.
A simple, modern web app version of the Arduino IDE — with boards and libraries available without needing an install. Just open your web browser, head to create.arduino.cc/editor to get started.
In the creation of the new Arduino Pro IDE, we chose to build on the Theia framework. As Theia is based on Electron, using web technologies, it allows us to unify the front-end development work and user experience between the web-based Arduino Create and the Arduino Pro IDE desktop application. Magic!
Designed for power users; everything you need from the command line.
Arduino CLI is a single binary command line solution that provides builder, boards/library manager, uploader, discovery and many other tools needed to use any Arduino compatible board and platforms. You can include this in Makefiles or use it to add Arduino support to whatever development flow you prefer. Whether you use Atom, Eclipse, Emacs, Vim, VSCode, or are even building your own tools, Arduino CLI makes this possible. You can try it today at arduino-cli.
Arduino CLI is already hard at work in the backend of Arduino Create enabling day-to-day development for over one million users. The daemon mode support and gRPC interface means the User Interface doesn’t even need to be running on the same machine as the Arduino CLI — this opens the potential for remote build and deploy to Linux machines such as Raspberry Pi. Third party boards are also supported today through a configuration file. The backend of Arduino Pro IDE is also based on Arduino CLI, naturally.
A simple classic.
The simplicity of the classic Arduino IDE has made it one of the most popular in the world — with over 15 millions downloads per year. If you want to develop code for Arduino and prefer not to use the online tool Arduino Create you can get started today by downloading the classic Arduino IDE application.
We felt it was very important to maintain continuity with this look and feel in the Arduino Pro IDE. For this reason it has a mode identical to the classic Arduino IDE that millions of you are familiar with — the difference being if you want advanced mode, you have that too!
Arduino Pro IDE
More features for advanced users (still in development).
Which brings us the upcoming Arduino Pro IDE! This is a product still in development, but we’ve opened up the alpha binary so early users can try it out and give feedback – the source code will be released at a later date. Because it is not yet ready for production release you must expect bugs and unimplemented features. (If you just want to get your Arduino project running, we’d recommend Arduino Create or the classic Arduino IDE for now.)
However, if you want to be the first to try it and give us feedback to help shape the product as we develop it, please give it a try! The preview is already available for Windows, Linux and Mac OSX.
Initial feature list
Dual Mode; Classic Arduino look and Pro (File System view)
The tool only reveals advanced features when you need them
Modern fully featured development environment
Modern look, multi-panel IDE with integrated file system view
Designed for developing larger, multi-file, repository-based projects
Set breakpoints, view trace, step through execution and much more
Debug your application without affecting timing with a Serial.print()
Open to third party plug-ins and boards coming soon!
Add third party boards, libraries and IDE function plug-ins
Support for additional languages other than C++coming soon!
Exactly what it says, and it’s going to be exciting!
New Board Manager, Library Manager and Serial Monitor
All the features you expect in a cleaner more modern environment
Basic Auto Completion (Arm targets only)
Easier on the eyes
That’s all for now
We’ve been working to improve our tools and give the community choices that fit their way of working – be that web-based, desktop application or command-line. The Arduino Pro IDE builds on these to bring something new — we’re excited to share the alpha preview with you and look forward to your feedback!
Live from Maker Faire Rome on Saturday, October 19th at 16.00 CET, Massimo Banzi and Luca Cipriani will push the button to release the new Arduino Pro IDE (alpha) — watch this space.
The hugely popular Arduino IDE software is easy-to-use for beginners, yet flexible enough for advanced users. Millions of you have used it as your everyday tool to program projects and applications. We’ve listened to your feedback though, and it’s time for a new enhanced version with features to appeal to the more advanced developers amongst you.
We are very excited to be releasing an “alpha” version of a completely new Development Environment for Arduino, the Arduino Pro IDE.
The main features in this initial alpha release of the new Pro IDE are:
Modern, fully featured development environment
Dual mode, classic mode (identical to the classic Arduino IDE) and pro mode (file system view)
New Board Manager
New Library Manager
Basic auto completion (Arm targets only)
But the new architecture opens the door to features that the Arduino community have been requesting like these that will be following on soon:
Sketch synchronisation with Arduino Create Editor
Fully open to third party plug-ins
Support for additional languages than C++
The new Arduino Pro IDE is based on the latest technologies as follows:
Arduino CLI used in daemon mode is providing all the main Arduino features.
Available in Windows, Mac OSX and Linux64 versions; we need your help in improving the product. Before releasing the source code to move out of the alpha, we would greatly appreciate your feedback. Like all things in the Arduino community, we grow and develop together through your valued contributions. Please test the Arduino Pro IDE to it’s breaking point, we want to hear all the good and bad things you find. We’re open to recommendations for additional features, as well as hearing about any bugs you may find – there’s bound to be a few as it is an alpha version afterall!
Versions(released from 16.00 CET on Saturday, October 19th)
Today we are releasing IDE 1.8.10 and you should try it because it’s awesome! With the support of our incredible community, we’ve been improving a lot of (small and not so small) things.
Besides taking a look at the complete changelog, we’d like to point out one outstanding contribution that we received during this dev cycle.
Our friend Joe Wegner from APH reached out to us with a very clear plan on how to improve the IDE’s accessibility with some very convenient patches. With the help of co-founder Tom Igoe and ITP alumnus and research resident Jim Schmitz, we’ve started targeting some of the most problematic components that used to interact badly with screen readers (popups, links, lists not entirely navigable by keyboard) while also adding a plethora of accessibility descriptions to components that were basically hidden for blind and visually impaired users.
To keep things clean, Wegner added a checkbox under Preference panel to enable some particular optimizations for screen readers (like transforming links into buttons so they can be reached using the TAB key).
We hope it is the start of a lasting collaboration to make Arduino truly available for everyone willing to learn and hack with us.
The holidays are over and we’re back at work, so it’s time to clean up the house. To get ready for autumn, our amazing dev team has decided to devote an entire week to resolve as many of the open issues on the Arduino IDE repository and related projects (cores, libraries, etc.) as possible.
Starting this Monday, the dev team will be going through the open issue log — analyzing requests, fixing them where immediately possible, and in some cases, reaching out to the original submitter to establish if they are still seeing an issue or if it can be closed out. If you do receive such a notification in your GitHub account (with a subject starting with [arduino/Arduino] …), please help us help you by responding accordingly.
Big thanks to all of you who’ve contributed in the past and continue to submit the issues you find within the Arduino IDE for resolution. We appreciate your support and acknowledge your patience while waiting for them to be fixed.
Let’s watch that open issue counter fall by the day!