Posts | Comments

Planet Arduino

Archive for the ‘IDE’ Category

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. 

Arduino Create

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!

Arduino CLI

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.

The 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.

Arduino IDE

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. 

The classic Arduino IDE

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.)

The Pro Arduino IDE

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
  • Debugger coming soon!
    • 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)
  • Git Integration
  • Dark Mode
    • 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
  • Board List
  • Basic auto completion (Arm targets only)
  • Git integration
  • Serial Monitor
  • Black theme

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
  • Debugger
  • 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: 

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)

Arduino Pro IDE Windows v0.0.1-alpha.preview

Arduino Pro IDE OSX v0.0.1-alpha.preview

Arduino Pro IDE Linux v0.0.1-alpha.preview

So give it a go and let us know of any feature requests or bugs at: https://github.com/arduino/arduino-pro-ide/issues

For those of you who love and cherish the classic Arduino IDE, don’t worry it will continue to be available forever.

Hey Arduiners,

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!

Back in the olden days, when the Wire library still sucked, the Arduino was just a microcontroller. Now, we have single board computers and cheap microcontrollers with WiFi built in. As always, there’s a need to make programming and embedded development more accessible and more widely supported among the hundreds of devices available today.

At the Embedded Linux Conference this week, [Massimo Banzi] announced the beginning of what will be Arduino’s answer to the cloud, online IDEs, and a vast ecosystem of connected devices. It’s Arduino Create, an online IDE that allows anyone to develop embedded projects and manage them remotely.

As demonstrated in [Massimo]’s keynote, the core idea of Arduino Create is to put a connected device on the Internet and allow over-the-air updates and development. As this is Arduino, the volumes of libraries available for hundreds of different platforms are leveraged to make this possible. Right now, a wide variety of boards are supported, including the Raspberry Pi, BeagleBone, and several Intel IoT boards.

The focus of this development is platform-agnostic and focuses nearly entirely on ease of use and interoperability. This is a marked change from the Arduino of five years ago; there was a time when the Arduino was an ATmega328p, and that’s about it. A few years later, you could put Arduino sketches on an ATtiny85. A lot has changed since then. We got the Raspberry Pi, we got Intel stepping into the waters of IoT devices, we got a million boards based on smartphone SoCs, and Intel got out of the IoT market.

While others companies and organizations have already made inroads into an online IDE for Raspberry Pis and other single board computers, namely the Adafruit webIDE and Codebender, this is a welcome change that already has the support of the Arduino organization.

You can check out [Massimo]’s keynote below.

We’re excited to announce a new update to the Arduino Create web platform, which will enable fast and easy development and deployment of IoT applications with integrated cloud services on Linux-based devices.

What this means is that users will be able to program their Linux boards as if they were regular Arduinos. Multiple Arduino programs can run simultaneously on a Linux board and programs can communicate with each other leveraging the capabilities of the new open source Arduino Connector. 

Arduino Create Cloud now allows users to manage individual IoT devices, and configure them remotely and independently from where they are located. To further simplify the user journey, we’ve also developed a novel “out of the box” experience that will let anyone set up a new device from scratch via the cloud without any previous knowledge by following an intuitive web-based wizard

The initial release has been sponsored by Intel® and supports X86/X86_64 boards. As a reference implementation, a simplified user experience has been designed for the AAEON® UP² board, although other platforms are already supported by the Arduino Create Cloud platform, such as the Intel® NUC, Dell Wyse®, Gigabyte™ GB-BXT.

In the coming months, we plan to expand support for Linuxbased IoT devices running on other hardware architectures. Until then, you can find more information here and follow the tutorials below to help get you going:

 

Today we’re very excited (and a bit nervous) to announce the new development cycle of the Arduino IDE.

As you may have noticed, we’ve been continuously removing functionality from the Java package, and migrating them to a collection of external tools. We began this project by moving the build logic to arduino-builder, which now also powers the Arduino Create infrastructure.

We think that this split will keep the tools manageable, while giving a chance for third parties to integrate them into their products without the burden of a full-blown IDE.

Moreover, we are introducing another couple of tools:

One is arduino-cli, which we’ll uncover in the next few weeks as soon it comes out of pre-pre-alpha stage.

The other is arduino-preprocessor, which supersedes ctags in the sketch preprocessing phase. Moving to a different tool has been a necessary step for many reasons, the most important being the ctags’ limited parsing of complex C++ sketches.

arduino-preprocessor is based on libclang, statically compiled for zero dependencies execution; it uses clang’s superpowers to extract the prototypes we need, directly from the AST. As a (really nice) side effect, this engine can even be used for context-aware completion, probably the most required feature from the beginning of Arduino.

Since we’re unveiling such a big feature, it will surely impact the overall performance. To avoid keeping it out-of-tree for too long, we decided to open the beta branch.

This branch will be a playground for new ideas and implementations, including more collaborators with push powers. The branch has just been populated with all the IDE-related pull requests scheduled for the next release.

The beta branch is quite peculiar as well, because precompiled binaries generated from this branch will be available directly from the arduino.cc download page. We noticed that nightly (or hourly) builds are insufficient to spot a whole class of bugs, which may harm non-developers, users with non-latin charsets, and so on.

Being marked as experimental, the beta branch will not be ready for large-scale deployment (although it will probably be okay for everyday use); thus, we won’t provide a Windows exe or a signed OSX app. However, we hope that many people will test it and report bugs and impressions, so we can merge it safely into master in the near future.

A short curated list of the beta branch’s improvements over the latest 1.8.x IDE:

  • Initial support for autocompletion (activate it using CTRL+space)
    • Attention: Launching for the first time is quite slow and will freeze the UI. Don’t worry, simply wait for it to unstick.
  • Initial work on daemonized builder (using file watchers, will be able to spot if compilation can be avoided, partially or totally).
  • AVR core has been moved to its own repo.
  • Tabs are scrollable. 🙂
  • The serial monitor is html-aware and clickable (if steady).
  • Initial work on Library dependencies UI.
  • Initial work on Hi-DPI support on Linux.
  • Find/replace window is always on top of its own editor window.
  • Library/Board manager show buttons on mouseover.

In case you haven’t noticed, our team has just released Arduino IDE 1.8.5This time the changelog is fairly small, as it mainly solves a (rather important) problem being encountered by macOS users who just updated to High Sierra (10.13).

If you are not using English as system language, any version of Arduino you launch will lack the menu in the system bar. Every Java application is experiencing the same problem, so it will probably be solved by Apple in the near future.

In the meantime, IDE 1.8.5 recognizes when the menu bar is not being displayed and replaces it with a Windows-style one. It may not be the prettiest thing, but at least it works!

If you want to recover the old menu bar while keeping the whole system in your normal language, you can issue a single command on Terminal:

defaults write cc.arduino.Arduino AppleLanguages '(en)'

 

Thank @AdrianBuza for the workaround. Issuing this command will make Arduino IDE in English, however you can still change the language under “Preferences” without losing the macOS integration.

Arduino Create is now available to everyone on Chrome OS devices, with $0.99 per month subscription. An Arduino account and Google ID is all you need to use it, just follow the Create Getting Started guide on your Chrome OS device. We are actively working on specific licensing and pricing for schools, so stay tuned.

The new Arduino Create Chrome App enables students and other users to write code, access tutorials, configure boards, and share projects. Designed to provide a continuous workflow from inspiration to implementation, Makers can easily manage every aspect of their project right from a single dashboard.

Developed with the classroom in mind: The Arduino Chrome App allows you to teach and tinker with Arduino electronics and programming in a collaborative, always-up-to-date environment.

Built for Chrome OS: Code online, save your sketches in the cloud, and upload them to any Arduino connected to your Chrome OS device, without having to install anything locally. All the contributed libraries are automatically included.

The following Arduinos are currently supported: Uno, 101, Mega, Esplora, Nano (ATmega328), Micro, Zero, MKR1000, MKR Zero, MKR Fox 1200, Pro and Pro Mini (ATmega328). We are actively working with the Chromium team to restore support for the Arduino Leonardo in a future Chrome OS release.

The launch of this app would not have been possible without the following open source components:

As usual if you encounter any bugs, issues, or have an idea on how we can improve the Chrome app, please open a discussion thread on this Forum page.
Please note that this app will work only on Chrome OS, if you click on the Google Store link on any other OS you will not be able to install it.

If you were sad that Codebender had bit the dust, cheer up. A site called codeanywhere has acquired the online Arduino development environment and brought it back to life. In addition to the main Codebender site, the edu and blocks sites are also back on the air.

Not only is this great news, but it also makes sense. The codeanywhere site is a development IDE in the cloud for many different programming languages. The downside? Well, all the people who said they’d be glad to pay to keep Codebender alive will get a chance to put their money where their mouth is.

Here’s an excerpt from Codebender’s blog:

First of all, codebender will mostly remain the same. It will continue to operate as a standalone service, so you don’t have to change the way you are currently using codebender. However, it will transition to a monthly subscription service. This means that you will be able to use it for free for 1 month (as a trial, beginning on June 1st, or for the first month after registration), and it will then cost $10/month to keep using it. This is the price to pay for keeping codebender alive and sustainable, and it’s a small one, really.

Secondly, Codeanywhere intends to keep adding more and more features, the same way we have been adding features, libraries, and board support in the past few years. So you can expect codebender to keep improving with time, much as it did until now.

We have to wonder how many people will pay $120 / year to do something they can do for free. Mbed has support from ARM and offers a free IDE. Maybe a better deal with Codebender would have been with Atmel or Arduino. Not that we are opposed to charging for services, but we imagine a lot of people will just use free tools unless they have a strong use case for using a cloud-based service.

We covered Codebender’s short-lived demise back in October of last year.


Filed under: Arduino Hacks, news


  • Newsletter

    Sign up for the PlanetArduino Newsletter, which delivers the most popular articles via e-mail to your inbox every week. Just fill in the information below and submit.

  • Like Us on Facebook