Production Arduboy Schematic

Thanks for the help,

But I still have a question about the battery protection.

Can someone tell me which components are used to make the battery protection and what the “FTD2017” is?

I don’t understand way this component is short to it self.

Also what is the component in the middel of the battery protection? There is no reference to is or info what it is.

Thank you in advance for the help.

The FTD2017 is just two MOSFET transistors contained in the same package.

The other component is a dedicated one cell lithium-ion/polymer battery protection IC. It’s probably a DW01-P or similar.


3 posts were split to a new topic: Troubleshooting homemade Arduboy schematic

Sorry to resurrect an old topic, but I was poking around the sound hardware last night and I noticed C12 (the DC blocking cap in series with the pizeo element) was replaced with a 220-ohm resistor.

Is there a more up-to-date schematic or is that the only change?

7 posts were split to a new topic: Display for homemade Arduboy

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.

  1. 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).

  2. 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?

  3. 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?

1 Like

5 years, no battery failures other than mechanical ones.

For any issues use

But any ideas why you made those design choices?


Can you at least tell us what specific battery protection IC the Arduboy uses, so we can determine what resistor values are recommended for it?



Are mistakes choices?

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?

(Or have I just been on the skooma again?..)


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!

1 Like

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.

Yeah I have a chance to rebuild the BOM.

1 Like

Need to tweak R2 setting I think, charging at an extremely safe 23mAh, I’d like to get it to around 100.

The schematic in the original post indicates R7 is for setting the battery charge current (but maybe you have a new schematic where it’s R2?).

According to the MCP73831 datasheet, you would use a 10K resistor to get a 100mA charge current.

The formula is:
Ireg (mA) = 1000 / Rprog (kOhms)
Rprog (kOhms) = 1000 / Ireg (mA)

Oh, well, you called the programming resistor R2 in your post,

So I just ran a test on the old Arduboy which uses a 2k programming resistor and it appears to charge at 24mAh regardless.

I updated to a 6.8k resistor and I’m only seeing slightly less around 23mAh.

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.

Sorry, my mistake. I’ve now corrected it.

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:

  1. 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.
  2. 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.
  3. Constant-Voltage Mode: When the voltage at the V BAT pin reaches the regulation voltage, V REG, constant voltage regulation begins.
  4. (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.