I come to praise Arduino
- Published
- in Design
If you know your Julius Caesar, you may guess where this is going. Arduinos can seriously damage your start-up and your investors. But before we talk about that let me start by saying that I love Arduinos. I use them around the house in all sort of projects; they water my strawberries, and automate all sorts of things which most people wouldn’t ever think need automating. I’ve recently been inspired by Kurt Grandis’ project using video recognition and a water gun to track and deter squirrels – I’ve plans to use that as the basis of a robot to stop the local wildlife stealing our figs and apricots. Without Arduinos I’d never embark on some of the projects that eat up my free time.
I also love the innovation they enable. They underpin much of electronics design within the Maker community, letting makers accomplish projects that they would never have dreamt of starting without the benefit of the breadth of shared expertise which the community generates. The innovation of these developers has reenergised a love for making things for the sheer sake of it – because they can be made. For those of us who grew up with tinkering, frequenting the Tandys and Henry’s of this world, the Arduino and Raspberry Pi have brought back and re-energised a hobbyist love of design which most of my engineering generation thought had permanently died with the advent of mass market consumer electronics.
Not only that, they’ve helped the growth of crowdfunded hardware projects. Over the past few years Indiegogo and Kickstarter have blossomed, with all kinds of innovative concepts raising hundreds of millions of dollars of support from funders. Many of the prototypes for these developments only happened because they were based on Arduinos. And the process is self-fulfilling, as projects such as the RFduino, Qduino, Neutrino, Microduino, Piccolino, Attoduino, BLEduino, Garagino, Superduino, Tinyduino and others have developed ever more specialised variants to feed future generations of products.
The beauty of the Arduino is that it distances the developer from the difficulty of hardware and firmware. Hardware and firmware are both difficult. It takes a lot of experience to produce good engineers who can do either. Arduinos and Rasperry Pis are so much fun because other engineers have done the hard work, letting developers play at the margins without having to understand too much of the detail underneath. I would do them wrong by suggesting they are anything other than beguiling.
As you go round incubators, pitching contests and hackathons they’re always present; the foundation stones and building blocks of every idea which is aiming to be the next big thing.
Looking at this cycle of funding and innovation, I see an increasing number of start-ups prototyping with Arduinos. Neither they, nor their investors appear to have any understanding that they’re putting their company and their investors at serious risk of failure.
The problem with designing products with Arduinos is a natural consequence of what makes them so popular – they divorce the developer from the underlying detail of what is going on within the chip. Even where designers are working with embedded processors many forget that getting the key features of most of today’s successful consumer electronics products to work is hard. In particular:
- Radio is hard.
- Power management is hard.
- Making rechargeable batteries reliable is hard.
- Pairing wireless devices is hard.
- Design for manufacture is hard.
- Designing for reliability is hard.
- Component tolerancing is hard.
- Design for test is hard (and almost universally ignored with Arduino based designs).
- Device Management and Security is hard.
In other words it’s not easy to get from a prototype which excites potential customers and investors to a product which can be cost-effectively manufactured in volume. I’ve watched many start-ups struggle through that process, with many of them failing. Even with some of the most exciting companies that eschewed Arduinos and attempted to do it properly, the facts speak for themselves:
- Fitbit was 18 months late shipping
- Pebble was 10 months late
- Dash is currently 10 months late (and may still have six months to go)
In each case they hit some or all of the problems listed above, but at least they got to, or are close to manufacture. Many didn’t even get that far.
If you’re doing a traditional embedded design you’ve got a decent chance of solving these problems, not least because there are good tools which let you dig down to find out what’s going wrong. If you’re using an Arduino, the only option you’re likely to have is to go back to square one, throw the Arduino away and do the design properly. But you’ll probably have waste twelve months, run out of cash and customer patience by that point.
The problem is that many founders don’t know this and find Arduinos seductively alluring. They’re so easy that developers forget they need to think about fine detail, although that’s what differentiates a hobby product from a real, commercial one. That easiness lures designers away from thinking about the practical considerations of production test, tolerancing and power management. They’re overcome by the quick, heady rush of “it works” that separates them from the serious start-up. It’s a grievous fault which makes founders overly ambitious. I’ve seen start-ups who have been so entranced by their first few Arduino prototypes they’ve never contemplated the ridiculous prospect of spending an hour and a half to configure each one on the test bench when they get to volume production.
If founders understood the difference between being a maker and an entrepreneur it wouldn’t be a problem. There are organic business models where niche products can be built based on Arduinos and Raspberry Pis. But they don’t have exits. If your business is based around either of these it is not going to be acquired for multiple tens or hundreds of millions of dollars. It might fund your mortgage payments and be great fun, but that’s about it. If you want to develop a product that could propel your company onto a global stage and a bidding war between acquirers you need to apply the dagger very early on. It’s no good saying that as soon as you have funding you’ll redesign the product properly. Once the funding arrives you’ll find you don’t have time. And the more your production dates slip and your investment burns up, the less time you’ll have to realise and recover your mistake.
The reality is that the Arduino and Raspberry Pi are the Brutus and Cassius of the start-up world. Left unchallenged they can assassinate a good business idea. They are tools for makers, not entrepreneurs. And certainly not for investors. If you see a business plan with either of those names, either get out your dagger or start running in the opposite direction. And if you have invested in a business based on using one, prepare to shed tears now. You may never see the hoped-for outcome.
The moral is that if you’re starting a tech company and are after investment (which realistically means you need an exit plan), you need to consider designing your products properly. Unfortunately that means competing for a fairly small pool of experienced hardware and firmware engineers. There may be an alternative, which is mbed – the embedded design platform from ARM. I’ve only just started playing with it for some home projects, but it impresses me by being a much better engineering tool, providing a lot of the ease of design with the rigour and tool chain to take a design from prototype to production fairly seamlessly. As I get further along with those projects I’ll post more about my experience.
If you’re an investor, start asking anyone pitching to you about their design methodology and which tool chains they use. Ask them to open up their hardware and see if there is an Arduino or Raspberry Pi within it. If there is, show them the door. It might save you a lot of money.
Excellent article Nick! As a former IC designer that now designs tech products for startups I really enjoyed this blog.
Probably 85% of my projects I encourage designing custom PCBs, but for a few I do think Arduinos and Raspberry Pi’s can be a great proof-of-concept prototype. This may allow you to test out other elements of your solution, if perhaps the electronics isn’t your primary concern. Migrating from a Arduino project to a custom PCB using a similar Atmel MCU is moderately easy. Migrating from a Rasp Pi to a custom design is many times more complicated.
Your comment about radio being hard is so true. RF functionality can be a big obstacle for startups. Design is of course complicated, but FCC certifications can add lots of cost. I almost always recommend starting with a module, but for some products like wearable tech that’s not always feasible because of size.
Hi Nick, I’m with the mbed team at ARM. Your list of hard problems is almost identical to what we’re trying to solve. Please feel free to contact me if you’d like any more info or would like to come and visit. Great article!
Totally agreed. Arduinos can kill your startup, equally and squarely. There is so much into hardware, doing a prototype in Arduino proves nothing, one has to dig through and convert a prototype to low level actual components which would be used in final product before pitching to any investors. Hobbyists projects are unlikely to see the light of a production house, they are not meant for large-scale production at the first place.
Thanks for your article, I have been thinking of doing a startup based on a hobbyist project I did but your article actually given words to my worries, these are exactly the thoughts I was having I was hard at work to see any substance behind my project.
Being said that, it’s definitely hard to do hardware projects but equally hardness is also a deterrence for competition, if someone can find the perfect synergy between hardware design, manufacturing and firmware and then the idea is also solid, it shouldn’t be very hard to do the project properly without Arduino.
Hello,
While interesting and you bring good points, I think you might be wrongly diagnosing the problem, this considering your ample and proven experience.
How can Arduino be the wrong tool for a job? when it does many things well. Something with the performance of Arduino, 15 years ago, was state of the art. Obviously comparing it with current technology doesn’t behave that well, however still performs.
Yes, it might be possible for that for certain tasks, the concept of Arduino doesn’t scale.
In short, what I’ve witness with the delays of *any* Kickstarter project (video games, hardware, films, etc.) is that all of the entrepreneurs underestimated the execution of the project, which -as you know- is everything. Execution doesn’t have to do anything with Arduino or the tech behind it, it has to do with and a lot of management.
The innovators dilemma has taught us that the disruptive force always comes in lower quality than the established business. For that task, Arduino seems to be perfectly positioned to be the disruptor.
Cheers!
“Nothing in the world is worth having or worth doing unless it means effort, pain, difficulty…..”
I agree with Teddy Roosevelt, unfortunately it’s so at odds with the educational zeitgeist where Ofsted inspectors expect to see “learning taking place” in the first twenty minutes of a lesson.
I couldn’t pull it off in my “Intro to Fourier analysis” according to my lesson observer (although she, a non-technical person, seemed to get the sum of sinusoids concept !)
No, Nick, I’m with you and I’ll stick with trying to explain to students how much is packed into even a deceptively few lines of code such as :
/* EX1.1 Light a LED */
/* David Miles April 2006 */
#include
/* Set 8 MHz clock frequency */
#pragma CLOCK_FREQ 8000000
/* Set PIC16 configuration word */
#pragma DATA _CONFIG1, _EXTRC_CLKOUT & _WDT_OFF & _LVP_OFF
void main()
{
trisa = 0xfe; /* set bit 0 of PORTA for output */
porta = 0x01; /* set bit 0 of PORTA to 1 */
}
The founders should at-least realize when to switch or appreciate the need to switch. We are traditional embedded systems company. We have spent two years build tools and helping small products come to life. It has been a lot of learning. You may go through our beautifully written Embedded C libraries for AVR, PIC, 8051 and ARM(coming soon!)
https://github.com/ExploreEmbedded/Code-Libraries
You raise a few points which I didn’t have space to cover. Too many universities use Arduinos and Raspberry Pis to teach coding. That is unpardonably lazy and often results in graduates who are of little use for the first three years of their professional life, during which they need to relearn how to write firmware. Too many academics are too far from the real world and are potentially doing damage. Their “easy to learn” is actually “too lazy to teach properly” and is patronising to their students.
I disagree with the common view that Arduinos are for students. Students should understand that some things are hard and they need to put effort into learning them. Professors who do not understand that should consider whether they are competent to be teaching.
Nick, Arduino and Raspberry Pi are for hobbyists and students. A German professor at University told me that they use Arduino, because it is easy to learn. They have not enough time to educate on real programming tools. A GCC GNU Complier is already to complex. The students have no chance to final a project in time. However, I plan to change that. It can not be true that German universities educate an army or Arduino user. My 5 Cents are the IoT Button listed here:
https://www.linkedin.com/pulse/iot-button-fantasy-business-harald-naumann
In the end my IoT Button is something like the XYZuino you mentioned in your blog post. Is is a starting point to write code on GCC GNU compiler. The GSM PCB antenna shape is already public in my book. I will help the students and the hobbyists with some cheap useful SW-Tools and HW and help them to learn to write code on a complier, that they later can use for realistic projects.
BTW, out of the XYZuino there is may no other project on Kickstarter. XYZuino are wireless play-grounds. The Kickstarter project Storyhome is on an Wi-Fi module with CE and FCC certification. I was in charge for the antennas.
http://www.gsm-modem.de/M2M/m2m-apps/the-iot-button-fantasy-or-business/
And I am consulting several more wireless projects on Kickstarter. Believe me, that there is no Arduino or Raspberry Pi inside. All of them are on a very high technical level, will get it radio certification and are based on commercial, state of the art electronic components.
I have and I think they’re a brilliant idea. My problem is that there are more good toys than I have time to play with.
Hi there
You mentioned Microduino’s original Kickstarter campaign. Have you seen the new Microduino Kickstarter campaign yet?
https://www.kickstarter.com/projects/microduino/microduino-mcookie-the-smallest-electronic-modules/
They have reworked the original modules to make them more robust (removing the bendable pins and replacing them with magnets and low-profile connectors), expanded the range of modules and added Lego connectors. It’s pretty cool and means the bits will last longer.