I have been impressed with the urgency of doing. Knowing is not enough; we must apply. Being willing is not enough; we must do.
— Leonardo da Vinci
Here we are: at the start of what I hope is a long journey into uncharted territory (for me, at least). CircuitBuilder is a new concept that has been rattling around in my head for several months – after a small brainwave whilst mulling over business ideas I’ve spent countless hours jotting notes, refining plans and generally obsessing over the concept.
So what is the concept? Hopefully that is fairly clear from the website you’re reading (if not let me know!), but essentially this is a platform to allow anyone to build their own electronic circuits, starting anywhere from a sketched diagram on the back of an envelope to a complete schematic, and ending with a professionally-designed, assembled circuit board.
That is all very well, but we’re not exactly breaking new ground here. Individuals and companies have been designing electronics since electronics was a thing, so what are we doing differently? My hope is not that we invent a groundbreaking new method for designing electronics, but instead we make incremental improvements in the way things are currently done.
So how are things currently done? Well that depends on who you are, who you work for and what it is you’re designing, of course. But to generalise slightly, there are a few common methods to turn an idea for an electronic widget into reality – from hiring an engineer (in a permanent or contract role), engaging a consultancy, or hiring a freelancer via one of many dedicated websites. However each of these have their own drawbacks – hiring staff, even on a temporary basis, is costly and time consuming; consultancies tend to be expensive; freelancers can be excellent value but there is a risk they will under-deliver, and oversight of their work can be difficult.
CircuitBuilder aims to tackle each of these problems – let’s see how we get on!
It’s fairly common knowledge that the large number of hardware prototyping platforms has lowered the barriers to entry for creating prototypes for many new product ideas. Armed with an Arduino, a handful of sensors and a few dozen lines of code, a proof-of-concept device can be built in the time it takes some electronic design tools to even load (a slight exaggeration, but you know what I mean).
One question often asked of us here at CircuitBuilder is ‘how can I turn my Arduino-based prototype into something that is ready for mass production?’. Often it seems that the expectation is that because a working prototype already exists most of the work has been done. Sadly this isn’t quite the case. But why not?
First off are the licenses attached to the software running on the microcontroller (often referred to as firmware) – in the case of the Arduino, the core code and associated libraries are released under the LGPL. This means that although you don’t have to release the source code of your product, you do have to release the compiled ‘object file’ so someone, should they want to, can recreate the whole firmware image from scratch (this is detailed more here).
Also on the subject of firmware is the very limited support for debugging your application. For anything but the most basic code you will likely run into unexpected behavior which requires you to dig into the code to see what’s going on. This is usually done with an in-circuit debugger, allowing you to step through each line of code as well as examine registers in memory. However this is quite limited within the Arduino ecosystem, although there are external tools which help here.
Lastly, testing the code is often left until the last moment – the code might run fine in controlled conditions on your lab bench, but in the real world you’ll find all sorts of conditions where it might not! Remember that an end user can (and probably will) mash all the buttons on your carefully designed device in ways that you may not have tested and that your code needs to deal with this gracefully!
Many Arduino boards are based around an Atmel (now Microchip) part – often something like the ATMega328P. Whilst a perfectly reasonable choice for many tasks, its list of features isn’t quite up to modern standards and there are now many alternative parts that offer many more features for significantly less cost.
One such project was completed by CircuitBuilder not long ago – a design existed which was based around an Atmel part and the cost for this device alone was over £1 in quantities of 10,000. In addition an external crystal was required adding another line to the BOM (bill of materials). After listing out exactly what features the microcontroller needed, we suggested a part from ST Electronics which cost one third of the Atmel part, and didn’t need an external crystal either.
The reduction in BOM cost from these components alone would be over £6,000 once the production quantity reached 10,000 so it was a huge saving!
Another aspect of electronic design which is often left until the end of a project is the fun world of product certification. The exact steps required here will depend on the type of product and where it will be sold. For things sold in the EU, CE marking is required and this brings with it a number of rules around testing. For example, if your product includes a radio of any sort (i.e. Bluetooth, WiFi etc.) these tests get a bit more complex. You can reduce some of this complexity by using a pre-certified module (like this one), but you will still need to perform tests on the whole product to make sure it does not interfere with other equipment, and that it can deal with interference from other equipment.
The test house will also zap your device with alarmingly high voltages (often up to 8,000 volts!) to make sure that it will still function correctly after a static shock (officially known as electrostatic discharge, or ESD).
Back to the subject of the Arduino, if you’re simply replicating the schematic you may find some issues during the tests mentioned above – many Arduino designs do not include filtering for ESD or any emissions caused by high frequency signals in the design. This can lead to problems later on, so it’s a good idea to think about this at the early stages and build in filtering to any signals which enter or leave your product (i.e. any cables plugged in to your device in normal use).
There will be a future article on some practical tips for certification, as there is a lot more to it than the brief summary above!
Suffice to say that although you could put an Arduino in a box and call it a product there are several reasons which you shouldn’t. It’s worth taking advice (from CircuitBuilder if you wish!) as it could result in saving quite a bit of money on the cost to build your device, or worst case need a whole redesign if it fails during product testing!
The last article gave a brief introduction into what we’re doing here at CircuitBuilder – what I’d like to do here is to explain some of our core values and how we aim to become a leader in the world of not just electronic development, but of the whole product development process. This time, we’re looking at transparency.
First of all a slight tangent: I bank with Monzo and am a bit of an evangelist for them. For those who have not heard of them, Monzo is a digital-only bank founded in 2015 and has become one of the fastest growing financial companies in the UK. One thing they do incredibly well is to be very honest and open with their customers. This is a very noble thing to do and should be the norm in any industry. Whereas many established organisations would try to play down problems they encounter, others proactively speak up.
One of our core aims is to be entirely open and honest with our customers, as well as internally with the team we are in the process of building. One of the most obvious ways we are doing that is by giving you, the customer, an open invitation to see your design as it progresses. We won’t surprise you at the end of the process with a design that’s not quite right, or with a bill that’s higher than you were expecting – you will be able to see exactly what you’re getting, and how much you’re paying, at any point in the process.
One of the big advantages of this transparency is that it’s much easier to make changes ‘on the fly’ rather than the more traditional approach of ‘design’, ‘build’, ‘test’ and then back to the start. Changing a design while it is still in the early stages is much quicker (and cheaper) than doing it after a board has been built.
Another way we are promoting the transparency of what we do is the open communication between our engineers and you, the customer. You can call us on the phone, chat via the built-in chat function of add comments to any part of the design. This way there is a continuous dialog to ensure the process is as open as possible.