I decided to necro-post instead of starting a new topic for this.
In looking over a homemade Arduboy design for @mameise, I noticed a few questionable component values used in the real Arduboy that I’ve never evaluated before.
Resistor R7, connected to the PROG pin of the MCP73831 charge controller, determines the battery charge current. Its value is 2K, which will result in a current of 500mA. I believe the recommended charge current for the type of LiPo battery used for the Arduboy is 1C (a current of 1mA per 1mAh battery rating). The Arduboy battery is rated 180mAh so a 1C charge current would be 180mA. 500mA is 2.8 times 1C, or 2.8C. That seems quite excessive to me and probably isn’t very good for the life of the battery. Some LiPo batteries meant for RC use specify safe charge rates of up to 3C but I can’t find any recommendations that regular LiPo batteries be charged at more than 2C (and most say stay at, or below, 1C).
The part number for the battery protection IC isn’t given in the schematic but, based on the wiring, it appears to be a DW01-P or equivalent. If this is the case, the DW01 datasheet recommends that R11 be 100ohm but the Arduboy uses 10K.
This resistor, along with C11 is to filter out noise on the Vcc power input. The datasheet states that Icc (the current draw through the Vcc pin) is typical 3uA, maximum 6uA. At this current, the voltage drop across a 100ohm resistor would be a negligible 0.3mV to 0.6mV but with 10K it would be 30mV to 60mV. Since the voltage on Vcc is used to determine over-voltage and under-voltage, I wonder if the battery is still properly protected with such a difference between Vcc and the actual battery voltage?
Again if the battery protection IC is equivalent to a DW01-P, resistor R6 is on the CS (Current Sense) pin. The datasheet says this resistor should be 1K but the Arduboy uses 10K.
The datasheet states:
In normal mode, the DW01-P continuously monitors the discharge current by sensing the voltage of CS pin. If the voltage of CS pin exceeds the overcurrent protection voltage (VOIP) beyond the overcurrent delay time (TOI1) period, the overcurrent protection circuit operates and discharging is inhibited by turning off the discharge control MOSFET.
So if the resistor on CS is 10 times the recommended value, I wonder how that affects the over-current protection?
Does @bateske or anyone else have any information or thoughts about this?
Are mistakes not by definition the unintended consequence of some purposeful action which was undertaken by choice?
Conversely, can a mistake be a mistake if someone didn’t make a decision of some kind?
I was pretty spicy about the feedback about the power circuit but I might actually have a chance to fix it in another production batch. So thanks to @mlxxxp and thanks to everyone else for supporting Arduboy!
It’s just a matter of changing 3 resistor values, so I would hope it wouldn’t be too much trouble. Maybe you should consider changing the RGB LED dropping resistors to something more to your liking, at the same time.
Seems to have to do mostly with the internal logic and the batteries internal resistance so it doesn’t nuke small batteries.
By the way, I did all these tests with the first Arduboy, and nothing showed up weird. I guess I just never revisited the circuit after the tests all showed good values. If when I did this test it showed that the Arduboy was actually charging at 500mAh I’m pretty sure I would have gone back to the drawing board.
The MCP73831 has 3 charge modes. The charge LED will be on in all three modes but the current won’t always be the programmed charge current. You have to make sure you’re measuring during Fast Charge Constant-Current mode.
Summarising the datasheet, the modes are:
Preconditioning: If the voltage at the V BAT pin is less than the preconditioning threshold, the MCP73831/2 enter a preconditioning or Trickle Charge mode. It supplies a percentage of the charge current (established with the value of the resistor connected to the PROG pin) to the battery.
Fast Charge Constant-Current Mode: The programmed charge current is supplied to the battery or load. This is the mode you should be in to measure the charge current.
Constant-Voltage Mode: When the voltage at the V BAT pin reaches the regulation voltage, V REG, constant voltage regulation begins.
(Charge Termination, charge LED off): The charge cycle is terminated when, during Constant-Voltage mode, the average charge current diminishes below a percentage of the programmed charge current.
I measured the charge current of one of my Arduboys, as seen through the USB port, using a USB breakout board I made. I’ve changed the programming resistor on this Arduboy to 8.2K. The measured current was about 123mA. The formula says it should be 122mA.