Building hardware in a software world
Note: I know software development has its own challenges, problems that make you pull your hair out, but for the purpose of this article I’m pretending those don’t exist.
Image 1: Early prototypes from January 2019.
We’ve all opened an app on our phone to find it’s been updated without us realising... While we’ve been liking photos, swiping stories or browsing articles we gained a feature we never knew we needed, but now can’t live without. This is the beauty of software development! The ability to tweak the position of a button or change the colour of text, push it out to all your users is something we really do take for granted.
As a hardware engineer… I dream of such luxuries.
Since July 2017 ORB has been developing a sports analytics platform in conjunction with smart mouthguards to track an athletes fitness, fatigue and effort by monitoring their movement, impact and biometrics all in real-time. We had a classic “chicken-and-egg” situation in which we needed data to determine what hardware to use, but needed hardware to collect data. As an electronics engineer, no surprise, I decided to start with the hardware.
The electronics can be thought of as the “brain and nerves” of a product. Need to detect something has changed? You need an electronic sensor. Want to make a choice based on that change? You need an electronic controller. In my totally unbiased view the electronics are the most important part of a product. Once you’ve chosen what sensors you need (that's a topic for another time) and what processor (the electronic controller / brain) to use, now comes the fun bit… putting it all together to find it doesn't work! … Ok sometimes it does work first time, but most the time it doesn’t. Why? Why when used individually do these parts work but together they don’t?
Image 2: An electronics prototyping workbench.
Let’s think about this. If I buy an electronic component, tens maybe even hundreds of thousands of engineers have purchased the same one and used it. If I buy a different component and use them together, maybe a few thousand have used those two together. If I buy a third, realistically I’m probably the only one in the world using those three specific components together and experiencing the unique way they interact. Even if I ask for help, the probability that someone is using the same parts as I am, to measure the same things, in the same environment… well... it's very unlikely. But we eventually figure it out. The hand assembled design works in the lab! Awesome. Now we have to turn it into something more professional and permanent. Now we need to make a circuit board.
Probably my favorite part of the whole process, creating a neatly laid out circuit board, is like untangling your headphones. You know there’s a perfect way they should be used, there’s also ways they’ll work but be a bit ugly (I’m talking directly to people who use headphones with knots in them!) and finally if they’re so knotted that they’re just a ball of wire, they’re unusable. The neater you are when laying out a circuit board the easier it is to spot mistakes and, more crucially, you won’t get any unexpected behaviour when it’s turned on.
The process of component selection and circuit board layout takes me roughly 8, 10 hour days (excluding shipping), 2 to select the parts, 2 to prototype a design in the lab and 4 days to transfer that design to the computer and layout a circuit board. With that all done, it’s now time to send the design off to get manufactured. The quickest I have found I can get a design back is 5 days. 5 WHOLE DAYS. 5 days before I realise I connected two things together that shouldn’t be. 5 days before I realise a hole for mounting the circuit board is in the wrong place. 5 days before I realised I accidentally left the company logo off the design…. And in the end what I get back is just the circuit board, no components assembled on it. Should these mistakes have been picked up in a review process? Absolutely. Do we have time in our startups to conduct those reviews. Absolutely not. To get to market as quickly as possible, sometimes you have to sprint before you can walk.
Image 3: Components on a circuit board.
I’m not going to dive into the difficulty of hand-assembling components onto a circuit board, just thinking about placing parts smaller than 2x2mm and worth more than £10 each is giving me anxiety. Trust me when I say it takes a steady hand and zen like focus. Finally we turn the design on and it works*! And it only took the best part of 2 working weeks, a few hundred pounds and enough coffee for 3 people.
So why do it? Why bother making hardware when I could spend my time developing software?
Because I love it.
To see something you designed moving, lighting up and doing clever things is a feeling of elation I can’t describe. It’s the same feeling artists get finishing a painting, musicians get improvising and writers get completing their latest book. You made something, something cool, something that didn't exist before.
*If you know that this rarely happens I don’t need to tell you. If you don’t… it rarely happens.
Great article Tom, the trials and tribulations of a hardware engineer
Robert Paterson, Lisa Makarova, Daniel Silva, Michael Redpath