This video is the first lesson from a multi-course video training series teaching you how to design an example product from the ground up.
This course begins with the system block diagram design, next it covers building the Proof-of-Concept prototype using electronic modules, followed by designing the custom PCB, and finally concludes with the enclosure design.
This full course is available exclusively to members of the Hardware Academy.
This video course is taught by Craig Rettew who is a fantastic electrical engineer with 13 years of experience. He is also a hardware entrepreneur who has developed several successful products. Craig is also one of the experts available to help you inside the Hardware Academy.
In this course, we’re going to go through an entire product design. We’re going to start with a proof of concept. But before we build anything, we need to go through a brainstorm and research phase.
I usually start out with a blank document and I just start jotting down some of the requirements for the product at hand.
Let’s say I’ve decided that I want to design a cube, and this cube is going to do a couple of things, and have a couple of features. This cube will have LEDs, it’s going to be battery-powered, and it is rechargeable. Depending on how you rotate the cube, the LEDs will do different things.
That’s the overview of what this product is going to be. So I typically jot those down as requirements.
To summarize, it is cube shaped, but I have not yet determined what the cube is going to be made from.
I’m going to focus on the electronics phase first, but I’ll write down “cube shaped” as a requirement of this product.
It’s going to be a cube shape, it’s going to be portable, and it needs to be rechargeable. It’s going to need a way to power on and off. It will have color LEDs, and it will be able to detect orientation.
Now that you have a list of requirements, you can figure out what components will be required to make this product work.
Obviously, since it’s portable and rechargeable, it will need batteries. We’ll probably use a lithium polymer battery. Those are pretty ubiquitous and they come in all shapes, sizes and charge densities.
It’s going to need to be rechargeable by the user, so they need a way to recharge it. Typically, that would mean choosing a USB connector.
I’m going to choose a user-facing USB connector, but I will determine at a later time if I want to use a micro or USB-C connector.
Then, it’s going to need a battery charging IC to manage that charge for the LiPo battery, because those have to be charged in a very particular way. There are a lot of battery charging ICs out there that will help simplify that system.
Next, I need to think about the LED lights on the product. I think we’re going to do addressable LEDs or addressable RGB LEDs, since that will allow us to do some cool things and to control the lights.
In order to control the LEDs, we’re going go to need a microcontroller, which is pretty typical in these kinds of designs.
To detect orientation, we’ll use an accelerometer, which is common for detecting orientation.
Then, there are some components that we’ll need in order to manage all this. A voltage regulator is going to be required, and we need a power switch.
We’re going to do a switch for on and off. Whether that’s a slide switch or some kind of tactile switch, we’ll determine that later in the design.
Keep in mind this is just an overall list of components that we think we will need.
Lastly, we need a way to program the microcontroller when it’s in the system on the board. I don’t want to program it through the USB connector, because this is meant to be a production product and not really a development board.
I only want to use that USB connector for charging the battery. We’re going to need a different way to interface with the microcontroller to program it.
I’ll just jot down a programming port. I typically use a certain one and I’ll probably use that in this design. But I’ll address those details later.
Developing the Block Diagram
Next, I’ll take this list of features and requirements and start developing the block diagram to see how all the pieces fit together.
Here is where I’ll start fleshing out more details, like how many GPIO pins are needed on the microcontroller, and what voltage levels are necessary for the various components. I’ll also start researching actual components to figure out what I need based on the block diagram.
Now, I take my list of components and I start reading through the list and crossing off the items as I detail them out in the system diagram.
I usually like to start with how the product is going to be powered. So, I will start with the battery. I’m just going to put a battery block here in the system diagram.
That battery is probably going to be directly connected to the PCB, likely soldered onto it with just some wires or we could do a battery connector. Either way, that doesn’t have to be determined right now.
Next, is addressing the battery charging IC, so I will make a block for that. Obviously, that’s going to connect to the battery, so I add a little connector with an arrow from the charger to the battery.
Then from the battery, we’ll go to the power switch. We’re going to do some switch between the battery and that’s going to deliver power to our system. Then, we will go to our voltage regulator from the switch.
Then the USB connector is going to connect and deliver 5VDC to the battery charger which will be used for charging.
Our main component is going to be the microcontroller, so let’s add that to our system diagram and make it big since it is the core component that connects to the other components.
We probably also want to connect the microcontroller to the battery charging IC. Maybe we can use our LEDs to display when the battery is charging or when it’s charged?
That’s always good to do. You have access to those particular status lines of the battery charging IC.
As for the LEDs we use an RGB LED. RGB stands for Red, Green, and Blue LEDs. The product will probably need four LEDs.
The regulator is also going to power these LEDs, as well as the accelerometer.
The accelerometer is going to talk directly to the microcontroller and that’s also going to be powered by the voltage regulator.
We did the accelerometer and now finally need to add the programming port, which is going to be connected to the microcontroller programming port. We’ll connect that up to show that it goes to the microcontroller. This connector is not intended to be used by the end user, and is only for programming the unit.
We know have a simple block diagram for our entire system, and you can quickly see how many things are connected to the microcontroller.
Depending on what we find for the battery charging IC interface, and how many LEDs we use, and the accelerometer, we can determine how many GPIO pins are needed for the microcontroller.
From the battery charger we’re going to get a status for when it’s charging and when it’s done charging, so we’ll need at least two lines between the charger and the microcontroller.
Then for the accelerometer there are different interfaces available. You can get accelerometers with a SPI interface, an I2C interface, and even some with straight analog outputs.
Let’s target an I2C accelerometer because that’s a pretty common interface and it’s only two wires.
That’s at least two microcontroller pins for the battery charger and two pins for the accelerometer interface. Let’s say we’re going to do four addressable LEDs.
The LED I’ve used in the past has a single data line and more than one LED are daisy-chained together. These addressable LEDs only need power and ground, and a single data line from the microcontroller.
There’s not too many GPIO pins that we need, but it’s always a good idea to select a microcontroller with more pins than you actually need in case you want to add features later or hook up things that you didn’t think about before. Generally, it seems like we’re going to need at least five GPIO pins for this particular product.
Then, the programming port has dedicated pins on the microcontroller.
Okay, now we have completed system block diagram. I can now start looking to see what components are available for these various functions.
It is 2021 and due to the pandemic there is a chip shortage so we’ll likely discover that many components we select may not be currently available.
But before we begin selecting the chips and components for the custom PCB, we need to look at development boards to get up and running quickly without doing a custom design just yet.
For the proof of concept, I want to go out and find some development boards for most of these things to accomplish what our system design shows. And we’ll do that in the next lesson.Finally, don't forget to download your free PDF: Ultimate Guide to Develop and Sell Your New Electronic Hardware Product. You will also receive my weekly newsletter where I share premium content not available on my blog.
Other content you may like:
- FAQ: Can an Arduino or Raspberry Pi Be Used in a Commercial Product?
- Why Testing Your Product is Just As Important as the Product Itself
- Introduction to Switch Mode Power Supply Design
- How to Estimate the Manufacturing Cost for a New Electronic Product [Case Study: Bluetooth Device]
- Critical Rules to Follow for New Product Development