My GoPiGo is doing [something unexpected]. What's Wrong?

Greetings!

I’m writing this for two reasons:

  • As an apologia to all the excellent people who have been patiently tolerating my rant-and-angst while trying to figure out the GoPiGo.

  • I’ve been fighting this beastie since New Years, and having finally found what probably amounts to 99.999% of my issues, (and feel like a horse’s back-side in the process!), I hope this saves someone else from going through the same grief I did.

Summary:

  1. Run the DexterOS “Hardware Test” and pay particular attention to the indicated battery voltage.

  2. Don’t trust a brand spankin’ new package of batteries just because they’re brand spankin’ new, or because they’re a big-name name brand.

  3. Pay particular attention to the difference between the measured no-load battery voltage with the connector unplugged and the indicated battery voltage during Hardware Test. There should be virtually no drop in voltage.

  4. If you don’t have a voltmeter, now’s the time to buy one. You can pick 'em up from Wal-Mart, Target or other stores dirt-cheap - and they’re worth every kopek you spend on them.

Issue:
You have a GoPiGo that - for some totally unknown reason - is behaving oddly. You’ve tried all the usual tricks, searched the fora, burnt brown rice and sacrificed small rodents, all to no avail. You may have even gotten on the fora and griped about the unmitigated piece of GAGH!!! that you’ve been shipped.

The bottom line is that you are no closer to the problem than when you first started.

My Story:
I bought a shiny new GoPiGo for myself and my granddaughters to learn Python on and have fun programming it to do things. Come New Years Day, we all rush to open our presents and out pops the GoPiGo to the excitement of everyone. (In Eastern Europe they celebrate New Year’s Day like December 25th is celebrated elsewhere.)

Remember, this beast is brand new. I haven’t even cut the tape on the box yet. Along with the brand new device, I bought several new packages of batteries so that there would be plenty of fresh, new batteries to go around.

I build it, rip open a brand new package of batteries and plop EIGHT new AA alkaline cells in it.

I get it running, connect to it’s web page, and start playing with it:

  • Driving it around manually works.

  • Servo works - but there are a few programming quirks which appear to be normal.

  • The distance sensor seems to work, but it’s a bit erratic, occasionally throwing an “invalid reading” or - sometimes - getting stuck in “invalid”, needing to be turned off and back on again.

  • Occasionally, God only knows why, the network drops and then immediately re-connects. And I’m less than five feet away!

  • Driving it programmatically is where the real problems begin. It runs, stops, makes a turn or two, runs some more, and then just dies. . . . The web site shows “working”, but the poor robot just sits there, lights lit, doing nothing. However, I can stop the program and begin driving it manually again. Works just fine driving it manually. No Problemo dude. None at all.

Like I said. . . . I’\ve been working on this thing for the last ten-or-so days and getting increasingly frustrated.

Today, snooping around the GoPiGo’s internal web pages, I discover a “hardware self-test” page with several Python scripts that can be run to do a pretty good preliminary test of the 'bot. I run it. Top-to-bottom. Soup-to-nuts. Everything passes except the very last test which is a “drive a carefully measured distance” (10 cm), test, where it just dies, just like it’s done before.

Reviewing, re-reviewing, and re-re-re-reviewing the tests, running them again and again, I finally notice - REALLY notice - the battery state; about half-way down. Noticed it before, but 50% capacity isn’t any real big shakes. . . . Then it hits me - those batteries are BRAND SPANKIN’ NEW - fresh out of the plastic-and-paper packaging. The 'bot has, maybe, 45+ minutes of power-on time and closer to 5 - 10 minutes of actual motor operating time on it so far - spread over something like ten days. High-capacity alkaline batteries don’t die that fast even when pushing a Pi-3 and two motors, especially when being driven so briefly and lightly.

Battery voltage as measured by the hardware test: 8-point-something volts out of a pack of brand new batteries that should be pushing a minimum of 12 volts DC. So I break out the trusty voltmeter. Measure 10.1-or-so no-load volts. Each battery measures, maybe, a peak of 1.3 VDC Open another new pack of batteries. A fresh battery from the other pack - 1.6+ volts. Here’s where I really begin feeling like the southern end of a north-bound horse. . . Strip out the original 8 brand new batteries and pop another set of 8 in. Measure - over thirteen volts unloaded and high twelves during self-test. Drop under load - about half a volt compared to the two-something volts of the last set.

Re-run self test and it’s a Thing of Beauty! I run my own programs that always failed miserably. Works like a champ. Ran them over and over and over and over and over again. and it worked like a $40,000 titanium/iridium alloy watch on Rodeo Drive.

Damn it ALL to Hell and back!! A whole blasted week, wasted because of some jerky batteries.

I’m bustin’ my hump because a brand new pack of batteries were shipped with virtually none of their useful “under-load” capacity remaining. Brand new, and these weren’t the El-Cheapo brand with a name you can’t pronounce even if you’re drunk kind of batteries, these were The Good Stuff. Expensive, Name Brand batteries - copper-colored end-caps, dancing bunnies, confetti, fireworks, the whole thing! And not worth the powder to blow 'em to hell.

Two take-aways here:

  1. Hardware Test is Your Friend. (and if I can find the link to it, I’m gonna’ post it too.)

  2. Don’t trust new batteries just because they’re new. (I know, I know, don’t tell me. . . . I’ve said this a million times before and I got bit just the same, just like a stupid rookie.)

Sheesh!

Jim “JR”

Wow I really like your post. It’s a very engaging story, I gotta tell you that.

By the way, how was the power LED on the GoPiGo3 behaving while you were running the hardware self-test? Did it slowly/continuously bounce off between green and red? Did your Pi even crash due to this?

Robert

Nope. No indication of problems from any lights as the 5v rail was solid as a rock

The power LED on the GPG3 (next to the power button) should indicate the battery voltage. Green means the voltage is adequate, yellow means it’s almost too low, and red means it’s too low (motors are automatically disabled in attempt to prevent a brown-out on the 5v rail). If the LED is flashing it means the RPi is not connected/booted yet, and if it’s solid it means the RPi is connected and booted.

I have never seen it as anything but green.