Some time ago I puchased a small toy robot called a 3pi from a company named Pololu Robotics & Electronics. It's a small, two-wheeled design based on an ATMegax28 and, among other things, it can be programmed to do line following. When my daughter and I were invited to present our Self-Driving Model Car project at the 2012, Bay Area Maker Faire, we brought the 3pi robot along as a simple, visible demonstration of how the our GPS-guided car is able to follow an invisible line defined by satellite coordinates and mathematics much as the small robot follows lines drawn on paper. The small robot was a big hit with the kids who came by our booth, as we let them draw a track and then watch the robot follow it. However, at some point, the holder for small idler wheel, which is a plastic ball, got damaged, probably when the robot slipped away from one of the kids and ran off the edge of the table.
When, a bit later, my daughter was invited to speak at Geek Girl Con in Portland, OR, she decided to take the robot along. But, since it was damaged, I decided to order a replacement 3pi robot. But, when the new robot showed up, it was nonfunctional right out of the box. I found this surprising as, to that point, I'd always had a good experience with the stuff I bought from Pololu. Unfortunately, we waited a bit too long before testing the robot, having assumed it would be functional and ready to use. So, with time short before my daughter and her mother had to leave for Portland, I sent the following email to Pololu:
Urgent: Dead 3pi Robot
My daughter is schedule to give a talk at Geek Girl Con and was planning on using the 3pi robot for her talk and demo. The conference is this Saturday and we cannot get the 3pi to power on. The blue lights blink once when power is pressed, but the LCD never displays anything and the demo program does not run. We connected the AVR programmer to see if we could flash in new software, such as the line follower demo mode (which is what my daughter hopes to demo), but since the unit does not power up, the programmer is useless. Help. We really need to get this figured out, and soon.
My order # was xxxxxxxxx and my customer number is xxxxxx. Is there anyway we could get a replacement unit shipped to us RUSH? My daughter and her Mother are flying to the conference on Friday morning, so a replacement is needed by Thursday, so this would need to be an overnight shipment. Thanks.
I got a call back from David at Pololu, followed by this email:
I spoke to you on the phone a few minutes ago. We test every board before it ships, so it is likely you either inadvertently damaged the 3pi or are currently doing something wrong. It sounds like the batteries are either low or there is a short somewhere. It would be good to try it with a new set of batteries. Also please try powering it on with the LCD unplugged, because plugging the LCD in the wrong way can lead to problems like this.
We are happy to provide a 70% discount for a replacement 3pi, and if you succeed in getting the first one working then you will have a backup. To get the discount, you can enter the coupon code XXXXXXX at http://www.pololu.com/cart and then click "Update cart".
Instead of a "gee, we're sorry we sent you a defective device" I got a "it's obviouly not our fault, but yours" type of, pass the buck response. So, in effect, I could pay 30% more, plus express shipping, to get a functional device. I'm not going to quibble about the shipping, as that was due to our failure to test the robot promptly when we first received it. However, the words "you either inadvertently damaged the 3pi or are currently doing something wrong" just rubbed me the wrong way. So, I decided to investigate and see what was wrong with the thing. However, it turned out that the schematic diagram for the 3pi omitted the circuity that I suspected was broken (a push on/off electronic latch with MOSFET power switch.) So, I sent back this reply:
Thanks for the discount. I've placed the order for the replacement unit and I'll have my fingers crossed that it arrives in time. BTW, for reference, here's a link to the conference where my daughter and her mother will be presenting:
My daughter is a big advocate for trying to get girls and kids more interested in STEM issues and we had thought the your robot could potentially make a big impression at the conference.
Also, when I have time, I do plan to investigate the failed unit in detail, figure out what is wrong with it and write about it at my blog at:
But, since the problem seems to be confined to portion of the circuit that is undocumented, this will be more tedious than it needs to be. Can you supply me with the schematic for the missing section, or will I need to reverse engineer this part of your design?
This was my gentle attempt to get them to accept some potential responsibility for having sent me a defective robot or, at the least, to send me the information I needed to diagnose and fix the defective unit. But, I got no response from Pololu to my request for the missing section of the schematic (I guess this circuit must be so clever they need to keep it secret.) So, I decided to dive in an investigate myself. I dug out 3pi with the broken idler wheel and compared its PCB to the newly-purchased 3pi. As luck would have it, it didn't take me long to spot the problem. So, I sent off this email to Davis at Pololu:
It didn't take me too much time to figure out what's wrong with the defective robot we received. Unless I'm mistaken, the attached photo shows a missing 6 pin SMD in the power control circuitry. The power control is a very clever design, but do I think it needs this part to work properly.
As you can clearly see in the above photo (click to enlarge), there is a missing 6 pin device of some sort. It's just plain, not there. My guess is that perhaps this unit had to be repaired and never got it's replacement part, or perhaps something went wrong during assembly of the PCB. But, at a minimum, I figured I'd vindicated my diagnosis that the unit was dead on arrival when we received. But, no. I was wrong. A few days later, I got back this response from David:
Wow, that part looks like it got ripped off kind of violently along with the PCB pads. Do you know what happened to it?
I'm not quite sure how David saw how "violence" was required to explain the missing part. To my eye, none of the nearby parts are damaged, or disturbed. And, the PCB pads look intact to me. And, since the plastic wheel to the immediate left serves as a pretty good physical shield, I was hard pressed to see we could have damaged it except to take pliers to it. However, the real meaning of David's reply was clear to me. He was clearly insinuating, again, that the problem was our fault and that we had violently damaged the PCB, not them.
I was insulted at this, not so vague attempt to call me a liar. I work with SMD-based PCBs all day. I design them. I assemble and solder them. I know that I did not damage this board. But, of course, I have no way to prove this. But, likewise, Pololu can't prove to me that this wasn't damaged before they shipped it to me. All I can do is tell me side of the story as a way to vent my frustration with having been treated rather shabbily, in my opinion, by a company I used to respect.
p.s. I'm leaving comments enabled for this page because I'm curious to hear if you think my anger is misguided, or whether you feel I was genuinely wronged. However, if I get a lot of comment spam, I'll probably turn it off.