The Solar Mobile Charger and Powerbank is the first Developpa’s cornerstone project where a product will be taken from its conceptual stage (so when it is just an idea), through all the design and development process that you can see outlined below. This page will act like a sort of educational log book where I will write down and share the different work products, decisions and experiences of taking this product idea first from concept to prototype and then from prototype to mass production. This last stage will be mostly theoretical as I cannot actually produce 1000 of these units (unless you want to sponsor the project of course my dear reader :))
Because I am mostly an HW Engineer and focus on electronics, most of the content will be aimed towards these areas. However, embedded software and enclosure design will also be part of the article.
Hopefully, you can use the structure here as a canvas for your next product design and you will enjoy the evolution of the project. I will do my best to keep on schedule, however, expect moments of quietness as I need to focus on other aspects of the website and external duties.
With that said, let’s begin Developping!
Because this is not a product for commercial purposes, an actual market research has not been made. However, it should be mention that if you intend to make a product for a profit, the first thing you should do is to determine if people will actually pay for it. This is a whole topic on its own and I did not study a related field, however, I will mention a few simple things you can do to determine if your product is sellable:
Look into existing products
Does your product already exist in a similar way? Do not reinvent the wheel. Look how well is selling the similar product, what people like about it and what they don’t. You can look into specialized websites reviews but these could be biased, otherwise, Amazon reviews should be a good starting point. By knowing what the other product is lacking then you can aim your design to address these issues, therefore, producing a possibly better sellable product. Another good thing about researching existing products is that it gives you a feel for the technical requirements your product should have. If it’s not a first generation product or unique, then other engineers have already gone through the design process and have selected components taking into account: technology limitations, costs and physical constraints such as size and weight.
Conduct user research
If you are like Steve Jobs you might want to skip this step. Find your target audience and ask them about what they think about your product. This can be done through interviews or polls. You will probably need to have some sort of incentive so people actually donate a bit of their time. Think of use cases as well. How will the user use this product? think in times of the day, location, number of users, etc. This could all give you valuable design requirements to be implemented.
If you are working for a client or company, you will have to deliver the project on an agreed date. Even if you are just making something for yourself for the sake of it and delivery time is not important, having a structured plan to follow can help you focus and be more efficient as you can see the bigger picture and somehow have the road ahead slightly defined.
As in the previous section, Project Management is a topic of its own that apart from defining tasks and their delivery dates, also involves in assigning budgets to different parts of the projects (including the engineer’s wage), creating the team structure and roles, talking with suppliers to ensure components are delivered when required, contact point for client and many other tasks.
Because of the nature of this project, the project planning will mainly focus in defining the main tasks of the development process and setting up some milestones such as the date when the PCB Gerber files should be sent to the manufacturer. I will also add delivery dates for the sub-tasks mainly for esthetical purposes as it will be very hard to keep on track with this level of granularity. Here is the main difference between an example project such as this with a real project where you have stakeholders that are expecting a product to be delivered on time. So if you are working on a project for a client I encourage you to try to stick to the deadlines written initially and give them some overhead. Humans are very bad at predicting how long they will take for a task and sure as the sunrise you will encounter problems along the way which will delay your original timing, as said in a previous article by Mario: Underpromise and Overdeliver.
Tools for Project Planning/Management
The classical project management tool is the Gantt Chart which is very good to visualize parallel tasks of the project. To make a Gantt Chart you can use Microsoft Project or download the free template I am using for Google Sheets in the Resources Downloads section:
Also, if you want to micromanage a team, I highly recommend using a Trello to assign tasks with time frames, add bullet points, images, link it to Google Drive folders and other interesting functionalities.
For this project, I have used the Gantt Charte Template where I have assigned with pretty much the same headings as this articles plus some sub-tasks. I am also using a To-Do list (Any.Do) for my daily tasks as I don’t want to put these, neither they are required in the Gantt Chart. I have created so far only one milestone for the 15th of July, where I should send the PCB Gerber files to a manufacturer for production and assembly, let’s see how things go 🙂
Note that, as this page, the content on the Gant Chart will also be changing with time.
02_Requirements and Specifications
What does a practical hands-on engineer or maker hate the most? I would say spending time writing documentation instead of using that time for designing stuff. Usually, when an engineer already has the function of the device clear, he/she jumps straight into the design: buys an Arduino, programs it and makes the magic happens. And this is great, nothing better than having an early proof of concept of the product and show the stakeholders that you can make it. The issue with this approach manifests if, after the proof of concept stage, the engineer starts picking up components and designing the schematic without first having formalized the functions, behaviour, operating parameters and expected performance of the device.
When this happens, it is very likely that at later stages, an expected function will not perform properly because this was not exclusively specified. Suppose that you are building up an electric car (ambitious project right?) and you have to design a battery management system that senses current so you can determine the state of charge of the battery by counting coulombs. You design your current measurement circuit and chose good components without doing a WCA and really looking into the actual accuracy you can achieve with your circuit. Later you found out that the time the vehicle can last without charging is less than expected, and you figure, well probably the battery wasn’t sized properly, the motor is not as efficient as they say and so on. You never thought in checking the accuracy of the current measurement circuit, after all, they just asked you to design it no one SPECIFIED THE ACCURACY OF THE MEASUREMENT. And that could be, exactly the root cause of the problem because the required accuracy wasn’t specified from the beginning, the designed circuit didn’t take this into account and turns out that your coulomb count is inaccurate and is showing the wrong charge level of the battery.
After this example, you can hopefully understand the importance of having an agreed set of requirements and specifications before starting the detailed design It will save you time, money and it gives you a design goal, you can now design your circuit with a tangible and measurable result in mind.
Solar Charger and Powerbank Requirements and Specifications
A document was created to formalize the product requirements. The requirements are divided into the following categories:
- Product Description: general high-level description of the product.
- Design Requirements: what the product needs to have or be in terms of components and high-level design.
- Functional Requirements: the functions the product is intended to do.
- Environmental and function environment Requirements: related to its impact on the environment and in where it performs its functions (EMC here).
- Mechanical Requirements: enclosure related requirements.
- Service Life Requirements: operating time and operating temperature.
- Testing Requirements: associated with tests the product needs to comply.
Each requirement is unique and expressed in the following manner:
If you want to see the full Requirements and Specifications document you can download it from the Resources Downloads section and use it as a template for your design.
High level, product description of solar charger and powerbank
The mobile solar charger and powerbank is a set of HW and SW that is intended to supply 5V to any low power load, particularly a mobile phone battery that needs to be recharged. This power is supplied by both a battery and a mini solar panel, with the battery being the primary current supplier while the solar panel is intended to recharge this battery. Apart from having a 5V output, the battery from the charger should also be able to recharge it via a USB connector. The product should have a portable size and weight and a screen to display different information to the user that it is measured by different sensors across the circuit, these parameters include: voltage, current, power, temp and remaining charge. The user must be able to turn off this screen to extend the battery life of the product.
These requirements define the essential functions of the product from a HW perspective:
Power supply capabilities
The power output of the product must be of 5V +/- 0.1V and >2A
Battery charging capabilities
The battery must be able to be charged through external power via a 5V power source or the external solar PV panel. The product must have a battery charging IC to properly manage the charging of the battery. This IC must have over voltage, over current and over temperature protections integrated and must not require programming.
The following voltages must be able to be measured by the circuit:
- Input voltage from external power sources
- Battery voltage
- Output voltage
All voltage measures should have an accuracy of +/-0.1V
Current must be measured at the following points:
- Power input (before the charger IC)
- Power output
All current measurements should have an accuracy of +/-5mA
The temperature must be measured at the following points:
- At the battery
Temperature measurements should have an accuracy of +/-3C
The research stage is the time you seat down to look and compare different available technologies that can meet your product requirements. Sometimes you will have to iterate between requirements and research. For example, in this project, I wasn’t sure what type of battery and capacity I should choose, so I compared with existing products and then updated the requirements.
The main purpose of the research is to select the main components of your circuit. Those are the ones in charge of handling the core functions of the device. If we look back to the system diagram defined in our Requirements and Specifications we can see that these main components are:
- Battery Charger
- Power Converter
- Solar Panel
How to select main components
Selecting main components is a delicate procedure where you have to take into account many variables and balance them together in order to achieve the product requirements. Sometimes because of technology limitations or excessive cost, the requirements need to change and adapt (in my last job, the client asked for impossible voltage accuracy values, they knew this, so all they wanted to see was how accurate we could get).
There are many metrics and key parameters to compare, but most of the time it comes down to cost and performance, being these two variables directly related (better performance, higher cost).
When you don’t know what you need
But before comparing apples with apples or bananas with bananas we need to decide what fruit do we want. For this project, I wasn’t sure about key parameters such as battery technology, charger power output and solar panel power output. Because this is a product that already exists, I did a comparison between the highest rated similar products so I could have some guidance on where to start:
From this quick product research, I took the following design decisions:
- Battery technology: it is clear that Lithium Polymer is the preferred battery technology. After doing some research, capacity wise, LiOn is better as it has a higher power density, however, they are more likely to explode. In this case, a design decision must be taken, what’s more important, more battery capacity or the safety of the user? definitely the safety of the user. If you want to see a proper comparison between LiPo and LiOn check this article at RAVPower
- Battery size: some of the products I researched are real power banks, packing up to 24Ah. I am interested in having a powerbank that can be charged using a small solar panel, therefore having such a big battery will make that goal really hard. Therefore I chose 4Ah as it is the lowest capacity in commercial mobile powerbanks.
- Solar panel output power: all power output of solar channels are meagre and not capable of properly charge the battery. For this reason, I took the design decision of having an embedded solar panel with the highest power output possible plus an external solar panel that can actually charge the battery. The output voltage of the solar panel was selected to be near 5V, this was for the case when the small solar panel is connected in parallel with a USB charger. If the voltage of the solar panel is too big it can damage the USB charger if this doesn’t have a diode. However, as the current in the charger is higher, this voltage will dominate the line.
- Power in: I want the user to be able to charge the battery as quick as possible, therefore, a battery charger with 2A of input current will be designed.
Comparing and selecting main components
Now, using our requirements document and the previous investigation, it is time to look for components that have the required parameters. When selecting ICs, some common properties like low power consumption/mode and SMD footprint shall be taken into account.
Following the properties defined in requirement 231, the PIC24FJ256GA702 was selected. This is a 28-pin 16-bit MCU with ADC peripheral, internal oscillator and supports serial communication, it also supports very low power modes. Truth be told, there is probably tons of MCUs in the market that could have been selected, however, I am familiar with PIC programming, so for ease of use, I have selected a PIC 🙂
Because of mobile phones, IC manufacturers have developed a wide range of chips that can charge a lithium-based battery by feeding them 5V. However, for this application, I wanted to add a little extra. Because the idea of the product is that the internal battery gets charged by a solar panel rather than a USB charger, I looked for ICs designed so they can charge a Lithium battery using a solar panel. Solar panels are not conventional power sources, their voltage and current output depend on the available irradiance. Because of this, regulation techniques such as a Maximum Power Point Tracking need to be implemented to make the best use of the available power.
They were both lithium-ready battery chargers, have over/under current/voltage protections, temperature sensing and status pin. The LTC4079 requires fewer components and it is about a dollar cheaper, however, it can only charge 250mA of current and does not have MPPT. The LT3652 was selected.
According to the product requirements, a 5V/2A power output is required. This power source is directly taken from the battery which has a nominal voltage of 3.7V, therefore, a boost converter is required.
Texas Instruments has some easy to implement and well-documented voltage regulators, it also has a tool called WEBench, where you can input design parameters and it shows you the best IC solutions for your needs. I normally use it when I quickly need to check for options about switch mode power supplies, what components I will need and how much it will cost.
The TPS61230 was selected as it provided the required input/output requirements, minimum external components, high efficiency, small footprint and useful datasheet. It is a bit expensive though. If this was a commercial product I will probably spend more time looking for a cheaper alternative.
Solar Photovoltaic Panels
Choosing the solar panels was actually quite fun. You can go the traditional way and look in different online shops for a solar panel that fits your specifications. However, because I needed custom-made specifications, I decided to have a look at www.alibaba.com. Being China one of the biggest solar cells manufacturers at cheap prices, I found an abundant range of companies willing to make solar PV panels prototypes with my required specifications, this includes deciding even the type of connector you want on your solar panel cables.
After talking to a few companies I rounded up my search to Jianmeng City Bright and Shenzen Shine Solar. Both companies provided me with datasheets, RoHS and CE compliance statements. In the end, I chose Jianmeng City Bright as they gave me better prices. For 28 USD I got both solar panels delivered in one week to my place:
I quickly checked their open circuit voltage and they seemed to be around 6V as per the specification.
Later on, I checked its output current with a load on and made this video:
A battery has still not been chosen as this is not hard to find. The only special requirement I need is a battery with an integrated NTC, so I can measure the temperature.
A display has yet to be chosen. The main parameters to chose the display are:
- Low power consumption
- 3.3V compatible
- I2C protocol
- Library available to implement it with a PIC MCU
The System Architecture is the high-level definition of the system’s functionalities and interconnections. It serves as a map to look at for guidance that can be used to organise the design of lower level functions.
System Architecture is definitely a must in complex systems. A complex system it is understood as a device that has many inputs/outputs and functionalities that interact with each other and other systems. Be defining the System Architecture before the circuit schematic or the firmware, you are effectively adopting a top-down design approach, where you define the high-level components first, and then the lower level elements.
When designing an electronic product, there are two diagrams which are essential for your System Architecture, a Hardware Block Diagram and a Software Flowchart.
Hardware Block Diagram
The following Diagram was drawn to represent the circuit elements of the Solar Charger and Powerbank:
Defining the main program that the MCU has to execute it is a very useful activity as it can bring out some hardware functions that are required to successfully achieve the full functionality of the device. It also serves as preliminary work for the source code coding, as you already have a starting point.
A software flowchart must be expressed in decision and action terms, be sequential and avoid software language (so instead of LED = 1, LED turns ON).
06_Schematics Capture and PCB Layout Design
The software I would normally use for schematics capture and PCB layout is Proteus from Labcenter Electronics. It is not a bad software and I like it. However, it is not free and I was tired of creating parts 🙂
The schematics and PC layout where created using Upverter. Its motto is: “Create products, not parts”, which I liked, as I wanted to spend the least time possible creating components and footprints as this is a daunting and time-consuming task. Also, because Upverter is part of the almighty Altium, free and had good reviews, I decided to give it a go.
The main reason I chose Upverter was to avoid creating parts. I was a bit disappointed when I searched for the PIC I selected for my design and it wasn’t available. There were two options, paying for their concierge service around 30 USD for them to create the part or create it myself. I decided to create the part myself (with much resent).
I am happy to say that, after a few tutorials I managed to easily learn how to create parts. The process is quite straightforward:
- Give the part attributes and properties
- Create pins
- Assign them to a symbol or create one if it’s an IC
- Assign a PCB footprint
To be fair, most of the other ICs used in this design were already part of the library. Just what I was looking for.
Other than that, there were just a couple of things that bothered me:
- A bug when you move a net, it moves the net somewhere else, therefore sometimes you cannot make the schematic look as you want to.
- You cannot insert shapes or a “template”, so you can add the project name, date, designer, etc.
- Symbol rotation leaves the text in an odd position so it needs to be rearranged manually (waste of time).
- I was expecting to have an automatic BOM with Digikey prices as an output function. However, there seems to be a bug where it fails to read the DigiKey tag and doesn’t display the price, so you have to look for it manually.
Despite its weaknesses, Upverter is a good software and best of all it is free, so if you want to start making your own schematics and layout I would definitely recommend checking it out. Just make sure you have a good internet connection as the whole software is cloud-based.
07_PCB Manufacturing and Assembly
11_Enclosure Design and Production
12_Compliance and Certifications