Our friends at codebender have pulled some interesting stats on Arduino board usage!
This guest post is brought to you by Vasilis Georgitzikis, founder of codebender, an online Arduino IDE that allows you to program your Arduino on the cloud. These insights are based on anonymous usage data gathered by codebender.
Ever wondered which Arduino boards are the most popular, which are the most used processors, which are the most common Libraries (and Examples), and how are they being used?
At codebender we have a unique insight on this, since we have more than 40,000 people using codebender to write Arduino code, and more than 100,000 sketches. This gives us the ability to gather anonymous data on board usage, popular boards, etc. And since we host more than 500 built-in libraries, we also get a great view on the preferred Libraries as well.
Let’s dive in!
First, we’re going to look into the popularity of each Arduino board. The easiest way to count this is to take a look at which board people use most often. We counted how many times people programmed/”flashed” a particular board (say, an Arduino UNO), vs. the total number of times someone programmed a board on codebender during September (which was 123,967 times).
As with any good research, we’re gonna start with a couple of notes:
So, without further ado, here are the results (showing only boards with more than 1% usage):
Wow! Everyone knows Arduino UNO is the most popular board, but did you know that in more than half of the instances an Arduino is programmed, it’s an Arduino UNO?
I also personally didn’t expect the Arduino Nano to be so popular, let alone #2! I’m more of a Pro Mini/Pro Micro guy myself, since I’m a bit of a SparkFun nerd. A reason for this spike could be the recent surge of ridiculously affordable Arduino Nano-compatible boards from China, using the very inexpensive CH340G chip for the USB-to-Serial instead of the more common FTDI chip.
Another item of note is the number of Duemilanove boards still in use (remember, they are 6 years old), which are still almost as popular as the Leonardo.
The Leonardo, by the way, is much lower than I expected. It goes to show that issues with the way the Leonardo’s programming was implemented - the less-than-stellar robustness when programming and all the inconsistencies it brings with existing code and Libraries - outweigh the extra features and lower price. Long live the UNO!
(By the way, notice that 4 out of the 13 most popular boards are manufactured by SparkFun. Not bad, huh?)
Ok, as we said above, some boards are bound to be a bit inflated because their manufacturer suggests codebender as the tool of choice for Arduino coding. Let’s look at the same numbers, this time using only the official Arduino boards.
Here are the results (showing only boards with more than 1% usage):
For the last chart, we thought it would be interesting to see the most popular microprocessor chip in Arduino land.
On the left chart, we measure the number of boards that use a certain chip. Out of the 80 boards that codebender supports built-in, how many boards use each chip? The right chart measures the number of times an Arduino is programmed, so we can see how many times people programed a board with a certain processor (i.e. ATmega328), compared to the total number of times people programmed a board.
And the winner is, of course, the ATmega328 by far.
First, we see that a good third of the boards supported in codebender are using the ATmega328. ATtiny in second place seems weird at first, but given that there are around 20 different boards for the various ATtiny chips and configurations, it makes sense.
And then, you have the ATmega32U4 devices. There are a lot of independent manufacturers making boards based on this chip, but as we saw on the previous chart (and as you can see on the Processor Usage chart above), they end up not being used too frequently.
As you can see on the Processor Usage chart, more than 4 out of 5 times someone programs an Arduino, it’s using an ATmega328. Isn’t that simply amazing?
Well, that’s all folks! I hope you enjoyed the post. I’m really looking forward to sharing more data - next we will shed some light on the Libraries that people use with Arduino.
I wonder, what (if any) is the relationship between Codebender and Arduino Create? (See this Arduino blog post from today, Dec 2.) Totally parallel, one a fork of another, something else?
Enquiring minds want to know. ;-)
If the analysis based on 'codebender' usage, no statistical veracity. If just an advertorial, then understand basis of the blog entry. Otherwise, data from sources such as arduino.cc, sparkfun, adafruit, pjrc, hackaday, oshpark, etc would have to be compiled to generate anything relevant.
So the ploy worked. Looked at codebender. Poor impression as could not run the demo because the notices covered up the syntax error. Also, do not understand how this would work without a browser plug-in. As the site is an unkown, requires personal information, and will modify the browser, would have to consider this a security risk. But the concept itself is interesting.
My recommendation to absolute beginners is to quietly hang out and browse the sparkfun, adafruit, and stackoverflow forums for a few days, then install the ardy system and play with the Hello-World blinky example.
FWIW, at home use only teensy 3.x stuff, and at work use mix of teensy and pro-mini stuff to do quick and dirty stuff like burn-in room control/monitor, fail-safe monitor of HALT chamber, remote control of antenna mast for EMC emissions testing, trigger control of multiple instruments in test stack (GPIB group trigger no work if not on same bus), profile control of small re-flow oven, ISO17025-accredited environmental measure/recording of the (registered) safety labs, etc. So do not think this stuff is just for the week-end artisans using the ardy IDE. Many of us are using this stuff from a command-line make on a Linux box. You think the engineering community is gonna let you people have all of the fun and keep this stuff to yourselves?
I don't mean to sound rude, but claiming that these numbers actually represent Arduino usage at large is a stretch, at BEST. I've never even HEARD of this 'codebender' service, and I don't see why anyone would use it over the Arduino software. Considering that in all the time I've spent online, talking about electronics and programming microcontrollers, and I'VE never heard of it, safe to say that the vast majority of Arduino users haven't either. Plus, it doesn't count the Due? There's a fairly big chunk missing.
I understand these numbers are interesting to Codebender users, but I think there should be a much bigger caveat saying these numbers actually aren't representative of the community at large. Claiming to answer the question
"Ever wondered which Arduino boards are the most popular, which are the most used processors, which are the most common Libraries (and Examples), and how are they being used?"
with these stats isn't very accurate. Doesn't Arduino have some sort of data you could have used instead?
He's right; just taking into account the number of Pro Mini's that I've bought on eBay would wreck their pie chart.
"The Leonardo, by the way, is much lower than I expected. It goes to show that issues with the way the Leonardo’s programming was implemented - the less-than-stellar robustness when programming and all the inconsistencies it brings with existing code and Libraries - outweigh the extra features and lower price. Long live the UNO!"
Where could I learn more about the above? When I design and build something that someone other than me is going to modify the software for, I've been using the ATmega32U4 and programming in the Leonardo bootloader so they can easily modify and update the code. I use the U4 because it saves me a bit of room and effort by not needing an additional USB chip. Not being an Arduiono expert by any means, I assumed the U4 was the best choice for these reasons. Should I be considering a 328 and USB chip?
Hey Steve123, Vasilis from codebender here.
The whole pain in the 32U4 comes from mainly the way it's programmed, which is a hack upon a hack upon a hack, and the fact that the software is responsible for resetting the board (and many other minor details, but let's not get into that). And the problem only gets worse because if programming doesn't work, you need to understand this whole arcane process to understand why it doesn't, so it makes people feel stupid, or it makes people to think it's faulty hardware. Either way they give up
I'm a big fan of those Arduino Nano clones with the CH340G chip these days. Much more stable and straightforward. It's easy to use on Windows, it even comes with Windows Update drivers so it arguably works easier than Arduino/FTDI. The drivers for OS X has signing issues but we (codebender) have fixed that, so if you use our driver installer it will work great. Linux is a bit worse cause you have to install their driver, and Chromebooks are a lost cause. But for the price, and for the majority of people, they absolutely rock!
And then there's the Pro Mini, which is my all time favorite :)
I found this article very useful. While it's easy to find individual examples of the Arduino projects out there, it's difficult to get real data on what the majority of users are trying to accomplish with this technology. Certainly one can argue the ways in which this sample population may differ from the Arduino community at large, but this data at least offers a useful starting point.
Does Mr. Georgitzikis still plan to share data about the most commonly used libraries? I am dying to see that data to gain insight into the most common problems that people are trying to solve with these devices. I'm also hoping to develop some wrappers for the most common libraries so they can be used across platforms, and it would be great to know which libraries to start with.