The Arduino Foundation: What’s Up?

The Arduino Wars officially ended last October, and the new Arduino-manufacturing company was registered in January 2017.  At the time, we were promised an Arduino Foundation that would care for the open-source IDE and code infrastructure in an open and community-serving manner, but we don’t have one yet. Is it conspiracy? Or foul play? Our advice: don’t fret. These things take time.

But on the other hand, the Arduino community wants to know what’s going on, and there’s apparently some real confusion out there about the state of play in Arduino-land, so we interviewed the principals, Massimo Banzi and Federico Musto, and asked them for a progress report.

The short version is that there are still two “Arduinos”: Arduino AG, a for-profit corporation, and the soon-to-be Arduino Foundation, a non-profit in charge of guiding and funding software and IDE development. The former was incorporated in January 2017, and the latter is still in progress but looks likely to incorporate before the summer is over.

Banzi, who is a shareholder of Arduino AG, is going to be the president of the Foundation, and Musto, AG’s CEO, is going to be on the executive board and both principals told us similar visions of incredible transparency and community-driven development. Banzi is, in fact, looking to get a draft version of the Foundation’s charter early, for comment by the community, before it gets chiseled in stone.

It’s far too early to tell just how independent the Foundation is going to be, or should be, of the company that sells the boards under the same name. Setting up the Foundation correctly is extremely important for the future of Arduino, and Banzi said to us in an interview that he wouldn’t take on the job of president unless it is done right. What the Arduino community doesn’t need right now is a Foundation fork.  Instead, they need our help, encouragement, and participation once the Foundation is established. Things look like they’re on track.

A Tale of Two Arduinos

Until late 2014, there were two “Arduinos”: Arduino LLC, which took on the task developing the IDE and guiding the community, and Smart Projects, which was the manufacturing arm of the project that incidentally owned the trademark on the name “Arduino”, at least in Europe. All legal heck broke loose in November 2014, when Smart Projects changed its name to Arduino SRL (an Italian form of limited-liability corporation) and stopped funneling profits back into Arduino LLC. Arduino LLC filed for a trademark in the US, and Arduino SRL countered the filing based on their EU trademark. Arduino LLC filed a lawsuit in the USA, which resulted in two years of uncertainty about which company was the “real” Arduino, confusion in retail channels, two websites, and two versions of the IDE. It wasn’t pretty.

In October 2016, the lawsuit was settled out of court. The settlement documents themselves are under a sort of non-disclosure agreement, and we were told that there are around 500 pages worth. But a very short version is that a new Arduino corporation (Arduino AG) would hold the trademark and rights to produce the boards, while the Arduino Foundation, a 501(c)(6) non-profit corporation would be established to develop the firmware and the IDE.

In a nearly Solomonic decision, Arduino AG is 51% owned by the previous owners of Arduino SRL, and 49% owned by the previous Arduino LLC principals. Federico Musto, the largest shareholder of SRL, is now Arduino AG’s CEO, and Massimo Banzi, the largest shareholder in LLC, is picked to be the Arduino Foundation’s president.

So there are still two “Arduinos”, but their incentives are now aligned instead of adversarial. Arduino AG owns the trademark, manufactures the boards, and makes the money. The Arduino Foundation will be funded by at least Arduino AG, but also by any other stake-holders in the Arduino ecosystem that wish to contribute. Arduino AG is now in a sense just a company that makes development boards, while the Arduino Foundation is in control of the rest of what makes Arduino “Arduino”: the non-tangible environment.

As a result, the community should care a lot about the Foundation. The choices made there will change your programming experience most directly, and if you’re interested in contributing code to the mainline distribution, the Foundation will be the gatekeeper — as much as there can be a gatekeeper in entirely open source software.

Progress, but Slow Progress

So why is setting up the Arduino Foundation taking so long? We’d claim it’s not, and that the signs from both parties indicate that it’s on the right track.

First of all, Musto and Banzi were in an existential fight over control of the ownership of “Arduino” for two of the last two-and-a-half years. As of January 2017, they became part owners of the Arduino AG holding company, but that doesn’t mean they instantly started getting along. It’s no surprise that there’s at least half a year’s worth of trust-building to do between the two.

Add to these personal issues that the Foundation was not the top (legal) priority. Banzi mentioned that, of the 500-page settlement, the Arduino Foundation was one of the last items on the list, and that the settlement wasn’t extremely detailed in that regard to begin with. So there was a lot of work to do, and it was put off until the prioritized stuff was out of the way. We were told that there’s no deadline in the settlement, and in reality, they haven’t been working on the Foundation for more than four months so far. Add in some time for lawyering, and IRS accreditation, and we would forgive them for taking until the end of 2017. Let’s hope it’s sooner.

Finally, both Banzi and Musto are very candid that this is the first Foundation that either of them have ever set up, and that it’s an important one. Nobody wants to get this wrong, and both are looking to other successful open-source Foundations for inspiration and guidance. Both mentioned the Linux and Mozilla foundations as models. This suggests that there’s going to be a mix of developer, user, and manufacturer interests all coming together. And it suggests that the founders are doing their due dilligence instead of just slapping something together.

The Signal, and the Noise

So what can we expect from the Arduino Foundation? Neither Banzi and Musto were able to guarantee anything specific, because they’re still under discussion. Still, there was a reassuring degree of overlap between what Banzi and Musto said. It sounds like they’re getting there.

If you’re interested in the future of the IDE, Banzi’s recent article on the near future is probably a good roadmap, and there’s a lot to like: separating the cross-platform code from the device-specific code (“Project Chainsaw”), and re-thinking the split between the high-level and low-level APIs sounds great to us. Adapting the Arduino pre-processor and toolchain to work with more modern workflows (clang on LLVM) is a huge win. Musto mentioned making the IDE more modular, so that any given part of it could be easily called by external code.

As for the organization itself, it’s likely that there will be an executive board, with half appointed by Musto and half by Banzi, that will run the show. In addition, Musto floated the idea of a few advisory boards, potentially split along lines of hardware manufacturers and firmware developers. He repeatedly said, as he was airing these possibilities, that it was up to Banzi as president to decide in the end. For his part, Banzi declined to speak on any specifics until they’d hammered the details out. In whatever form, we wouldn’t be surprised if representatives from Intel, ST, Nordic Semiconductor, and other chip manufacturers who make Arduino boards have a seat at the table. We’d also like to see the developer community pulled in and given a formal voice somehow.

Both Musto and Banzi seem committed to extreme transparency in the Foundation. Musto mentioned that the Foundation’s financials should be viewable online every month. Banzi is proposing to pre-release the Foundation’s charter. Musto is considering having Arduino AG donate to the Foundation in proportion to Arduino sales, and allowing the purchasers to earmark their portion of the donation toward a specific project as a form of radical democracy. Both Musto and Banzi said the word “open” more times than we could count in the interviews. Given Banzi’s history as an open source hardware pioneer, and Musto’s financial incentives to keep the Arduino train on the tracks, we have little reason to doubt their intentions.

Foundation Fork?

Meanwhile, Dale Dougherty, the founder of Make Magazine, wrote a piece in which he calls for a “Free Arduino” Foundation, where the Arduino community can jointly determine the future of the little blue boards and their programming environment. Half of the article consists of personal attacks on Federico Musto. Ironically, it was Musto himself who first proposed creating an Arduino Foundation as a neutral party in charge of the IDE, and as a means to funnel money back to the people contributing most to the ecosystem — the developers. Nowhere in the post does Dougherty mention Banzi’s role in the Foundation.

In addition to Dale Dougherty’s post on Make, Phil Torrone of Adafruit made a few posts last week that suggested, vaguely or otherwise, that the future of the IDE was being “steered off a cliff” or otherwise hijacked by the Foundation because of Musto’s participation. He interpreted Dougherty’s post as calling for a grassroots, developer-based Arduino Foundation.

We asked both Massimo Banzi and Federico Musto what they thought about the call for a Foundation fork. Neither of them had talked to Dougherty or Adafruit about it, and both felt blindsided by their accusations. Banzi was quite dismissive of the “Arduino is no longer open source” argument, stating that once code is out there with an open license, it can’t be taken back. If Arduino steers off a cliff, just roll back a few versions and fork. Banzi felt like the argument was insulting the last decade of his, along with the other early founders’, work. He would not comment on Dougherty’s article, saying instead that he’ll talk with him later.

The elephant in the room is Musto’s alleged fabrication of his previous academic credentials, which he has since retracted. It certainly does raise the question of whether he is trustworthy. But with Banzi still involved and slated to take the helm of the Foundation we see more reasons for hope in the future than not, or at least a reason to wait and see.

Is the Arduino Foundation run by insiders? Of course it is. Who other than Massimo Banzi would you appoint to run it? And you have to give the Arduino AG CEO a seat on the board, not the least because they own the trademark and the software needs to run on their hardware. Banzi and Musto display every sign of wanting to get it right: keeping it open, transparent, and responsive to both the community and industry.

Arduino’s code acceptance over the last twelve years hasn’t always been exactly transparent either, and many parts of the IDE could use a fresh coat of paint. It’s easy to idealize the past, but looking to the future, a Foundation which brings numerous and diverse stakeholders to the table can help refresh stale perspectives. Banzi’s roadmap for the IDE is solid. With some more good ideas, and money to back them up, the Foundation could be the best thing that’s ever happened to Arduino.

65 thoughts on “The Arduino Foundation: What’s Up?

  1. Jesus Christ, Elliot. Why (did you even listened to that crazy Bob on the official thread and) wrote this blog post? Stop crying and let’s all move on with or without a promise made loosely by a bunch of Italian guys. Too much crying for my taste!

    1. Blah, then don’t read it. I for one find the situation interesting…and I care about the future of the boards / IDE / ecosystem…Thanks Elliot for putting this together.

    2. I am authorized to speak on behalf of Crazy Bob. He has had no contact with anyone at Hackaday about this matter. He thinks that this article is a reasonably fair summary of the events. Hackaday reference original sources and nothing that Crazy Bob has written.

      It seems that only Crazy Bob believes that Adafruit have instigated a campaign to make sure Federico Musto is not involved in the Arduino Foundation, since they discovered that Mr Musto mistakenly claimed to have a qualification from MIT (which is where Limor Fried received a degree). Well, that is only the opinion of Crazy Bob and is not asserted as fact. Starting such a campaign… would be crazy, wouldn’t it? #FreeArduino

      1. You know what’s really crazy, Bob?

        How about the concept that lying about having a doctorate degree from one of the world’s most prestigious institutions is a merely a mistake. Oh, opps, somehow typed “PhD”. Kinda like dropping a spoon, just an unintentional mistake. Not once, but repeatedly. Same mistake made on Linkedin, on business cards, on numerous press releases, on bios submitted to conferences. This “mistake” may have also happened in creating Dog Hunter, where Italy grants special tax status/benefit to startups founded by people with doctorate degrees. Opps.

        Phil has made a lot of noise about this. He has kept the controversy going on mail lists, even when asked to take it elsewhere. I don’t condone that rude behavior.

        But I do share their concern that the future of Arduino is lead by people of integrity.

        1. Sure, it looks much more than a simple mistake (in my opinion).

          If we assume that Musto is a Bad Guy who lacks integrity, how do you propose to get Musto to sell his share of the company and walk away? Nit picking over Open Source licenses or this rather vague Foundation thing isn’t going to do it.

          Adafruit don’t use an “OSI approved license” for all their hardware projects either, and MAKEzine described them as “Open-Source Manufacturing Maker Champions”. Pot calling the kettle black…

      2. “I am authorized to speak on behalf of Crazy Bob….”
        Who, precisely, are you; and why can not ‘Crazy Bob’, whoever that is, speak for himself?

        “…that Mr Musto mistakenly claimed to have a qualification from MIT…”
        You–whoever you are–are determined to trash any semblance of credibility which we might have accorded you. Mr. Musto MISTAKENLY claimed…? A “qualification”? The records seem to indicate that Mr. Musto MISTAKENLY claimed to have a PhD–simply a minor ‘qualification’, understand–on many, many occasions.

        “…Starting such a campaign… would be crazy, wouldn’t it?”
        Not to one who had invested blood, sweat, and tears into obtaining one of those petty, inconsequential, paltry “qualifications” from an institution held in such high esteem–by the entire world–as MIT.

        Not that it matters now that you have zero credibility, but…who the Hell ARE you?

        1. Interesting question, and I think that’s what Banzi is getting at with his call for a standardization of the higher-level APIs — an attempt to pull back together some of the wild growth.

          That said, digitalWrite turns a GPIO pin on an ESP8266, or an AVR, or an Intel Curie. So there is a broad degree of low-level commonality still.

          1. That’s great if you only ever toggle pins with busy looping code.

            Now what happens when you want to do stuff with a timer? How about using WS2812 “Neopixel” LEDs? How about doing both in the same program? Now toss in a 320×240 TFT display. Maybe generate audio output too, maybe even beyond simple one-at-a-time tones. Layer power management on top of all that, to run it all from a battery.

            Somehow I suspect you’ll want more library compatibility than merely digitalWrite.

      1. Amen. I never got into that world, and I have never had any desire to. The so-called IDE is a text editor with compile and upload buttons, and the libraries are nothing amazing (high level development without most of the advantages of high level development). The boards have that yucky header spacing too. And why would you ever want to make a daughterboard for an Arduino when you could just add the microcontroller and a couple other parts to the board you’re already designing, then have a whole system on one board for less money?

        1. As a relative newcomer to Arduino, I’ve found there’s a lot to like. I’m not much of a programmer, nor much of an electrical engineer, and honestly, have no desire to be either. But the Arduino has enabled me to quickly mock up proofs of concept or create working on-off devices. I’m not discrediting the issues you may have with it, they’re likely perfectly valid complaints from the level at which you come to it. But there are others to whom the simplicity and modularity is a benefit. After more than a year or so of playing with Arduinos, I’m just now starting to design AVR boards with all the sensors and components I need integrated. There’s no way I could have done that right off the bat, and if that was the only option, it’s unlikely I’d have ever Arduino as a platform.

          Just wanted to offer another perspective. It’s all too easy, and I’ve been guilty of it myself, to assume “it doesn’t fit my needs” necessarily equals “it doesn’t serve anyone else’s needs”.

        1. Actually I read something completely different than you from Chris’s comment. I read that by accident Chris stumbled into what many if not most advanced DIY electronics types use the “arduino” for as a development board to aid in incorporating an embedded microcontroller into their projects. There is no way Chris could/would not have done that, if he didn’t use an arduino, as he indicated.

          1. Yup, it’s the learning curve, both required and desired. I’m sure I could/would have learned more starting from scratch, but it would have been a much slower road to travel, and one that likely would have discouraged me from continuing. The simplicity and modularity of the Arduino platform has allowed me to make things far more complex, far more quickly than I would have been able to otherwise. As I said, I’m not, nor will I ever be, an electrical engineer or programmer. But the things I’ve been able to make with the Arduino platform has interested my 7 year old son, who may very well grow up to be an engineer. I’ve set him up with a little breadboard, some switches, lights and other simple things, and he’s been able to change simple sketches to change lights, servo rotations, etc.

            Arduino might very well be too simplistic or limited for an experienced engineer, but everyone needs to start somewhere. And a platform within reach of average people without the time/interest to pursue the field on a career level, and even more importantly, children of just 7 to 8 years of age, is a huge advantage.

            It’s always good to remember that what is trivially easy to one person after years or decades of experience can be hugely difficult for someone without that experience.

      2. Exactly, it is Atmel’s chip and the board is just a carrier. A breakout board with an LDO is just a convenience, not a new thing separate from the microcontroller.

        If people want an IDE they can also just use any C IDE.

        1. >> “If people want an IDE they can also just use any C IDE.”

          “people” don’t want an IDE. People want hundreds of existing libraries and a million lines or so of existing code that does “almost” what they want, plus an active community that will help them with whatever works remain, so that they can get good results with minimal effort.

  2. I think that they should continue keeping it open source because if they don’t, then the availability to students would decrease substantially. But then again, how could I possibly expect for a single person’s opinion to make any difference.

    And yes, it really is an interesting situation.

    1. Getting Arduinos out of the hands of students would be a giant step in the right direction. Far too many can’t tell the difference between a capacitor, resistor or diode (either physically or functionally) but because they can connect a few wires and pull some code off github they think they understand electronics. Arduino has its place – but that place is nearer the end of a students education and not the start.

      1. Student implies there’s an instructor. While I agree that advance electronic components as microprocessors should be introduced the students comprehend the electronics that made and make microprocessors possible, but what occurs depends on the instructor. The individual you scribe isn’t any better than worse than those individuals who declare themselves self taught experts, experts who it often turns out are quite ignorant.

      2. That’s fine if a student is going for a EE or AS in Electronics and can devote years to study and practice.

        Most of the people using Arduinos aren’t your typical snotty geek but artists and total noobs.

        1. I’m fine with people using Arduinos to get something together quickly as a proof of concept but it kind of irks me when they try to pass what they are doing off as proof that they are an electrical engineer or that they are engineering something. To me they are just a hobbyist and nothing more. A majority of them don’t have knowledge of the basics and will be totally lost if someone told them to design something from scratch or even make their own libraries. Note that I am all for using libraries to make development easier and faster but it’s scary to use something if you don’t actually understand how it functions/is implemented. To put it in another way… what is difference between the majority of those who use Arduinos and those that can only get by limiting themselves to just plug and play?

      3. As a student I have to disagree. I would have had no interest in electronics at age 12 if it wasn’t for the Arduino (and Raspberry Pi etc) – because the programming aspect and the relative simplicity (ie not needing 30 components to achieve a task) made it attractive to start. It’s the same with the kids I now mentor – I can’t interest them in individual components at the start – not enough wow factor and too much effort- but I will once they are engaged. I am now learning electronics properly, and hope to go to university and become an EE but if it weren’t for things like the arduino I wouldn’t be where I am. Dev boards are the perfect place to start because you can get a basic understanding of everything and still get a good result.

  3. Honestly, i don’t care. The only interesting thing from all this Arduino-stuff are the really small boards (just an AVR and some passives and maybe a reset button) that allows to use a “big” AVR without having to solder small SMD stuff with a lot of pins. And these boards will be avaible whatever will happen to Arduino, i don’t think the chinese people making/selling these boards do care about foundations, trademarks and tons of paper filled with legal stuff… (I don’t even know if there is anything related to Arduino written on these boards.)
    The “big” Arduinos and their “shields” and all the software side stuff might be usefull for some people but no thanks, i don’t want to use this.

    1. You are wrong on “i don’t think the chinese people making/selling these boards do care about foundations, trademarks and tons of paper filled with legal stuff…”, and you know why? Said foundation will “define the future” of Arduino (for the good or for the bad), and IF (IF) it is for the bad, said Chinese will instantly (really) stop manufacturing copycats and move their efforts to another initiative. Want a proof of that? Digisparks, Orange Pi, etc etc

  4. Arduino started out as an open source hardware/software C/C++ API and hardware board. That was their claim to fame, that’s why they’re more popular than similar platforms like mBed e.t.c. especially amongst hobbyists. If they become less ‘open sourcey’ then they will lose popularity and their software will be forked.

    As for the whole ‘he said she said’ thing, sure we’re human, not angels and mistakes are made by everyone, but Musto strikes me as more than just a fallible human….he comes across as a classic douchebag.

    I am happy about the fact that Barragan (the creator of wiring …the original ‘arduino’) was recently appointed as Arduino Chief Design Architect. That is a positive development.

  5. After all the warning signs, and after all this time, anyone who bitches about ‘the Arduiino situation’ should ask themselves:
    how many times do I need to literally and figuratively hear and read the words, “Use something else”…?
    Unfortunately, a lot of people’s response is something like , “…but I LIKE the Arduino…”
    Unfortunately, a lot of people can not see the error in this logic…

      1. Alternatives especially in C/C++ world are limited to Arduino and mBed. You’d think there’s be more but there isn’t. As microcontrollers get more powerful, fast prototyping APIs seem to move away from C/C++ and into more popular, easy to use programming languages like Python(MicroPython) and Javascript.

        BTW The ESP8266(costs $1-2) port of Micropython is quite robust and an ESP32(also very cheap) port is currently being worked on. Unfortunately the ESP8266 IO capabilities are a bit limited (10 GPIOs, no hardware I2C, one ADC input e.t.c.). The ESP32’s IO capabilities are much more impressive. It also has WiFi and Bluetooth making it quite a versatile device. It is also cheap ($3-$4 for the module). Once the ESP32 Micropython port is stable I expect MicroPython to really take off and overtime give Arduino a run for its money.

      2. How about Energia (or Code Composer Studio, for that matter) with the TI MSP430?

        Oh.. you meant you want something that just automatically downloads code someone else wrote rather than reading through actual examples so you can just push a button and bask in the illusion of having done anything at all? Yeah.. you’re pretty much limited to the Arduino.

        1. @RandomComment,
          It’s called progress. Instead of building everything from scratch i.e. re-invent the wheel, I use the low level code that someone else built and build on top of that. Doing this I am able to focus on solving bigger problems than bit fiddling and fighting with 1000+ page reference manuals. This is something that people have been doing for decades in the computer field and since the beginning of time in general.

          If you are against this principle then please stop using the internet until you’ve coded your own browser, operating system and networking stack.

          BTW Energia and MPIDE ARE ARDUINO!!! They use the Arduino API and a skinned version of the Arduino IDE. The hardware is different but so what…numerous hardware has been ported to Arduino (API and IDE) such as the teensies(Freescale/NXP), esp chips, PICs(18/24/32), stm32, atsam micros, SiFive RISC-V e.t.c. They might not be AVRs but in my mind if i can program it with pinMode() and digitalWrite() it is Arduino.

          BTW I taught courses in building low level drivers an bit fiddling and embedded development for several years. And I love it. But its not necessary for everyone to know it and use it all the friggin time ……this is 2017, not 1987.

          1. @halherta You’ll note that my response was for @not a space lizard, not for you. Yes, I’m aware that Energia is a fork of the Arduino IDE, but Arduino is not *just* the IDE– it’s also a specific board–one with absolutely insane design mistakes. Even so, a lot of the underlying code for the AVR is incredibly inefficient, and so even if you want to keep using an Arduino-like IDE, it’s still a cleaner, and more instructional environment.

            But I also mentioned Code Composer Studio–say what you will about Eclipse, it is still a good IDE, and a very effective implementation for the MSP430. It’s a great option for those who want to actually learn the engineering aspect of microcontroller design. TI provides a large quantity of example software to learn from. And you can still build from others’ work here, too, as in addition to the TI examples, there is a large community network for the MSP430.

            In response to your comment, MicroPython is, as you rightly point out, another great alternative that is easy for people to pick up. But Arduino and mBed are *not* the only options in the C/C++ world for $1 microcontrollers. And there are more besides the MSP430; it’s just my weapon of choice, so I’m more familiar with it.

            I’m in full support of building on others’ work, but personally I prefer that work to be solid. What I have seen of common Arduino sketches has left a very bad taste in my mouth (and yes, personally, that goes for some Energia code I’ve seen, though overall I’ve been more impressed with that group), and I would rather work somewhere that teaches me and challenges me. Thank goodness there are so many other places that provide the same kind of promises that Arduino offers! And that was my point from the start–I responded to a challenge to name an IDE with good example code that lets you work easily with $1 microcontrollers.

          2. @RandomComment,
            my apologies for misunderstanding your comment. I wholeheartedly agree with almost everything in your last comment.

            The way I see it there are three hardware abstraction levels to consider when programming microcontrollers:

            – Lowest level is writing to the registers directly via bit fiddling. You can then write your own custom drivers/functions that do exactly what you want them to do. With this approach you can really optimize code size and performance, but it is time consuming and many people find it unpleasant (I don’t). -> Most Electrical Engineers love working at this level

            – Medium level is coding with the vendor supported libraries such as TivaWare, MSP430Ware, ASF, STM32HAL e.t.c. These libraries tend to be vendor specific and in some cases microcontroller specific. They speed up the coding time and are relatively optimized but not as optimized as low level coding. In order to use these libraries as efficiently as possible, you still need to have a good understanding of the low level stuff and be familiar with the devices/peripherals registers. When learning a microcontroller for the first time I still recommend reading the reference manual and doing some bit fiddling e.t.c. Once you understand how all this stuff works, then you can use the vendor supported libraries as a quicker way to get things done. -> Many Electrical Engineers love working at this level

            -High Level coding. Here the programmer uses High level APIs of which I’m aware on only two; mBed and Arduino. These APIs are so high level that you don’t have to look at a reference manual at all. The APIs are generally not device specific and can run on multiple different micros with ease (once ported at either the medium/low levels by someone else). They are ideal for beginners and fast prototyping and are the easiest and fastest to learn and use. You don’t have to know much about how the hardware is configured. The API at this level is the least optimized in terms of size and performance and not very flexible when you want to do low level stuff like access the DMA or Timers directly e.t.c. -> Ideal for web developers, artists & Hobbyists. Can also be used for doing some serious stuff but not all.

            When I was saying that only two exist..I was referring to the High Level coding, not vendor supported libraries. MicroPython competes with high level fast prototyping (Arduino & mBed)….but it will never compete with say vendor supported libraries or low level register-based programming because it is in a different category (abstraction level).

            Eclipse is great BTW. I think it beats the Arduino IDE any day of the week. I personally prefer using VIM with makefiles but have used Eclipse extensively in the past.

            I took ‘not a space lizards’ comment as meaning ‘do you know if there are any other good High level APIs for programming microcontrollers’. Which is not quite what he wrote. Hence my comment about only two alternatives (Arduino & mbed). But you’re right if we do not restrict ourselves to High level APIs then there’s a plethora of vendor supported libraries and IDEs available for different hardware.

          3. @halherta

            You know, that’s a fair point. I can see how that gives a stronger argument for the Arduino concept than my comments would imply. I still think the design flaws of their board argue for other boards, though; even hobbyists should aspire to better design and not get so wrapped up in legacy compatibility. We should help beginners understand that there are better (and cheaper!) choices out there, whether their interest lie in AVR, MSP430, ESP8266, PIC, ARM, or anything else.

        2. Also my comments referred to fast protoyping APIs….not vendor supported libraries such as MSP430Ware, STM32HAL, Tivaware, ASF e.t.c nor vendor supported IDEs such as eclipse (code composer Studio is basicly eclipse).

        3. Actually if you’re using TI’s Code Composer Studio, it does indeed automatically download the example code for you from the resource library.

          I don’t use the Energia stuff, but it does seem to offer that level of automation.

          And if you’re using GCC, you can easily download and use the examples with whatever IDE. I’m using the MSP432 from the command line on linux with an OSS toolchain and it all works well.

          That’s what I don’t understand about these per-platform IDEs… if you’re a beginner why would you want to learn to use a bunch of different IDEs? I only use 1 code editor, 1 compiler toolchain, the only part that varies is the software that flashes the chip. Surely they’re learning programming on a regular computer first, so why change IDEs in the first place?

      3. I’ve been using Platformio for Teensy development (it will handle Arduino and many others too) for a few months and find it a good option for noob level players like myself.

  6. Sounds like a real cluster f*** to me. I can see why there is conflict, and I must admit as an “occasional” user of the Arduino Platform, as a hobbyist, I found inconsistencies somewhat annoying. But not nearly as bad as NodeMcu. That being said I think some standardization is necessary for ease of usefulness. I cringe when i think of the early days of the 8080 when there were no standards. Everyone wrote their own different subroutines for their own custom hardware setups. Then the S-100 bus added some standards, but only toward the hardware aspects. I appreciate the intent of the IDE (as I see it) to help new ideas along without having to reinvent the wheel each time a project is conceived. IE: libraries. I hope it continues to serve in that way.

  7. For programmers it doesn’t really matter too much. We can fit stuff together because we have a deeper understanding. But for the beginner, the tinkerer and when you want something done without diving deep into it, a solid framework with pregenerated/configuration in a gui is almost essential, especially when looking at 32 bit processors. I wouldn’t be surprised that there’s going to be a 3rd party taking the crown of the other two keep on fighting.

    When I look at Microchips Harmony, it may not be perfect, far from it, but I can see the future right there. Configuring a complex chip like a PIC32MZ EF takes hours doing it by hand. In the Harmony configurator you can click configure things in a matter of minutes, with skeleton code produced so you only have to add your own logic to it. It supports different board configurations just like Arduino. With stuff like USB, ADC, SPI, ethernet, graphic displays support etc, I’d like to see something that can also use chips/boards from other manufacturers.
    I know there are lots of libraries for Arduino but a unified way of coding, documenting and implementing it would be great, and some way of knowing what the quality of the library is, like with Harmony where some parts are in beta, testing and production level.

    1. I’m not a fan of automated software generation wizard tools but they seem to be gaining popularity e.g. STM32Cube and this PIC32 Harmony.

      I like the PIC32s alot. If it weren’t for the whole crippling of GCC PIC32 toolchain I’d use them.

  8. Micro python will take over. For beginners and for pros who don’t need massive performance it’ll do everything and you can get on with writing your app. If you need C/C++ just use avrdude and notepad++ and move on.

    Arduino was good for it’s day, and I like their boards, but time to move on.

  9. The original situation seemed simple. Arduino and Atmel were working together to produce a platform for physical computing. The Arduino Uno was amazing for its time. Then the hardware forked out as more and more chip makers wanted Arduino support and things got progressively messy as LLC and SRL had their own hardware product lines. When Microchip took over Atmel their involvement evaporated. Some peculiar Arduino boards seem to not work with standard Arduino samples.

    The question is whether the Foundation can fix the mess. So far they have just been running out the clock, promising a great future by not dealing with the present.

    1. “…The question is whether the Foundation can fix the mess. So far they have just been running out the clock, promising a great future by not dealing with the present…”.
      100% correct. This is the ‘new normal’ for problem-solving. Simply look at the Democrat Party…

      1. Meh. The arduino.cc team has continued to churn out improved (YMMV) IDE code over the last 9 months, which is hardly “running out the clock.” The Worst Case Scenario would have been if they had gone “FTS! I don’t want to work for a non-profit foundation! I want to get rich off of the Arduino Bubble”, and quite en mass. (this is the actual developers I’m talking about. Not “face of the company” evangelists like Banzi.)
        There’s a very real sense where in reorganizations like this, involving the customer base is a low priority, compared to maintaining the internal integrity of the actual engineering team(s).
        OTOH, Adafruit and Seeed are hardly mere customers, having stepped in to be manufacturers for Arduino.cc during the “two arduino” period. I don’t recall hearing what happens to their status as approved manufacturers in this new arrangement.
        OTTH, Adafruit and Seeed have strong “OSHW cred and design experience”, and don’t seem to have qualms about manufacturing “arduino-compatible” boards (metro, feather, Seeeduino) at the same time as “Arduino Official” boards.

  10. Have you seen Arduino’s website makeover?

    https://www.arduino.cc/

    To me, it shows intent that appears to be entirely designed from a marketing standpoint, so finding information, or downloading the IDE is not a trivial matter.

    I am also worried that with the introduction of a cloud based IDE, a walled in garden situation will not be far behind.

    1. …”To me, it shows intent that appears to be entirely designed from a marketing standpoint, so finding information, or downloading the IDE is not a trivial matter…”

      Having worked at the high-level technical end for several major technical organizations, I can tell you from first-hand experience that the first sign that serious trouble is brewing is when Marketing gets involved in Technical Support.

  11. Personally i think both those gentlemen should step away and let Arduino be truly free. Community will manage without them just fine.
    Theres too much bad blood flown and two visions for something will newer lead to other then confusion and mess. Look what they have managed so far: Two Arduinos and Realduino when product is still same.

  12. Thanks for the great write-up Eliott. I’m glad someone took the time to actually talk to the head honchos and get the full story, rather than just whip up a frenzy because things aren’t happening as quickly as some people would like. It sounds like Musto and Banzi have their hands full trying to lay solid foundations for the Arduino Foundation! We just need to be patient, and give them all the help we can when they need it ;)

  13. The article is a really nice summary of the history-till-now, and several sides of the issues. Thanks for putting it all in one place.

    As for the state of the Arduino Libraries/etc… Do y’all realize that the Arduino libraries/core are the most popular and perhaps the best cross-platform abstraction layer out there? I mean, it’s sort-of sad, because I’ll admit that it’s not great. But the vendor solutions (ASF, Harmony, STMCube) are all vendor-specific, mBed is ARM-only, and everything else is tiny (at least so far.) The Arduino core runs on AVR, MSP430, ARMs of several varieties, x86 of several varieties, ARC (sort-of: Intel Curie), PIC32, and ESP8266… (also don’t neglect the impact (for better and/or worse) that Arduino has had in bringing C++ into the embedded world.)

  14. Your perspective on keeping something open source is valid. Open source software and projects often benefit from community contributions and make resources more accessible. While individual opinions may seem insignificant, they collectively shape the direction of open source initiatives, ensuring continued accessibility and innovation. It’s indeed an interesting dynamic where collaborative efforts can have a profound impact.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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