Pololu Robotics & Electronics
My account Comments or questions? About Pololu Contact Ordering information Distributors

Extreme line following


Thanks for the schematics. Coluld you also share schematics of the switching voltage upgrader? I consider some tweaks and also want to use it on my other robots (which use other parts from Pololu).

Could you please elaborate on line sensors placement? Some line tracers that I’ve seen use reverse V pattern with central sensor closer to the center of the bot. Some others use straight line. The number varies from 2 to 7 with 5 being most common. What were your considerations in placing the 3Pi sensors the way you did?


Thanks for the schematics. Coluld you also share schematics of the switching voltage upgrader? I consider some tweaks and also want to use it on my other robots (which use other parts from Pololu).[/quote]
Jan made up the schematics, so I’ll let him address this.

The main consideration was to place them as close to the forward edge of the robot as possible so that you have the maximum amount of time to see the line and react. Putting them in a straight line doesn’t really do anything for you except move them closer to the center of the robot and decrease the time you have to react. Having played with it, I really like having all of the sensors the same distance from the center of the robot.

There are three sensors close together along the center of the front edge that are intended for line following. Their positioning is such that a 3/4-inch line will not get lost in gaps between these three sensors; at least one of these three sensors will always be over such a line if you are reasonably centered, and three sensors give you enough of a span to be able to reliably stay on the line if your algorithm is tuned (as you can see from the demo line-following video).

The two outside sensors help if you’re following a line with very sharp curves. Furthermore, they become useful when you’re on a line course that has intersections or branches, such as a line maze. If you are following the line reasonably well, these outside sensors will be sufficiently far from the main line that they don’t see it at all. Therefore, if they do see something, you know you have detected an intersection (or a very sharp curve).

We chose five sensors because we wanted at least three closely packed central ones for line-following to go along with the two outside sensors. We briefly considered going with six sensors (i.e. four central ones), but we decided it was more useful to leave an additional digital I/O for the user.

Does this sufficiently answer your questions?

- Ben


Unfortunately, we are not releasing the details of the power supply at this time. We might release stand-alone versions or other similar products, which might make it more appropriate or necessary to provide additional details. What kinds of tweaks are you thinking about?

- Jan


I want to try 2 things: a) use stronger motors on 3pi
b) to use fewer cells on one of my robots. I was considering similar booster design once, but could not find a chip that gives more than 200 mA current. What chip did you use?

Will you sell 3pi wheels separately? I could not find them on the site.


Using stronger motors will probably not be that easy. We have some of the 30:1 gearboxes with the high-performance motors on their way, but using them will probably require more than just swapping motors. Also, multiple parts will be out of spec. at stall, so the robot could destroy itself much more easily (without even considering the smashing itself possibility with higher speed).

If you would like to use a higher gear ratio to get higher torque and lower speed, that should be no problem since it’s the same part electrically. The only unit we have with the same motor is the 100:1 gearmotor, but we’ll be getting the 50:1 soon.

There are many chips out there that will give more than 200 mA, though it always depends on things like your input and output voltages. We don’t want to go out of our way to make public exactly which components we’re using, but if you’re getting a 3pi, it should be fairly easy to figure out what we did.

The 3pi wheels should be available separately later this month.

- Jan


Hi all, I would like to check what it seems a litlle bug in the page:
where you explain the formula to calculate the position of the line respect to the sensors. It originally says:

and probably had to say:
“1value0 + 1000value1 + 2000*value2 + …”

I’m planning investing in one 3pi robot, i’m near convinced, the only one thing is i’m now in the middle of learning with microhip pic’s so make a turn with a different microcontroller… :neutral_face: What do you think? I have plans to MOD the robot upgrading the motors, as another user commented, with miniz racing ones (maybe Atomic Standard, or Atomic Stock, …), and with a different nose (sensors dispossed diferent for special competitions). I’m not sure if drivers will support those powerfull motors but I have a VNH2 driver waiting for that if necessary.

I will keep contact.

P.D: sorry if its difficult to understand all, I’m Spanish and not very good english writer.


What about 50:1 micros? (https://www.pololu.com/catalog/product/998)
They have higher RPM and higher torque, yet they fit in the same dimensions?

Also what is your estimate of the effects of overvolting the 3pi motors in light of Adam’s research here https://forum.pololu.com/t/tamiya-toy-motor-testing/617/1? Won’t they also show dramatic drop in expected life?

Tell me more! Tell me more! …


The high-power motors draw more current than is available. We’ve been running our 3pi robots for a few months now, and we haven’t had any motor failures. However, putting too much voltage on them might be more of a problem with the high-power motors since they are already turning so fast.

I don’t have much to say about the high-power 30:1 gearmotors. We should have them next week, and we should fill out our line to have all of the available gear ratios with the high power and regular motors. We’ll do some tests with the faster motors to see if they will work as a 3pi upgrade. Based on the tests with the 50:1 unit, I suspect we’ll have to lower the boost voltage a bit (we’ve had a motor driver blow out when a motor got stalled, so the power supply and motors aren’t necessarily the only limitation). The 3pi can already be quite squirrely in its stock form, so more power might make it too self-destructive.

- Jan

How to increase 3pi speed


Thank you for the clarification. Could you please comment a little more on 50:1 vs. 30:1. I am surprised that 50s have better RPM AND better torque while fit in the same dimensions as 30s. Typically you’d trade RPM for torque as your gearing grows. Are they using different base motors or is it a specs error?


The motors are not the same. You can see that the currents are quite different. That’s why I was saying that we’re going to have each gear ratio available with the high-power and regular motors.

- Jan


Good question about the formula for the position of the line. In fact, the version with 0value0 is correct; value0 does not affect the numerator of the fraction, but it does affect the denominator. The reason to multiply by zero is that, for example, if value0 = 500 and value1 to value4 all are 0, the line is directly over sensor 0, so it’s position should be returned as as value of 0. I could have left the 0value0 term out completely, but I kept it in to make it clear what I was thinking.

Which PICs are you using? We have been really happy about the performance of the AVRs, and the thing that makes them especially great for hobby and educational use is that the C compiler is free. It’s very easy to get started with 3pi if you use the C libraries, and if the extra sensors you want to add are complicated, you could still use a PIC to handle them, using a serial line for communication. So, basically, I’d say - go for it!


Hi Paul and Jan

I’m using 16F and dspic30F series. I’m playing with line-folower robots, so I was intrigated by the 3pi :). But I think I make a mistake: today I watched the specs of the 1:30 micro gear and “surprise” it seems to be VERY small, much more I think :(. I supossed it to be a 130 motor as the ones at Tamiya twin gear boxes I also purchases and thats the same size miniz cars use. But the ones you have seem to be near half size!!

The plans are to get a fast robot capable to run 2 or 3 m/s (meters per second) with turning without problem so I was looking for a more powerfull motors like in miniz car racers:
rcatomic.com/atomic/componen … ue02_m.jpg
The difference is VERY big compared to standard motors. Of course the driver need redesing but that is no problem. Now the big proble is the 3pi motos seem to be much more smaller in size so those motors does not fit.

I will ask directly to he shop, because I’m big consued with the size of motors and gears. I need a small gear to fit a 130 size motor and do not know wich pololu gearbox is, is there is any.


Hi again, I don’t know if any modding will be possible, but ordered one 3pi robot and just waiting for it to arrive. When I have it in my hand will try also to change the 4 AAA batteries with a LIPO 7,4V two cells. Do you know if should be any problem for the voltage regulators that “exces” in voltage (7,4V compared to 4*1,2=4,8V is 2,6V more). If a try I will post photos of the results of course.

Replacing the 4xAAA battery with Li-ions

I’m not sure what you want to achieve with the LiPos, but you shouldn’t do it. The motors run at above 9V, anyway, so you won’t get any performance change there. More importantly, the charged pack will be around 8.4 V, which is above the limit for parts involved in the power section, so you could destroy your 3pi.

- Jan


I was trying to archive a weight reduction and for the only reason I have some of them and for me it’s easyer to recharge them. Also to try if that gives any “better response” in the motors as LIPOs can give more intensity in a moment.

But if you say it can damage electronics, I will considere it.


The 3pi motor power doesn’t come straight from the battery, and the motors don’t draw that much, so there shouldn’t be any performance to gain from better batteries (other than longer life). If you really want to reduce weight, you might be able to run off just one LiPo cell. You should be extra careful not to over-discharge the battery, and it might be low enough of a voltage where you might see a bit of a performance decrease. From our experience, though, the robots run at full speed down to about 3.5 V and then suddenly die (this is also affected by the NiMH discharge curve).

- Jan


Ok, if I try it, will use only one cell, but as now I do not have any alone it will wait a while.

Another modding I’m thinking in (for this and for other robots), is there any serial out available thru the free pins? Why? I’m planning to substitute the display with a zigbee or similar wireless transmiter, so I can really debug in real time and send comand to the robot. I’m not used to Atmels so, what do you think about this?

Mine arrived a few days ago, and I had no time to start program it !!! :imp:
Here you can see a picture of 3pi robot next to my last line-follower robot, it’s much more smaller:

as you can apreciate pololu 30A dual driver in other robot is half size of full 3pi robot. You can also apreciate the big diference in size of micro motor (3pi robot) against a normal 130-size motor.


Wow, your line follower looks fast. How fast can it go?

The 3pi has the UART pins (PD0 and PD1) available for general-purpose use, and adding wireless communication would be a great use of those pins.

- Jan


My line-folower “tartanilla-2” achieved only a maximum average speed of 1,3 m/s in a oval circuit. But my programing skills are not very “big” and I had not very much time to fine tune the pid loop control. I think it can run much faster but I have to spend some more time coding. And of course, our circuits are much bigger thant the yours (minimum turn-radius of 40 cm).

I have localized PD0 and PD1 (RX and TX) between the two motors, next to a jumper, right? They seem to be 3 pins each, is it? Now only need to buy at least two zig-bee modules and start to try. You do not carry or plan to carry any?

Another thing, watching the 3pi schematic diagram in the quick-start sheet and the TB6612FNG datasheet:
it seems that some of the pins do not match:

  • M2 outputs (1-2, 5-6 in schematic but 18-17, 13-14 in datasheet)
  • GND (18 in schematic but 1 in datasheet)
  • A lot more…
    So, whats wrong? Or you have a very special pin configured version of it?


The datasheet you’re referring to is old (it says “target specification” and “pin layout is unspecified”). A current datasheet is available in the file download section of the resources tab.

You seem to have found the PD0 and PD1 pads; they should also be labeled in the top silkscreen. We do not have any specific wireless module plans right now.

- Jan