Line Follower calibration stopped working


I have a 3PI Robot and I was running the Line Follower program on it.

After initially working, the calibration feature for the reflectance sensors has stopped functioning on one of my 3PI Robots. (The same code works on a second 3PI)

When it does the calibration it always reads “0” instead of the correct value.
This happened after the batteries went low and were replaced with fresh 1.5V batteries.

I am assuming that there is some problem caused by either ESD or a spike caused by the higher voltage batteries, but I don’t have much experience with these things. Has anyone ever had anything similar happen, and if so were you able to fix the problem yourself?

Is it common for the device to be able to power up and write to the LCD screen ect even after being damaged in this way?


Does the same thing happen when you load the “3pi-linefollower-pid” example code (included with our AVR C/C++ Library)? If it does, can you try using the read() method to check the raw values of each sensor? Also, could you try checking to see if the LED is emitting IR light by looking directly at it through a digital or cell phone camera while it is powered? Please note that some cameras have an IR filter strong enough to block this light (such as the rear-facing camera in newer iPhones) or make it very dim, but most should work fine.

It is not certain that your 3pi is damaged, but to answer your question, it is common for the LCD (and microcontroller) to function normally if the damage is isolated to a different component, like a sensor.


Thanks, this makes sense.

I have a working 3PI executing the same code, so I know it’s not the code. I compared the two using the camera on my computer, and I can see the difference in the IR Sensors. (working vs not working)

I had previously put electrical tape over the chips on the bottom of the robot, but it looks like I’ll have to take better care in future.

FYI this 3PI was from 2009/2010 so it’s not like it’s a new one that broke.