Non-responsive Arduboy. Red light charge, but that's it [Solved]


(Andrew Low) #1

My little guy was playing with one of the two kickstarter Arduboy units I have. He ran it until the battery stopped (or so it seems).

  • Plug it into a USB cable, the red charging light goes on - but I don’t believe it every goes off.
  • The unit won’t turn on (black screen).
  • It does not appear as a USB device on my linux box. (the other unit does, so I know the cable/OS setup are ok)
  • Flashlight mode doesn’t work.
  • Reset button doesn’t seem to do anything. Reset and watch for the USB device to appear, nothing.
  • I pulled the back off and checked the battery was ‘ok’ - it appears to have a 5v? charge and connections look fine.

This seems similar to Arduboy died - Only red led on when plugged – but in that case, it seems that the reset button did manage to cause it to appear as a USB device.

What I’m looking for is logical next steps to test. Maybe the power switch is bad? These things are pretty indestructible … so I should be able to get it going again somehow.


Arduventure on Arduboyの不具合について
(Pharap) #2

Have you looked into installing a USB logger/debugger to see what kind of signals the Arduboy is sending?

If you can see it’s sending the right signals then it could be the timing of the reset that’s off.
Otherwise it could show that the signals are messed up somehow and you’d be able to tell it’s a hardware issue.

Otherwise it could be suffering from the bootloader overwrite issue if it’s from the batch that didn’t have the protection pins set properly.


(Andrew Low) #3

@Pharap thanks for the reply with some suggestions.

I haven’t tried a USB logger/debugger – but I am using
$ watch lsusb
on linux which shows me the status of things that are recognized on the USB bus. The busted arduboy isn’t appearing at all.

Can you point me at the article/discussion about bootloader timing? I’m aware that after you hit the reset pin, you’ve got a small window (6 seconds) on which you can install… but I assume that inside that 6 second window you’d see it appear as a USB device? (and lsusb is telling me that I’m not)

As for bootloader overwrite – the arduboy was playing a game and then ran out of power. I don’t think that should have caused any writes to happen – but who knows, maybe on power fail interesting things did happen.

I think I’ll have to sit down with the thing apart and probe a few pins to see where power is (and isn’t) getting to.


(Pharap) #4

Based on testing with my own, it seems that it should do.
Though if the switch isn’t working then the reset button wouldn’t do anything anyway.

From what I know of the problem it would be more likely to happen in the course of the game being played or possibly upon upload.

That’s probably best if you’re able to do that.
If you find there’s something wrong with the power then you will probably be able to send it to be fixed by using the contact form.

If you don’t find anything wrong with the power, it might be worth assuming that it’s the bootloader at fault and attempting to reburn the bootloader.

There’s a thread about that here:

You’d either need an ICSP programmer, which can be found fairly cheaply online (USBasp is one of the preferred models), or even another Arduino board, as described here.
Either way remember to check the voltage tolerances (I think both links mention this, but I’d rather over-warn than under-warn).


#5

Did you ask him what exactly happened? he didn’t have a little accident with it he didn’t dare to tell?

The MCU in the Arduboy is pretty good protected against low power and brownouts that it’s not very likely that the Arduboy got corrupted just by playing. It’s also odd that the charge light won’t go out.

Is the reset button stuck by any chance?

If you think it’s the power button. you could try feeding 3.3V (or 3V but NOT 5V) into your Arduboy at the Vcc pad. Make sure the power switch is in the off (left position)


(Scott) #6

I find this technique works best for me (on Ubuntu Linux):

  • Set the IDE for verbose output during upload:
    File > Preferences
    Check the box for Show verbose output during: upload
    Click on OK at the bottom right.
  • With the Arduboy plugged into the USB port and turned on, start a sketch upload.
  • Wait for the compile to complete and the port scanning to begin (ports are shown in braces). E.g:
    PORTS {/dev/ttyS1, /dev/ttyS4, } / {/dev/ttyS1, /dev/ttyS4, } => {}
  • Press the reset button at this time.

(Kevin) #7

If you’re still having problem @Roo let us know via the contact page and we can try to help you out from there.


(Andrew Low) #8

@bateske - Thanks for the offer to sort this out via the contact page - I may end up having to take you up on that, but part of the fun is the adventure of figuring out what is wrong.

I had time to take it apart and get some data. Sorry the pictures are a bit fuzzy…

Front

Back

I can confirm, that after leaving it plugged in to my PC to charge - the red charging light stayed on all day/night. It never went out.

Measuring the voltage across the battery tabs on the back, I get a tiny bit more than 3V. This is probably not good, as the battery is supposed to be 3.7 – so I’m thinking that there is something wrong with the charging circuit.

I checked the continuity on the power switch. As pictured it is off (looking at the front, the switch is to the far left). When you move the switch to the right - I was able to measure connectivity between the two pins on the right bottom side of the switch. Switching off - disrupted that connection. So I’m fairly confident that the power switch is working.

Same for the reset button. I measured on the left and right sides of the reset button, and was able to detect connectivity when I pressed the button.

Now’s where things start to get a bit random - because I didn’t have in front of me a schematic for the board, so I was just poking around (carefully).

Adding a USB cable to a wall wart, I measured 4.97V coming in between the shell of the connector (ground) and just below the lit up red led that indicates charging. No surprise here.

I was able to measure 4.97V between the usb shell (ground) and the R5 (resistor) just above the USB connector in the front image. I thought this was a bit odd, but I guess the chip will work with 3v or 5v?

I decided to see if I could track down the power pins on the “cpu” itself. I kept the black probe on ground (USB connector shell) and carefully dragged the other red probe across the pins. If we think of the CPU as a diamond shape, about mid-way across the lower left side - I touched something that caused the Arduboy to come to life!

It was very temperamental, I mis-touch on another pin and it’d turn itself off again. I did have it running for a few seconds with nothing touching the device… then it would power off (or the screen would go). I even had sound and button presses working for a brief time.

Looking here - if this is the right data sheet - http://ww1.microchip.com/downloads/en/DeviceDoc/2503S.pdf I’d guess I hit Vcc or Reset?

No matter what I did, I wasn’t able to measure any voltage on the power switch from the battery (-) to the switch. Maybe I should have tried from battery (+) to the switch?

Looking at the back of the device, I was again - randomly poking around. I measured from the (-) batt connection to the lower left D15 CLK test pad. Here I got 2.7V - (no USB cabled plugged in). So I have a suspicion that the battery is not charging - and this is at least part of my problem.

Of course, I can’t seem to find my other (working) Arduboy for comparison at the moment.

So where does this get me?

  • Charging seems to be broken. Long periods of time plugged in to charge, and the light never goes off and the battery only reads a bit over 3V
  • Plugged into USB power, the device doesn’t work (I think it’s supposed to work right?)
  • I was able to see it working normally for a brief time (after I reset the CPU?)

So - any thoughts out there for specific experiments / tests I can perform here?


(Andrew Low) #9

So I came across this thread Failed Battery Charger [Solved]

This resulted in my taking it apart again. Referencing the Back picture above, in the bottom right corner of the image - there are two test pads - the labels blocked by the battery but I think they read

reset, gnd, vcc (from left to right) - and the thread above seems to indicate that I can have the power on, and measure the voltage between the gnd and vcc and see what the value is.

  1. Power on, nothing.
  2. Power off, nothing
  3. USB connected, power on, nothing.
  4. USB connected, power off, nothing.

I plugged in the USB to “charge” and measured across the battery terminals. Still just 3.06V showing. More evidence the charge circuit is toasted.

This really feels like a single bad connection or surface mount part. I’m fairly fearless when it comes to doing surface mount soldering by hand, but I’m unfortunately not skilled in diagnosis of electronics (I’m a software guy).


(Kevin) #10

Wow thanks for all the testing! Interesting results.

So I’ll have to go through and read datasheets again that I don’t have access to right now but what I believe is happening is the charge controller will only attempt to charge the battery if it already sees a certain voltage on the cell. This is to avoid overcharging a failed battery or potentially some kind of short circuit protection.

The battery protection circuit should disconnect the battery before it discharges to this point. It’s supposed to turn off the power around 3.2v or 3.4 volts if I remember correctly.

So what it looks like is the setting for the protection circuit is set lower than the lower threshold for the battery charging circuit. It could be a component tolerance issue, it could also be that the wrong parts were installed… which rings a bell I believe the factory asked if they could swap a compatible part… so it would seem maybe not so compatible.

So if you’re wanting to try and venture into the land of experimental testing… If you have a separate battery charging circuit for lithium batteries (sparkfun sells one on a pcb, ive also got a big one like what is used for RC cars) and you take off the cell and try to charge the battery directly.

CAUTION! The cell itself has no protection so if you try to charge it directly without any external protections or monitoring it WILL explode and catch fire. DO NOT DO THIS UNLESS YOU ARE KNOW WHAT YOU ARE DOING!

With the following caveat, if you don’t have a charging circuit of your own and don’t want to buy one or wait… You can actually just hook up 5 volts to the battery for just a short bit at a time. This is not a scientific method, and can’t really explain to you how bad it is for the battery. But sometimes I had some batteries fall too low when I was building prototypes and just to get them to boot back up I would short it to the 5v supply of the usb until it ways happy to run on it’s own.

WARNING DON’T TRY THIS AT HOME WITHOUT FIRE PROTECTION AND SAFETY PRECAUTIONS!


#11

I’ve had another look at the schematic and I’m not so sure the charging circuit is the issue. It tries to charge the battery as the LED lights up. But the battery doesn’t get charged.

I think it’s the battery protection circuit that is the issue. @Bateske metioned some alternate parts may have been used. Which may trigger the undervoltage protection too early and keep it active even when trying to charge the battery.

What you could try is bypass the protection circuit by connecting the battery negative terminal (-) to GND temporary. GND is the middle test pad of the 3 test pads at the bottom right in your image.

  • Switch arduboy off
  • Connect GND to battery negative (-)
  • Connect USB to charge it.
  • Wait 5 minutes
  • Disconnect from USB.
  • Disconnect GND from battery negative (-)
  • Try powering Arduboy on
  • If Arduboy works, continue charging normally.
  • If it doesn’t, try again for another 5-10 minutes.

Do not bypass the battery protection permanently or for long periods. The battery will fail because of deep discharging when in use or from overcharging when connected to USB.

I don’t know if the micro USB connector shield is connected to GND or not. But If your meter has a continuity (diode) test you could test if it’s connected to GND. If it is, it may be easier to connect the Battery negative (-) to the micro USB shield.

Edit:
The shield of the Micro usb connector is also connected to GND. You could also connect to that instead of the GND test pad.


(Kevin) #12

I really need to check what is happening again, because actually if I remember correctly just providing 5 volts to the battery momentarily with it connected to the circuit will bring it out of this condition?


#13

Yes it could. But I would use it as a last resort. When just connecting to 5V to the battery terminals, you don’t have control over the charging current. The capacity of Arduboys battery is just 0,67Wh and can’t handle as much as bigger capacity batteries. Secondly I’m not sure how the charge and battery protection circuit would react to this.

BTW I realize now that when the battery protection circuit is bypassed. Arduboy will turn on right away (when battery voltage still > 2.6V or USB is connected). So try this instead:

  • Switch arduboy off

  • Connect GND to battery negative (-)

  • Connect USB to charge it.

  • Wait 5 minutes

  • Disconnect from USB.

  • Disconnect GND from battery negative (-)

  • Try powering Arduboy on

  • If Arduboy works, continue charging normally.

  • If it doesn’t, try again for another 5-10 minutes.

Do not bypass the battery protection permanently or for long periods. The battery will fail because of deep discharging when in use or from overcharging when connected to USB.


(Andrew Low) #14

LOL - I’m wearing my “I Void Warranties” T-Shirt today too…

Super advice in this thread. This is such a great community.

I’m going to re-read things and then decide how I’m going to proceed, but giving the thing a little jump start seems like the way to go.


(Kevin) #15

Ok I pulled out some units that I’ll be doing some testing on. If jumping over the protection circuit still lets the charging controller do it’s thing it must be something isolated within the protection circuit.

I’m running the charge down on a few now, and then I can try to see if they exhibit this behavior.

Update: Fully discharged 2 new units until they would not turn back on. Plugged it into USB for just a few seconds, turned it on and let it run out for another minute or so. I’m going to keep repeating this procedure but so far I can’t get it into the same unresponsive state.

Next step is to see what voltage the batteries are in fact being turned off at.


(Simon) #16

You might want to get that printed on a fire-proof jacket.


#17

If you want to discharge them good put a 100 ohm resistor across the battery terminals and hook up a voltmeter. when voltage drops under 2.8V stop the discharge and try again. For slightly deep discharge you can try 2.5V I think.


(Andrew Low) #18

I had a chance to poke at my non-charging Arduboy again tonight.

First I measured the battery - still just a bit over 3V (like 3.005 on my meter).

I started with the device off. Plugged in a USB cable to charge. Used an alligator clip on the USB shield (ground) and hooked the other end to my black probe on my multi-meter. The meter was set to measure DC voltage.

I then used the meter to measure the battery. The same, just 3.005V. Hmm, no sign of charging.

Now, I expected to see ~5V on the battery when it was getting charged - but I must have been mistaken or something.

So, maybe try with the Arduboy turned on?

After a bit of fiddling, yup - something is happening - but the wrong type of something.

  • arduboy power on
  • usb shield (gnd) connected to battery negative
  • usb getting 4.97V in from wall wart
  • volt meter measuring battery

I’m watching the battery voltage drop. It’s 2.945V, 2.942V, … 2.930V

Ok, that’s not right is it? So I remove the probes/ground connection. That’s not what I expected at all.

Then I measure the battery. It’s slowly going up now. 2.944V, 2.9.45V… 2.955V

Just the wall wart -> USB cable -> Arduboy now. I’m checking the battery level from time to time.

It’s now up to 2.963V - so I have hope that the “momentary” ground connection started the charge cycle? Maybe someone who gets how the charge cycle is designed to work can make sense of this.

I’ll add another note when I stop charging it. (or it catches fire!)

[Update: 2hrs later, it’s still only at 2.981V - I’m starting to doubt it’ll get there. Also to be clear, no protection circuit bypass is active - so it should be safe to leave charging]


(Erwin) #19

I think it makes more sense to connect a regulable power supply.

That is quite low. My standalone lipo charger does not want to charge anything below 3.1V, what I always do is to set it to NiCD for few minutes until the voltage reaches 3.2V and then continue normally. So my first attempt to diagnose your issue would be to desolder the positive and try to charge the battery, cheap nicd/nimh/lipo chargers always are handy to have.


(Andrew Low) #20

After overnight, the battery had not gotten beyond 2.982V. So yeah, not working.

I have a (cheap) quadcopter which uses small 3.7V batteries, but I’m not sure how much of a ‘charger’ goes along side of those.

I’ve also got a la crosse battery charger which is very nice, but I suspect it’s tweaked to just do 1.5V AA and AAA batteries.

One thought is to run one of my quadcopter 3.7V batteries in parallel - this will “trick” the charge circuit into thinking that I’m good to go, and allow me to charge both via the Arduboy circuitry. Would this work?