Posts | Comments

Planet Arduino

Archive for the ‘cli’ Category

To say it’s been another challenging year would be an understatement, but it’s reassuring to see that the top 10 Arduino blog posts of 2021 show us that makers have persevered, undaunted.

As we sprint headlong into 2022 with hope for a return to normality (whatever that might actually look like!) we wanted to cast an eye back over the Arduino blog. These are the top posts from 2021, which prove that you can’t keep good maker down.

The Arduino community has been creating some of the best projects we’ve ever seen. It’s also exciting to note that it’s been another year when newcomers have taken up the electronics hobby. The presence of Arduino software posts in our top 10 Arduino blog posts of ‘21 suggests lots of people have been getting into the Arduino scene.

Learn how to build your own massive 3D-printed CNC router

If you want an affordable option, this guide shows you how to build Ivan Miranda’s 3D-printed CNC machine design.

Announcing the Arduino IDE 2.0 (beta)

It was a great day when the famous Arduino IDE reached version 2.0 in March of 2021.

Hacking a USB battery bank to gather telemetry

Keenan Johnson needed more info for a new project and so he hacked a USB battery bank to gather telemetry.

The new Arduino CLI 0.19.0 is out and better than ever!

This release delivered tons of great enhancements, exciting new features and heaps of bug fixes.

Arduino MKR IoT Carrier: Control what you want, how you want to!

By popular demand, we were pleased to announce in early 2021 that it’s possible to buy the Arduino MKR IoT Carrier.

Cascading LED stair lights prevent late night tumbles

Stephen Gidge and his roommate could have installed a new hall light, but they were both experienced with Arduino and so they created these cascading LED star lights instead.

One board to rule them all: History of the Arduino UNO

With the UNO Mini Limited Edition flying off the shelves, we took a heartfelt look at the history of its inspiration, the ubiquitous UNO.

The Arduino Nano RP2040 Connect is here

The first Arduino board to include Raspberry Pi silicon arrived in 2021, to much fanfare.

Arduino Cloud now supports ESP32 devices

Support for ESP32 devices (on top of existing support for ESP8266) became available on the Arduino IoT Cloud in May, 2021. A huge step forward in bringing IoT devices of all kinds together.

Introducing the Arduino UNO Mini Limited Edition: Pre-orders now open

Even though it only launched a couple of weeks ago, the Arduino UNO Mini Limited Edition announcement is one of the most viewed pages this year.

Happy New Year from all of us at Arduino!

The post Top 10 Arduino blog posts of 2021 appeared first on Arduino Blog.

There’s a truckload of news from the Arduino Tooling Team today: Arduino CLI 0.19.0 is now available! This release has tons of great enhancements, exciting new features and heaps of bug fixes. Some things required quite a bit of breaking changes but they’re worth the hassle.

The highlights of this release are certainly the addition of pluggable discovery and the internal restructuring of the startup steps of the Arduino CLI. These affected the JSON output of some commands and the gRPC interface functions, which is documented in the upgrading guide.

We’re really excited about the release of the pluggable discovery. This new feature will give platform developers the possibility to support more and more boards (such as the Teensy), and also new ways of uploading to boards, like via WiFi, Bluetooth, SSH, CAN bus and anything that comes to mind! If you’re a platform developer and want to know how to start supporting pluggable discovery take a look at the updated platform specification documentation.

The internal restructuring is also no small thing, it makes the Arduino CLI much more resilient to errors. For example, if the user added an invalid or unreachable package index URL, Arduino CLI would previously be completely unusable. After this change, a warning is shown to notify the user of that failure and other functionality of Arduino CLI is unaffected. And last but not least this change greatly improves other tools as well, in some tests we managed to slice in half the startup time of the Arduino IDE 2.0!

There are some breaking changes that only affect those that use the Arduino CLI code as a Go library. These were the result of improvements to the internal structures that store information about Sketches, and to the support for different languages. 

As always, all breaking changes are documented in the upgrading guide. You will find the complete changelog here!

The post The new Arduino CLI 0.19.0 is out and better than ever! appeared first on Arduino Blog.

Arduino Libraries Submissions process update

Arduino library submissions have a new, easier and more transparent workflow.

Libraries are one of the pillars of the Arduino ecosystem. At time of writing, more than 3,780 open source libraries are available to perform any kind of task. This includes communication with external components and using algorithms for data processing. Such a variety of shared building blocks helps achieve things quickly without the need to write low-level code.

Beyond the official libraries maintained by the Arduino team, most are contributed by the community. Anyone can submit a new library for inclusion, provided it meets the specification and passes the Arduino Lint checks.

Note: Did you know you can run the tool locally to check the compliance status of your current libraries?

A new Arduino library submissions process

We’re happy to announce that the submission process for community libraries has been refactored. The goal is making it leaner, more automated and more transparent. Previously you would open an issue on the Arduino IDE repository for the Arduino team to handle the request manually. Instead, we’ve now established an official GitHub repository containing the library registry.

Submitting a new library is now as simple as opening a pull request to that repository. Then you add the URL of the library’s repository to the list. A bot performs automated checks and, when passed, the request will be merged immediately. Within one day, the new library will be listed in the Arduino library directory. It’ll also be made available within the IDE, the Arduino CLI command line tool and the Web Editor. The Arduino team will still be monitoring the process in order to fight abuses and to provide assistance.

After a library is indexed, new versions are automatically detected and published (if compliant). So nothing changes for existing libraries and no action is required. See the repository documentation for more details about the new process and join the discussion in the forum to provide your feedback.

Subscribe to the Arduino newsletter so you don’t miss any other exciting developments!

The post New workflow for Arduino library submissions appeared first on Arduino Blog.

Need to quickly toggle or read some logic signals without the hassle of writing a quick program? [Thor_x86], aka [Eric], built an Arduino sketch that does just that — and he threw in the ability to send (or receive) serial messages, too. This is a neat idea — kind of a simplified Bus Pirate.

We should warn you that this is an early release, and there are a few minor issues which we are sure [Eric] will iron out soon. We discovered the function strtol() was misspelled in cmd_send.cpp, and there are some configuration #defines which need to be sorted out in file parsePin.cpp, depending on which Arduino module you are running. We got it running on an Arduino Leonardo the quickest, because it has support for Serial1().

Don’t be discouraged by these glitches in this rev 0 deployment — [Eric] has really made quite a nice tool here. Check his GitHub repository for updates (or submit corrections yourself). All in all, it’s a good addition to your digital tool box. On a completely unrelated note, we really like [Eric]’s USB cable with the right-angle micro connector, grungy though it may be.

Besides the standard tools like Bus Pirate, GreatFET, FTDI modules, etc., are there any similar tools you like to use for bit banging and serial testing? Let us know in the comments below.

This article was written by Silvano Cerza from the Arduino Tooling Team.

Big news from the Arduino Tooling team: The new Arduino CLI version 0.16.0 has been released!

You can now use arduino-cli core list –all to return all installed and installable platforms, including those installed manually in the Sketchbook hardware folder.

We also have a breaking change to mention:

7e1ff323 [breaking] Fix export binaries binding not working in gRPC interface (#1171)

It’s in the CLI gRPC interface, so command line users should not be affected! You will find all the details in our handy upgrading guide.

You can see the complete changelog here.

In our last post, we told you that the Arduino CLI’s primary goal is to provide a flexible yet simple command line tool with all the features and ease of use that made Arduino a successful platform, and enable users to find new ways of improving their workflows. 

The Arduino CLI is not just a command line tool, but contains all you need to build applications around the Arduino ecosystem.

For example, you can:

  • Parse the JSON output of the CLI and easily integrate it into your custom application.
  • Run the CLI as an always-on service that accepts commands via a gRPC interface using your language of choice.
  • Use the CLI in your Go application as a library.

In the video below, we’ll focus on how to start using the Arduino CLI in a terminal session. The tutorial will walk you through setting up all the required tools on your machine to the fastest way to compile and upload a sketch on your target board to allow quick iterations in developing your project with Arduinos.

Arduino now has an officially supported command-line interface. The project, called arduino-cli, is the first time that the official toolchain has departed from the Java-based editor known as the Arduino IDE. You can see the official announcement video below.

Obviously this isn’t a new idea. Platform IO and other command-line driven tools exist. But official support means even if you don’t want to use the command line yourself, this should open up a path to integrate the Arduino build process to other IDEs more easily.

The code is open source, but they do mention in their official announcement that you can license it for commercial use. We assume that would mean if you wanted to build it into a product, not just provide an interface to it. This seems like something Arduino expects, because a lot of the command line tools can produce json which is a fair way to send information to another application for parsing.

The command line interface doesn’t just build a sketch. You can do things like install and manage libraries. For example, to create a new sketch:

arduino-cli sketch new HackadayPgm

You can update the installed platforms, list the connected boards, and search for board support:

arduino-cli core update-index

arduino-cli board list

arduino-cli core search mkr1000

If you don’t already have the board support, you can install it and verify that it is there:

arduino-cli core install arduino:samd

arduino-cli core list

That last step will give you the FQBN or unique name for the core. So to compile and upload you have this mouthful:

arduino-cli compile --fqbn arduino:samd:mkr1000 Arduino/HackadayPgm

arduino-cli upload -p /dev/ttyACM0 -fqbn arduino:samd:mkr1000 Arduino/HackadayPgm

Unlike, say, PlatformIO, this is clearly better for building into a tool, even if it is a makefile. We’d like to see a .build.json file or something that allows you to just issue short commands that do the right thing in a working directory. Of course, you could build that with a little shell scripting. Hmm….

It is nice to see the release of an official method and we hope this will lead to more editors being able to handle Arduino seamlessly.

Arduino now has an officially supported command-line interface. The project, called arduino-cli, is the first time that the official toolchain has departed from the Java-based editor known as the Arduino IDE. You can see the official announcement video below.

Obviously this isn’t a new idea. Platform IO and other command-line driven tools exist. But official support means even if you don’t want to use the command line yourself, this should open up a path to integrate the Arduino build process to other IDEs more easily.

The code is open source, but they do mention in their official announcement that you can license it for commercial use. We assume that would mean if you wanted to build it into a product, not just provide an interface to it. This seems like something Arduino expects, because a lot of the command line tools can produce json which is a fair way to send information to another application for parsing.

The command line interface doesn’t just build a sketch. You can do things like install and manage libraries. For example, to create a new sketch:

arduino-cli sketch new HackadayPgm

You can update the installed platforms, list the connected boards, and search for board support:

arduino-cli core update-index

arduino-cli board list

arduino-cli core search mkr1000

If you don’t already have the board support, you can install it and verify that it is there:

arduino-cli core install arduino:samd

arduino-cli core list

That last step will give you the FQBN or unique name for the core. So to compile and upload you have this mouthful:

arduino-cli compile --fqbn arduino:samd:mkr1000 Arduino/HackadayPgm

arduino-cli upload -p /dev/ttyACM0 -fqbn arduino:samd:mkr1000 Arduino/HackadayPgm

Unlike, say, PlatformIO, this is clearly better for building into a tool, even if it is a makefile. We’d like to see a .build.json file or something that allows you to just issue short commands that do the right thing in a working directory. Of course, you could build that with a little shell scripting. Hmm….

It is nice to see the release of an official method and we hope this will lead to more editors being able to handle Arduino seamlessly.



  • 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