A common question that new hardware companies have is “how to prototype electronics for our new product idea?” An electronic prototype is an important first step for any company – whether large or small – developing a new hardware product or device. Immediately after the prototyping stage comes the MVP (Minimum Viable Product). This is a full-function product ready for sale, with only the minimum amount of features included. The MVP comes directly after the prototype stage and the core belief behind the lean startup methodology. Clients often ask us to develop a prototype using an Arduino or raspberry pi, with off the shelf modules or “shields”.
While in some cases this is a cost-effective and prudent way to develop a product, it is often counter-productive and can actually slow down the product design process. The alternative to using Arduino is a fully custom approach. This involves designing a schematic from scratch and designing a PCB (Printed Circuit Board) around that. The onboard microcontroller will then be programmed without using the Arduino libraries.
You typically need a solid, functional electronics prototype before building an MVP. It is important to keep the MVP in mind while prototyping. I will outline some advantages and disadvantages of using the Arduino ecosystem for prototyping purposes with respect to final product design.
Advantages of Electronics Prototyping with Arduino
1. The Learning Curve
The single biggest reason that Arduino is an excellent platform for electronics prototyping is the fast learning curve. People with little past hardware or firmware experience can read some tutorials and soon be able to start working on implementing it within the Arduino ecosystem. This just isn’t possible when trying to develop a hardware solution any other way. While not impossible, it would be difficult to expect to have an entrepreneur learn circuit board design and bare-metal firmware programming in a reasonably short amount of time.
2. The Community
A core reason why Arduino has become such a success story is the community around it. There are thousands upon thousands of tutorials on the internet. Many companies also have started to follow the open-source methodology due to Arduino. This massive community allows for questions to be answered and troubleshooting free of charge. Both the official Arduino forum and various subreddit’s are incredibly active and offer free support.
3. Rapid Electronics Prototyping
There is no denying how fast you can prototype electronics using Arduino. If you have a well-stocked electronics lab based around Arduino boards, it is possible to have a rough prototype designed and built within an afternoon. Even with the advances in PCB lead times, it is just not possible to match the speed in which electronics can be designed and prototyped using Arduino.
4. Open Source Firmware Libraries
This is another immense time-saver. It is common knowledge that often the aspect of hardware that causes the biggest schedule delays is actually the firmware behind it. Firmware bugs and issues tend to be much harder to diagnose and fix than hardware issues. Being able to leverage the already existing Arduino libraries is an incredible tool. While their optimization is lacking, they are a good place to start.
Disadvantages of Electronics Prototyping with Arduino
1. Forced to Redesign After Prototyping
The biggest disadvantage of using Arduino for prototype development is the fact that when you transition from prototype to MVP, you almost always have to start most of your hardware and (sometimes) software over from scratch. Since the prototype was built using the pre-made shields and off the shelf parts, these will need to be designed from the ground up, integrating them in a (usually) single PCB. If you then don’t use an AVR based chip – typically the ATmega328P that most Arduino boards use – you also have to rewrite all of the firmware for the new micro-controller. This need for redesign can add a significant amount of time and cost to the overall product design process.
2. Limited Flexibility
While having the ability to use off-the-shelf modules and shields can be helpful, it is also limiting. While you usually can find a shield that you can make work for most projects, it rarely is the ideal component. The intention of the shields by design is to use in a wide array of use-cases. This often requires adaptations of the product to ensure that it works with it. It is common to find a bare chip that would be ideal to use, only to not find a shield that uses the exact one. If a custom PCB was being built instead, you could easily choose that chip, or any you find online.
3. Form Factor
While it is possible to use very small Arduino boards (Nano, Mini, Micro, etc), they will never be the “perfect” size for your product. Using jumper wires exacerbates this. There are many projects/products where size isn’t an issue, other times a small form factor is crucial. Designing a custom PCB allows for very small projects, as it is purpose-built for that application
When to Use Arduino?
Whether or not to prototype electronics using Arduino isn’t an easy question to answer. It really depends on who will be designing the prototype, your budget, and your timeline.
1. You lack in-house expertise but are on a limited budget
Where Arduino really shines is with in-house development. Your team may not have the expertise to learn custom hardware design. Learning how to build a proof of concept with an Arduino is something that many people can learn. This initial electronic prototype can be the stepping stone to receive funding to be able to hire an outside firm to build the product from the ground up. It is important to keep in mind that if you take this route, however, much of the hardware will require a complete redesign for the next stage.
2. You need a prototype in-hand as fast as possible
As quick as some PCB fab houses have become, it is impossible to get something up and running as fast as an Arduino can. If you maintain a decent stock of Arduino boards and shields, you can have a simple prototype working within a few days. This type of instant turn-time is just not possible with any other method. While the electronics won’t be in the final form factor, it is often close enough. This is often the case when deciding whether or not to patent a product, or just rely on the use of NDA’s.
3. You only need a “rough” prototype
Often, it doesn’t really matter how “refined” a prototype is. It just needs to validate the proof of concept and ensure that the idea actually works. This is when using Arduino can really be useful, since it can easily and quickly be used to show if an idea works or not. This is especially true for products where the “secrete sauce” isn’t the electronics themselves. If a new mechanical idea requires a motor or two to work, using an Arduino board to drive them would be a great solution.
When to go fully custom
1. You need to have the final product as soon as possible
Even though you can prototype electronics rapidly with Arduino, there is almost always a need to redesign afterward. If you instead start with a custom PCB, all design time is spent towards the final product goal. While the time to build the first electronics prototype may take longer, the total time to MVP will almost always be less.
2. You need your electronic prototype to “look and feel” like the final product
One of the key aspects of custom PCB design is having hardware purpose-built for your product. If you have size constraints, often an Arduino will just be too large, especially when modules/shields are added. The flexibility of being able to design the electronics to the exact size needed for the enclosure is of huge importance for some products. You also can keep Design For Manufacturability (DFM) in mind while working on the custom PCB. Too often, companies will design a prototype that isn’t possible to be manufactured at scale, without signifigant changes to the design being made.
3. You plan on outsourcing the design work
If you will be outsourcing the design work, it is usually a good idea to choose a firm that has full-featured hardware design capabilities. With this, they will have their own preference on what platform to use. More often than not, they will choose to do a custom “ground-up” hardware approach. It rarely makes sense to spend money on an outside firm to prototype using an Arduino or Raspberry Pi. It is hard to justify paying for outsourced work, that is built on Arduino.
Conclusion
Deciding what platform to use for building an electronics prototype is a crucial decision for a company or entrepreneur. While Arduino is a great tool and has a lot of uses, it also has its limitations. This article aimed to describe when using Arduino for prototyping is prudent, and other times when doing a fully custom hardware design makes more sense.
MicroType Engineering has many years of experience in designing and building electronic products. Please contact us to make your next product idea a reality!
Recent Comments