I come to praise Arduino

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 RFduinoQduino, 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.