Attiny Canbot





Introduction: Attiny Canbot

This short Instructable will show you how to create a remote-controlled robot using 3D-printed parts and an Attiny85.

Step 1: Aquire Components

Parts list:

1x Atmel Attiny85

2x HXT900 from Hobbyking or any same sized micro servo

1x 3,7V LiPo battery (e.g.

1x HC-SR04 Ultrasonic range sensor

1x 38kHz Infrared receiver (e.g.

1x 9 x 4mm switch (or use a jumper)

3D printed parts:

1x bottom.stl

1x top.stl

2x wheel.stl

Print the top and bottom parts with the flat side down and supports enabled.

Depending on your printer and servos you will have to sand those parts down a bit.

Step 2: Electronics

Modify the servos for continuous rotation. You can find a nice tutorial here:

Connect the components as shown in the circuit diagram.

It may help to use a small prototyping pcb and thin wires.

Step 3: Programming

You can program the Attiny85 using Arduino code and an Arduino as a programmer:

The full source code can be downloaded from this Instructable (or the Thingiverse page).

The infrared receiver works best with Sony remotes.

You will have to flash the code to an Arduino and output the data via Serial.print().

This way you can find out which button corresponds to which code.

Step 4: Assembly

Place the components inside the robot using hot glue.

The two halves of the 3D-printed shell can be assembled using the screws that come with the servos.

2 People Made This Project!


  • Pocket-Sized Contest

    Pocket-Sized Contest
  • Pro Tips Challenge

    Pro Tips Challenge
  • Paper Contest 2018

    Paper Contest 2018

We have a be nice policy.
Please be positive and constructive.





What's up with snakes?

What remote you need depends on how experienced you are with Arduino and electronics. If you needs something for beginners you could look for a complete kit like this:

You can also take the remote from your TV and figure out the code somehow. But that is more difficult.

what remote should I buy?

Sorry to bother you again but, do you have to sync the remote to make it work or does the sensor just take in the info? Thanks again!

Does this ronot move atonomously without the remote or do you have to reprogram the chip? I really like your design!

The easiest way would be to delete the IR function and place just this in the main loop:

if(getDistance() < 10){ // check if you are in front of an obstacle

moveMotors(94, 20); // drive backward in a curve

delay(400); // give the robot time to balance out



moveMotors(120, 120); //drive straight forward


But you have to experiment a bit until it will work.


Right now you need to press a button on the remote to enter the autonomous mode.

But if you are capable of programming the Attiny with an Arduino, changing a few lines in the code should not be a problem for you.

i tried to modify the code , but no results.. can anyone help please :( ?