Day 25: MC-1 Part IV: Steering using a servo

The first version of the MC-1 (Monster Car 1) presented on days 20, 21, and 22 used a solenoid to steer the wheels. Unfortunately, that approach did not work at all–I think I broke the solenoid 😦 –so I decided to replace it by a servo.

The first step was remove the solenoid and the enclosing box and cut the plastic to make room for the servo.


I have made a hole in the plastic to attach the servo using a machine screw and a nut. I have attached the other side of the servo to a L-shape servo support. The support itself was fixed to the chassis using a self tapping screw because that part of the chassis was very thick.

I have made a hole in the steering bar and connected it to the servo wheel using a paper clip.


The final result is very good, as we can see in the following pictures.




This picture shows the servo in the car with the wheels on the ground.


I am not using the whole range of positions the servo provides. The pulses width are from 1000 µs to 2000 µs.

Day 20: MC-1 Part I: Hardware

The MC-1, abbreviation for Monster Car 1, is based on parts of a car that once was remote controlled. My wife chose this name because she thinks it is ugly as a monster.

The front wheels are turned by a solenoid. Since the current provided by the L293D is limited, I created this workaround. When the servo moves, it causes the paper clips to close an electric circuit and activate the solenoid.


I have created a standard for the wiring–The connectors that provide power are females and the one that receive power are males. Hence, I don’t have energized male connectors touching each other causing short-circuits. I used glued tape to group the wires together and label them. In this way, it will be easier reconnect the chassis to the board.

MC1-Board MC1-Chassis

I used Velcro to attach the breadboard and the Raspberry Pi to the car. This is how the final assembly looks like.


Day 16: Assembling the pan/tilt bracket

The ROB-10335 Pan/Tilt bracket from Sparkfun is a device that allows positioning something using two servos.

I have assembled it through the following steps:

1) Screw the support to the base servo

Tilt-1 Tilt-2

2) Attach the lower part and the inner servo support. The support was not firmly attached at this time.

Tilt-3 Tilt-4

3) Screw the support to the top part and assembly everything together. First, I put the screw to the server (right side of the picture), then I put the screw in the another axis, and at last I tighten the screws for the inner support.

Tilt-5 Tilt-6

In order to test the final assembly, I used the same setup from Day 14.

Day 14: Controlling a servo using ServoBlaster

I connected the servo control wire (the white one) in the GPIO-24 pin and connected an external 5V power source to the red and black wires:


As usual, the external power source ground is connected to the Raspberry Pi ground.

Using the Servo Blaster library was pretty simple. The first step was setting up the library:

sudo ./servod --min=50 --max=250

By default, Servo Blaster assigns servo 6 to GPIO24. For my servos, the valid pulse width values go from 75 to 225 (750 µs to 2250 µs), centering in 150:

echo "6=75" > /dev/servoblaster
echo "6=150" > /dev/servoblaster
echo "6=225" > /dev/servoblaster

To stop the Servo Blaster deamon:

killall servod