Arduino IDE Becomes More Open, Less Snarky

Version 1.6.4 of the Arduino IDE has been out for a little while now, and it has a couple of notable changes. To our eyes, the most interesting change makes adding support for non-standard boards and their configurations within the Arduino IDE a lot simpler. We’ll get into details below.

unnamedBut before that, it’s time to bid farewell to the cheeky little popup window that would deliver a warning message when using a board bearing the USB IDs of their former-partner-turned-competitor. We absolutely agree with [Massimo] that the issues between Arduino SRL / Smart Projects and Arduino LLC are well-enough known in the community, and that it’s time for the popup to fade away.

Now on to the meat of this post. The new “Board Manager” functionality makes it significantly easier for other non-Arduino products to be programmed within the Arduino IDE. Adafruit has a tutorial on using the Board Manager functionality with their products, and it basically boils down to “enter the right URL, click on the boards you want, download, restart Arduino, bam!”

The list of unofficially supported third-party boards is still a bit short, but it includes some stellar entries. For instance, Adafruit has provided the files needed for the ESP8266, which recently received the Arduino treatment. This means that you can simply point your IDE at Adafruit’s URL, and it’ll set you up with everything needed to develop for the ESP8266 from within the comfy Arduino IDE.

Another standout, from our perspective, is this link that simplifies programming bare AVR chips from the Arduino IDE. While programming your Arduino code into a simple AVR ATmega168 has always been possible, it’s never been as easy as it is now.

How it Works

Under the hood, the new board manager system is pretty straightforward. Clicking on one of the links leads to a JSON file with any number of board architecture definitions. Each entry provides text descriptions of the target board that are used for generating menu entries in the Arduino IDE’s pulldown menus, and a link to a zip file. This zip file contains everything necessary to adapt the Arduino libraries to the target board or chip.

For instance, with something simple like the bare-AVR modifications, the zip file simply includes the boards.txt and platform.txt files that the Arduino IDE uses to fill in a lot of board-specific parameters like the CPU clock speed, fuse bit settings, and AVRDUDE command options for flashing new code. For something more involved, like porting Arduino to the ESP8266, the zip file additionally includes the ported Arduino core and library functions, as well as the uploader tools that make Arduino work on that target.

It’s a very interesting experiment to open up the Arduino IDE so transparently to third-party devices. It’ll surely win points with both hackers and retailers of *duinos, and we’re guessing it’ll only encourage porting the Arduino libraries to more platforms. Let’s see where the community takes this one. What do you want to see Arduino ported to next?

56 thoughts on “Arduino IDE Becomes More Open, Less Snarky

  1. That is kill them with kindness! What I mean by that is, it could be a good tactic for the true Arduino to just bust ass and make IDE so much better such that their competitors in Italy can’t keep up. Also by supporting all the boards even competitors it sort of makes Arduino SRL seem like total dicks for their business practices.

    1. Rather than make them “seem like dicks”, which they obviously could care less about or they would not be dicks, why not push the Italian government and legal system (loosely speaking) or the EU to stop them? I do not know the legal ins and outs, but I doubt this would fly in better run parts of Europe. Or more simply, be sure everyone knows these jerks are thumbing their noses at the idea of open source, and rather than build up their own community trying to just high-jack one? Everyone who cares will not do business with them, and they will never have anything new out before the “real” organization in any case.

  2. Wait… does this mean Arduino LLC had previously made Arduino SRL’s boards (which were and, according to arduino.cc’s products page, seemingly still are the official Arduino boards) “uncertified”?

    Also, the Arduino IDE is no longer so awful it’s literally a worse text editor than Notepad? *looks out the window for flying pigs*

    1. You haven’t been reading along. There’s a couple links in the post.

      In short: LLC claims that they licensed the right to produce the boards to SRL. SRL had secretly trademarked “Arduino” in Italy, stopped paying licensing fees over a year ago, changed their name to Arduino, and forked essentially everything. Lawsuits ensued.

      Even shorter: Yeah. But it’s complicated.

  3. I’d love to see Arduino ported to the STM32 family. I already use the Texas Instruments ARM Cortex boards and program them with the ‘Arduino-fork’ Energia. It would be totally awesome to have Arduino running on a STM32F4 Discovery without any modifications to the board!

    1. If you want to program ARM Cortex-M nearly as easy as Arduino, just try mbed. Yeah it’s this clowdy-online-thing, not everyone likes, but give it a try. I’m programming NXP, Freescale and ST Nucleo boards and also cheap STM32F103-boards from China with mbed. The code looks easy as Arduino and you don’t have take care about the special timing and port registers.

      1. You could also download the mbed libraries and build mbed projects locally with the aid of a simple makefile, gcc arm compiler and your favourite text editor.

        I personally prefer the mbed api over arduino.

  4. It says “ESP8266 HUZZAH”. Does it work with the 5$ wifi module part or does it have to be Adafruit’s 10$ huzzah part?

    I have a few of the wifi modules. It’d be neat if they could be programmed too.

    1. Mostly because it lets them work with MCU’s without having to study their technical manuals which is needed if they wanted to implement the same functions using C++ without the Arduino libraries. Also they don’t have to spend time getting the toolchain to work, in Arduino it just does.

      1. This. If I need fast and dirty Arduino is unbelievably simple.

        It doesn’t take long for complexity to make Arduino a pain in the ass too. No debugger, slow compile/flash compared to proper programmer, andany more issues pop up.

        That said, I HATE setting up toolchains and this one mostly works for everyone.

      2. I guess nobody has tried mbed or the psoc creator stuff, both are virtually plug and play. Even setting up eclipse, openocd and gdb for my arm board only took a couple of hours. I don’t see a couple of hours are a big investment.

        1. Here – this is from a non-technical artist.
          Arduino IDE setup – 5 minutes including download time
          Eclipse setup with technical know how – your time ” couple hours”

          If you were me which would you chose?

          Thanks!

        2. Even a couple of hours dwarfs the time required to create the apps I have written on the Arduino. Time spent looking for other solutions is also more than I’ve wanted to spend. I’ve seen dozens of dev environments; BASIC Stamp, Propellor, mbed, the pic arena, ti micros (I have a Chronos 430) and they are not more appealing. Some are suitable for professional work; Arduino is very suitable for hobby work, especially for those who don’t expect or want to become embedded development specialists, just want their widget to operate and react.

          1. I likely spend a thousand hours a year on embedded tinkering as a hobby. Investing a few hours so I can have control over the device I’m using is time well spent. If you are an artist and just want to blink some LEDs then perhaps arduino is a better choice.

        3. Keil’s MDK is actually quite good and easy to use. It supports multiple ARM vendors without wasting hours messing around with modifying compile scripts if you have a more obscured chip.

          If you are a hobbyist, their 32kB demo is probably good enough. If you need larger size, you can easily switch the tool chain to GCC. If you are a professional, it is worth the money.

          1. Keil is nice… I’ve dug a little. I would actually like to learn more about it setting up a toolchain. Also someone mentioned Atmel Studio… awesome application. It’s build heavily with Microsoft’s frameworks… so it’s a little clunky (like VS) but good… do all my AVR dev in that, ARM cortex stuff is ST Nucleo w/ Keil … I didn’t like trying to figure out Atmel’s super dense framework for their ARM stuff…

        4. You are not Arduino’s target market. Why do so many old neckbeard grognards on this site get so offended by the existence of a product that isn’t even meant for them? Do you also go on car forums and complain that manufacturers spend money on developing sports cars when you only want to drive a beige econobox?

          1. I frequently complain that cars are too expensive, low on technical features, difficult to repair at home, inefficient, etc. I don’t want to buy a package where the dealer repairs a car for a year or so, I want a good car in the first place. Buying something for a few years and then selling just puts the problem on someone in poorer economic condition than myself.

            Fortunately I like Arduino a little more than newish cars. Not a lot more, it still seems like manufacturers make stupid decisions, but at least it doesn’t cripple part of the economy.

          2. I’m not offended at all by people using arduinos. I’m simply pointing out that there are other platforms that also have great support and easy to use. What frustrates me is hearing “but is it an arduino?”

  5. The pop up never should have been there in the first place. Bad form.

    Also, why are people so convinced Arduino SRL is so evil? They are only doing what Arduino LCC did first: exploit open source projects to make money. Sure, Arduino designed the board, but they definitely didn’t write gcc-avr or avrdude.

    1. They also don’t charge money for the software, and they place no restrictions on the sorts of hardware it can be used to program. I’m not even sure they make money based directly on board sales. They make money licensing their logo and name.

      Oh, and don’t pretend that gcc-avr or avrdude are the important parts of Arduino. They aren’t.

      1. I don’t dislike Arduino LLC, I just don’t think Arduino SRL are the monsters people are making them out to be. There are already so many “knock-offs” (not really, because it’s open source) who cares if this Italian company is also making them?

        For the second comment, I absolutely think the free, open source tool chain (gcc-avr, avrdude, etc) is the most important part of Arduino. That’s why the community got behind Atmel, as opposed to Freescale, who made better chips, but also made you buy the tool chain. (Well like 10 years ago, anyway.) Arduino wouldn’t exist if you had to pay for the compiler.

        1. I was always disappointed that Arduino didn’t implement there IDE as an eclipse plug-in. The Wiring IDE was horrible, why did Arduino steal it. The initial release of the Arduino IDE was virtually identical to the already existing Wiring IDE.

          1. Because Eclipse is a laggy, over-complicated pile of garbage that is only usable by people who are willing to screw with it for a living. I can’t think of many better ways of ruining programming for a newbie than showing them Eclipse and telling them that that’s where they have to start.

        2. It’s true that the Arduino project couldn’t exist in its current state without the free toolchain. However, those tools existed well before Arduino and they didn’t form the kind of community that Arduino did. Also, you could theoretically replace the internal toolchain with a non-free one and the end user wouldn’t even notice the difference.

          The tools are an important foundation for Arduino to be built on, but they aren’t what makes it special. Mac OS X is built on UNIX, but that isn’t why most people buy Macs.

        3. The issue isn’t them making Arduino boards, that’s perfectly acceptable. The issue is them trying to use trademarks to force Arduino LLC to rename themselves and let Arduino SRL take over the Arduino brand entirely

        4. No, the most important part of Arduino is making using them really simple for anyone. The wiring/processing projects were aimed at making hardware and interfacing it to DO things easy for artists. Yes, it is not possible without the open source compilers in the background, and when you really want to use the full capabilities of the hardware you need to go to the other tool chains. The Arduino platform has been responsible for far more people picking microcontrollers up and getting into making things.

      1. But didn’t Arduino SRL also helped build Arduino’s reputation, by fabbing all their boards? (I wouldn’t be surprised if they also helped with the board design, but I don’t really know.)

        1. As far as I’m aware the design of the Arduino was entirely LLC, although SRL may have influenced the board layout as most manufacturers will. It doesn’t make sense that someone being brought in to manufacture your hardware gives them a say in your brand though, it’d be like Foxconn claiming to have ownership of iPhone, or of Apple, because they’ve been fabricating Apple’s designs

    2. Wow, you really have to ask why everyone thinks Arduino SRL is evil?

      Well, how about these facts:

      1: They suddenly renamed themselves from Smart Projects to Arduino, after Arduino LLC had existed for many years.

      2: They created a copycat website, copying the style and graphics, after Arduino’s website had been well established website for 10 years.

      3: They quietly registered the trademark in Italy, but didn’t tell the rest of the Arduino devs.

      4: They were paying a license, but decided to stop making payment to Arduino LLC about a year ago.

      5: Now they claim they are actually Arduino, yet all old Arduino packaging clearly says Smart Projects makes Arduino under license.

      6: They released Zero Pro using an early and very buggy beta copy of Arduino LLC’s code.

      7: They forked the IDE, and they’ve incremented the version to 1.7.x, even though they’ve made only minimal changes (basically just changing names and bundling the beta Zero core and a motion sensor library, which they got from another company). Anyone can view the commit history on both github accounts to easily see who is really developing software and who’s copying it from others.

      8: Federico Musto hosted a press conference where he claimed he was now Arduino’s CEO, saying Massimo Banzi would be moving to an advisory role, without even talking with Massimo first.

      9: Conspicuously absent from their website is any sort of community building. No forum, no wiki (playground), not even much technical documentation. They have some generic email addresses, a google group for devs, but it’s private and nobody can even read it without specific approval to join.

      1. That was actually really informative. Thank you.

        That does make them sound a little evil. I don’t see anything wrong with forking the Arduino project, but I guess the sticking point is the name? If they called it Derpduino no one would care?

        It seems a little weird to me that anyone can make their own Arduino, but they can’t actually call it an Arduino. But I guess that’s how trademarks work.

        1. Well, if you want to be technical about it, no one can build “an Arduino” at all because Arduino is the name of the whole project. The boards are the UNO, Mega, etc. You can certainly build your own board that is compatible with the Arduino software and hardware, but you can’t use the name of the organization (unless, of course, you license it — see Gravitech and the Nano, or Adafruit and the Gemma).

    3. How is it bad form? For example. it would be like you setting up a Linux distribution, working closely with Linus Torvalds along the way, then (behind his back) licensing the “Linux” name in China and start pretending that your “Linux” is the actual original organization. The point is not using open source code (as long as the license allows you to do what you are doing, and as long as you give credit where it is due) The problem is with taking on their trademarked name deceitfully.

  6. I recently started using PlatformIO [http://platformio.org/] as a CLI alternative for compiling and uploading Arduino and ESP8266 projects, allowing any code editor to be used (in my case, Zed [http://zedapp.org/]). Both have been excellent so far.

  7. I do not think it is EVER time to stop pointing out someone is trying to high jack and open source project for their own profit. Yes, the current community may know, but even on this site many clearly are not aware of the whole story.

  8. Really a dumb article title, and premise. It is not “snarky” to stop your trade name from being highjacked- even for an open source orientated organization.

    How can an open source project be any more “open” ? If you want to add something to it, go get the source code, develop and add the code to support whatever your pet hardware is that you want supported (and are “snarky” about, because they did not hold your hand and put it in there for you), then put the source code out there for others to use. That IS open.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.