Building something physical is as satisfying as it is daunting. My first hardware prototype had me stumbling blind into choices and messing it up many times before it even turned on.
This is a guide will help you take an idea from your head and put it in your hand.
What are the exact functions I need?
You need to have a clear vision of what you are building. The three main things to cover are:
- What will it do?
- How will it be powered?
- Does it need to communicate?
These questions inform all of the answers moving forward so make sure you know exactly what you want.
Did I read the spec sheets?
I mean really read them. You’ll need to make sure that the components you select for your prototype work together before purchasing. This can mean communication protocols, power ratings, current draw, physical connector, etc.
This is probably something you’ll learn on your own. Misreading or glazing over a paragraph in a spec sheet can cause you to: damage your microcontroller with over voltage, force you to take multiple trips to the store for different resistors/capacitors, realise after a week waiting for parts your devkit doesn’t have the right amount of communication channels.
Can I make this with an Arduino or other devkit?
95% of the time there is an Arduino board for your project. This will let you build on top of a pre-built platform that gives you an IDE, a power circuit, a means of programming (usually USB), well documented libraries and sensors. If you need something that falls outside of the Arduino products check out: LinkIt, Edison, Beagle Bone, Raspberry Pi, Tessel or Latte Panda (by no means an exhaustive list)
Each of these has their own benefits. Some are Linux based, some have simple IDEs, and some have WiFi/Bluetooth/GSM. Taking time to find the right one will save you hours of development down the track.
If your project falls in that 5% that needs something custom made I’d highly recommend you build your first version using one of the above dev platforms. This will cut development time in half and save you hours of inevitable debugging.
I’ll cover custom hardware development in another post.
How permanent do I want this prototype to be?
Some prototypes are built to prove concepts, these are best built with bread board and components. Breadboards give you the flexibility to customise circuits to your needs. Adding numerous sensors and components with ease. The trade off is how fragile the result will be.
For more permanent prototypes, Stripboard and soldering can offer a more durable solution that can make it off the test bench. To make anything on these is quite involved, but quicker than ordering a PCB.
More recently, the Grove System provides a simple, solder-free solution that integrates well with Arduinos and a number of other devkits.
Can I wait a few weeks to get the right parts?
Unfortunately hardware is not like software, you can’t just “npm install linkit-duo otg-usb huawei-3g-usb 110v-voltage-sensor voltage-divider”.
It usually takes a while to get your parts shipped, especially if its an obscure part. If you can’t wait, there are usually a few hobbyist electronics stores per city. They will stock Arduino kits and sensors so you get started straight away.
Do I have the tools to test the prototype?
So you’ve received the components, figured out how to wire them together and then when you turn it on: Nothing.
This is bound to happen at some point and the first thing you should reach for is your Multimeter. This tool lets you test a range of things.
For instance you could check to see if your components are receiving the right voltages or if the resistors you are using on the LED are the right value. Without a basic tool like this it gets very hard to root out the reason why your prototype isn’t working.
This is just one of many tools used to test hardware. Some enable you to analyse the radio spectrum, while others let you view the shape of an oscillating wave. But for your first prototype you probably wont need to shell out for these tools.
These questions are by no means an exhaustive list. There are many more related to your specific prototype. However, in general these questions will get you prepared for planning what you need to build your prototype, choosing a platform to build on, purchasing the right parts and having the right tools to troubleshoot.