The buzz around 5G, AI, Blockchain, and IoT has enabled many new hardware use cases.
Thus, hardware development experiences a surge in practicality and popularity. This makes it the most exciting time since 20 years to get into electronics and hardware!
As a result, more and more hobbyists get excited to about the niche. Many, without putting the necessary care into their projects.
This practice might lead to self-inflicted security breaches in smart homes other serious flaws.
To avoid such beginner's pitfalls and make your journey into electronics and hardware development a success, here are a few general Do’s and Don’ts to guide you.
Components can eat up your project budget quickly. Keeping track of expenses is important in any development scenario.
However, fixating too much on the cost of your project and optimizing too early can distract you from making progress, delay or even hinder the successful completion.
You shouldn't start buying components at cheap & dodgy overseas suppliers directly, just to save some bugs.
The potential negative implications are not worth it. More about this, in the 100DaysOfHardware Guide: Hardware
One way to keep cost under control without sacrificing parts quality is to focus on building prototypes early on.
Oren Ezra of Seebo writes:
“Prototypes can be used to test behaviours, software and firmware interactions in advance, that will affect the final [result]."
A working prototype will tell you what’s easy or difficult to build and how much a fully build-out project might cost.
You can also build independent prototypes of individual parts of your project.
Instead of buying all components at once in the beginning, you can first only buy some components to build your prototypes.
When you have verified the practical feasibility of your design, you can incrementally acquire the missing parts.
We are bombarded with new development platforms every day. Choosing the right hardware platform is now becoming a critical task for successful hardware development. When you build prototypes, make sure all the functionalities of the final project are validated.
The most popular development platforms are Arduino, Raspberry Pi and Galileo. Some are scalable, whereas others are more customizable, or secure. These have a huge community and many projects are powered by them. Apart from the community support, there are so many add-on modules available for these platforms for different purposes such as display, connectivity, motors, etc.
The principle of "fail fast, fail early" applies here. You should verify early on, if you work with the right platform. Otherwise, if you find out late that you have picked the wrong platform, you might spend a lot of time with design translation (both software & hardware).
The latest point in time to migrate to a new platform should be after you completed prototyping and before starting the production development.
Often developers get so wrapped up in the theoretical part of hardware design they forget to give proper thought to the actual printed circuit board (PCB) manufacturing process.
Designing and making projects that physically work takes trial and error. You need to plan extra time to development and testing your PCB design and run through multiple manufacturing loops till you eliminated all layout flaws.
If possible, get into contact with the PCB manufacturers early on. Find out about the specifications they recommend for your kind of project, and whether your initial design would be feasible.
Cellular or WIFI connectivity? It might look like a straight forward decision, but it's crucial to know your use case. When your project should work outside of your own home network, WiFi can be error prone as many networks are not friendly to unknown IoT devices.
As a result, you’re much better off looking at cellular connective technologies like LPWA or LTE-M1, which are low cost. use less energy and can be battery-powered.
Even if it's not your first project anymore, and you have already gained some experienced, don’t fall into the trap that you don’t have anything to learn.
Electronics, hardware and IoT are complex and ever-evolving fields with strands of expertise that spread from circuit design to product interaction design and a hundred places in between.
Thus, it's almost impossible for one individual to be considered an hardware expert, and even difficult for a whole team.
Best, you actively seek out areas you are not confident in and build projects around it to improve.
However, don’t let this dishearten you. While you may not be experts in hardware development, you are an expert on your own project. Focus on how your vision and mission and the details will fall naturally into place over time.