Dear engineers,

I have to make an engineering project which is a portable solar phone charger. One thing I need to do in it is to somehow charge the phone (android) from the battery (which is charged by solar panels) and simultaneously send data about the battery level to the phone through the same usb connection. Is this even possible to do? If so, could you please advise a way to do it? Would arduino be helpful?

I know that usb has separate lines for data and power, but I don’t know how a phone can receive this data and whether it will work while charging. I was thinking about using arduino, but it doesn’t seem to be well suited for charging a phone (maximum current output is rather low). Would it work if I made separate circuits, one for charging a phone and another for reading the data from voltmeter and sending it to the phone through the other pins on usb?

I’m sorry for such a tremendous question, I just don’t have much experience with electronics (not even a year at college), and I must somehow do all this stuff.

  • $\begingroup$ Does your portable charger require to store the charger in some type battery or simply transmit the power to a consuming device like a LED, or phone. What are the electrical specifications?. $\endgroup$ Jun 3, 2018 at 10:25

1 Answer 1


It is assume that the PV panel is charging a battery such as a LiPo or a Li-Ion battery Cell. A battery Gas gauge circuit such a STC3117 (Gas gauge IC with battery charger control for handheld applications) and micro-controller. To use a STC3117, micro controller with I2C such a Arduino DIY platform is suitable.

STC3117 I2C

Arduino I2C pins

You are correct USB has a data lines which can be used to communicate the status of the portable solar charger. Upon connecting the phone an application on the phone could read the status of the mobile solar charger display the status. This link on Communicate with Your Arduino Through Android should provide a starting point to communicate to a phone.

Hope this will help you get started.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.