It's bedtime. You check your instagram one last time before going to sleep. But what's this? Your phone is only at 10% battery! You want to wake up to a fully charged phone but you don't want to leave it plugged in at 100%. ENTER THE SMARGER.

What it does

The smarger is a smart charger for any device with bluetooth connectivity. The user can set an upper and lower battery level and the smarger will automatically start and stop charging accordingly. For example, it can be set to stop charging once the device reaches 90% battery level, and then restart charging when the battery level drops to 80%. This allows the device to be plugged in for extended periods of time (e.g. overnight) without worrying about leaving it plugged in at 100% battery level!

How we built it/How it works

The physical smarger is a prototype consisting of an Arduino Uno and a breadboard circuit. A Micro-USB breakout board accepts input from a regular phone charger (in our case, 5.2V/1A). A small portion of the power runs the Arduino and the rest of the power is used to charge the device. Check out the circuit in the image gallery!

The device communicates with the Arduino via a HC-06 Bluetooth module. In the Android app, the user can set the desired upper and lower voltage limits. If its initial battery level is lower than the maximum, it sends a “1” to the HC-06, telling the Arduino to begin charging. Once the upper limit is reached, the devices sends a “0”. Then it discharges until it reaches the lower limit, sending again a “1” to begin charging. The charging circuit is controlled by a mosfet acting as a switch, allowing the current to flow to the device or stopping it.

Challenges I ran into

Mitch: The biggest challenge for me was limiting the current flowing through the circuit. Since the prototype was built on a breadboard, I was apprehensive about pushing more than 1A through the wires. Due to unexpected losses, however, I only managed to get 0.6A at the output. In order to help maximize it I added direct connections between Vbus at the input and Vcc at the output, as well as between the mosfet’s source and Ground.

Another important problem I faced was my mosfet selection. The maximum threshold voltage of my mosfet is 4V, while the highest voltage I could get from the Arduino or power supply is only 5V. While the mosfet will conduct, a higher voltage would allow more current to flow through it. To remedy this, a voltage doubler is used to boost 5V up to 9.5V (Thanks Greg from Maxim Integrated for the help!). This increased the output current from 0.15A to 0.6A!

Fan: This was my first Android app, and the fact that it involves Bluetooth communication made it seem very confusing. It was difficult to keep of the methods and classes used to make the connection work.

Accomplishments that we’re proud of

Mitch: This was my first ever personal project involving transistors. I was able to get a working circuit, even if could be much more efficient.

Fan: This was my first Android app, and even if the aesthetic is very basic, it gets the job done!

What we learned

Mitch: I learned the importance of selecting the best components for the project. This is no easy task; much consideration and judgement is needed to weigh the advantages and drawbacks of each different part. Even if an element will “work” under operating conditions, it isn’t necessarily the most efficient one out there.

Fan: Everything I now know about Android development, I learned during this hackathon. Now, whenever I use my phone I will appreciate the knowledge and effort that the developers put into each app to make it work seamlessly.

What’s next for the smarger

We will possibly develop a PCB for the circuit and/or develop an iOS app.

Built With

Share this project: