ArduBot - 3D Printed Arduino robot

by davidhrbaty, published

ArduBot - 3D Printed Arduino robot by davidhrbaty Dec 21, 2014
0 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps



ArduBot - 3D Printed Arduino robot by davidhrbaty is licensed under the GNU - GPL license.

Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

36978Views 5239Downloads Found in Robotics


ArduBot is home made robot fully printed on the reprap 3D printer. It is based on arduino nano board, servos and ultrasonic sensor. It is easy to print, assemble, small, fun and great intro into electronics and robotics.
ArduBot is fully controlled by IR remote control and it has 3 modes:

  • Manual control by IR remote ( forward, backward, right and left)
  • Autonomous mode ( ArduBot navigates to avoiding obstacles and choosing the best way.)
  • Monitor mode ( ArduBot is monitorng objects in front of the ultrasonic sensor. )

Video: https://www.youtube.com/watch?v=4a9aTn8atQU

If you want to build ArduBot, you can downolad souce code, schematic and also 3D designs at: https://github.com/davidhrbaty/ArduBot


The robot assembling is easy. Follow these instructions:
1) Print all these parts:
1x Front mount part
1x Rear mount part
1x Speaker cube part
1x Speaker grille part
1x Battery holder part
1X Battery pack part
1x hc-sr04 front part
1x hc-sr04 back part
1x small wheel holder part
1x small wheel holder top part
1x small wheel part
2x main wheel part

2) Parts you need to buy:
1x Ultrasonic sensor HC-SR04
2x Servo motor Futaba S3003
1x Micro servo motor SG90
1x Arduino Nano rev. 3
1x IR receiver TSOP382 or another
1x PC Speaker
4x AAA battery

3) Hack Futaba servos so they can turn 360 degrees, instructions are for exampe on: https://www.youtube.com/watch?v=SK8mhnEzcvY
4) Assembly all parts together
5) Connect everything with schematic on https://github.com/davidhrbaty/ArduBot
6) Modify program to your IR remote controll
7) Upload program to Arduino which you can download from https://github.com/davidhrbaty/ArduBot
8) Insert batteries into battery pack
9) Ready to go :-)

More from Robotics

view more

All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

Treatstock is an online platform that offers decentralized manufacturing services such as 3D printing and CNC machining for business-to-business and business-to-consumer sales all over the world. W...

App Info Launch App

3D print your favourite design with NinjaPrototype, a professional 3D manufacture with consistent quality and speed.

App Info Launch App

Hi David, I looked through the whole entire site that you linked it to and I could not find the code for the autonomous code. Is there anyway that you can send me a link directly to it. Thank you so much I really appreciate it.

David just wanted to thank you for a great little bot, you did everything short of assemble it for us.THANKS

Comments deleted.

Здравствуй ,подскажи а как скинуть все настройки на него .я установил https://www.arduino.cc/en/Main/OldSoftwareReleases#previous.
но он пишет ошибку (Ошибка компиляции для платы для Arduino/Genuino )
не понимаю .помогите .

Hi David,

Can you tell me which speaker you used for your robot? Any recommendations? Thanks!

Hi David,
Thanks for this, great design, built mine and just testing it at the moment. Everything is hooked up correctly, however the 'stop' function doesn't actually stop the servos - they are still moving. I tried playing with the 87/95 values, e.g 90/90 works well, but then the IR function doesn't work - almost like it's trapped in the stopping subrouting. Any ideas? Is my testing through my computers USB providing the power the problem?

I'm also very curious to know where your Arduino Nano is in this design - I'm struggling with cable management, and may place all the electronics in the battery holder and just run it off a 5V powerbank sitting on the top, but would love to be able to do it properly.

Any advice would be highly appreciated.

Hello, I think that there can be problem with hack of servos, especially when no values in code are suitable. Or second problem may be in insufficient power source.

Hello davidhrbaty build a project based on your project, but I used SG90 servo motor in place of Futaba servo to perform the movement . The servant 's behavior this unstable , slow and locking . this changes some field of programming ?

Thanks hugs

I thnik, that problem is in servos. Did you done hack for continous rotation of servos? Maybe central position of servos in not done correctly, or your power source is insufficient.

Hey davidhrbaty,

great build!!!. I want to build it , but with a difference that I am gonna use arduino uno and the 3d files which you have uploaded is too small to fit arduino uno inside. I am a novice at 3d designing and can you suggest me how can I modify it , I would really appreciate your help bro!:)

Hello you can use any CAD software for it, for example FreeCAD.

Very nice! In the middle of my build right now. A few comments:

  1. Using the Arduino 5V pin as the input seems like an bad choice. The arduino does not like anything over 5, you can fry the board. Maybe it's different for the nano that you used, but for an uno this is the case. I'm thinking I'll use a 9V battery instead and use the power jack.

  2. Did you put o-rings or gaskets on the wheels? if so what size/where did you get them? It seems to have very low clearance without this.

Awesome work. thanks

If you want to use 9V as a power source of Ardubot, you must use step down module to 5V or voltage regulator for arduino and servos.
And yes, I have used rubbers for the wheels. I got them from local shop near me. You can find ordinary rubber ring for PVC pipe and fit it on it.

Hi, great design can't wait to make a start on printing! Instead of using a PC speaker could you utilise led's in its place? Thanks

Hello David I made your attractive robot but I have a problem I block(surround) on her(it) telecommanded tv and the code can please you explain me the way to proceder you to associate telecommanded in the robot. To sadden for this question a little bit stupid but I am hopeless in arduino programming thank you very much for your help(assistant).

You must upload code from my github account to your arduino. Then connect all the electronics according to schematic from my account. Inside Arduino IDE press CTRL+SHIFT+M to view Serial monitor, your baudrate must be set on 9600. Then press buttons on your IR remote from your TV and you can see HEX codes of your buttons. Then modify my HEX codes in code on lines: 104 - 133 for all directions and functionalities of Ardubot. I hope that you will be successful.

Bonjour David j'ai fait votre jolie robot mais j'ai un probleme je bloque sur la telecommande tv et le code pouvez vous s'il vous plait m'expliquer la façon dont vous proceder pour associer la telecommande au robot. desoler pour cette question un peu con mais je suis nul en programmation arduino merci beaucoup pour votre aide.

Hello :)
I have all the parts except the wheel servos. Are there servo motor options
I can buy instead of hacking the 2 servos that you know of? Since I have to buy them, it would be
great to source a part that just works. Thanks for sharing your cool robot. It's going on the 3D printer today :)

Hello Kevin,

You can use new servos with 360 degree continuous rotation, but when I was building Ardubot, there was no continuous rotation servos, so I had to hacked my servos. It's great to hear, that all is functional and Ardubot will have a new brother ;).

Hi, witch resistor is needed for the PC Speeker.
Many thanks!

I have used resistor with colors: RED, RED, BROWN, which is 220 ohms.

Nice robot ! I made one, but I have a problem with the battery : which battery can I use ?
I tried AAA 1.2V rechargeable battery, but the robot doesn't work (small trembling)
When I plug to AA 1.2V rechargeable battery, the robot works fine.
It seems that AAA battery are not enough powerful ? the current load is too high ? (i don't understand a lot in those things)
An advice ?
Thanks a lot

Yes, it is possible, that AAA rechargeable batteries have insufficient current, because I have used AAA alkaline batteries, which have more current for end devices. I strongly recommend to use LIPO 2S battery, which is more powerfull than AAA or AA batteries.

A beautiful project I want to build with my daughter, thanks for sharing this! One question: The TSOP382 IR-Sensor comes in different carrier frequencies. Is it really irrelevant which one I choose? Is there a particular frequency I have to use if I would like to utilize a standard TV remote?

Yes, you are right. There are sensors with different carrier frequencies. But unfornately I don't know which frequency is right for your TV remote. I have used 38kHz carrier frequency which is TSOP38238 receiver. You can try this one, because this frequency is the most widespread.

hey man I will make this robot for science fair that will be at my school

It's nice to hear, that the next Ardubot will be at school ;).


wiring with Arduino UNO is the same as Arduino Nano. But if you want to use 9V battery for powering servos, you must use step down module to 5V or Voltage regulator LM7805 and 2 capacitors about 100nF for example...

Hi, nice project and I am starting the make one. In the vid about the servo surgery to make it turn continuously you mention a IDE sketch that allows you to zero the pot by sending 1500 micr secs pulses to the servo. Do you have that sketch please? Thanks.

You can modify ardubot sketch and use only forward function in main loop function to test servos.

I would love some help with the assembly of the robot - I haven't even gotten to the programming. For example, I'm not entirely sure which way to position the fan and how to attach the parts together in the middle. Can anyone help a newbie?

I can post another photos if you want to see attaching parts together in the middle.

(Red faced) Oh, I haven't received the servos yet. Thanks for the reply.

Hi davidhrbaty!
I wanna made it one.
I've made it. But some trouble.
Of course servo modified as your description.
You used Futaba S3003,I use JR NES 4131(old one I have).
Servo doesn't working correctly. other thing's working great.
How should I do?
I have datasheet for NES4131 following

Modulation: Analog
Torque: 4.8V: 90.0 oz-in (6.48 kg-cm)
6.0V: 105.0 oz-in (7.56 kg-cm)
Speed: 4.8V: 0.23 sec/60°
6.0V: 0.20 sec/60°
Weight: 1.50 oz (42.5 g)
Dimensions: Length:1.52 in (38.6 mm)
Width:0.73 in (18.5 mm)
Height:1.32 in (33.5 mm)
Motor Type: Coreless
Gear Type: Plastic
Rotation/Support: Dual Bearings

Somebody help me!

You must modify your servos with instructions in video, or you can use another method with voltage divider ( two resistors needed). This instructions are available there: http://www.instructables.com/id/How-to-Make-a-TowerPro-Micro-Servo-Spin-360/

Sorry to late reply,I will try.
thank you.

Nice job. I'm printing the parts right now. Maybe a silly question, but how did you connect the main wheels to the servos? Also, what size hardware would you recommend (nuts & bolts, etc.)? Can't wait to get it up and running!

Hello, it`s great, that you are printing parts now, so when you buy servos ( futaba s3003), you get a lot of accessories with them and one bolt and washer of them is suitable to connect main wheel to servo. Additional bolts and nuts which I have used are M3. So good luck with get it up and running ;-)

thank you for the reply I had not paid enough attention to the code you were right it was simple. Im fairly new to arduino and c
its just now starting to not resemble greek to me lol.

                                                                              thanks  ,      Keith

Hello Keith, I know, that beginnings are hard, but when will you have any question, feel free to ask ;-).

Hello David
beautiful project i assume that you you would use irdump in the irremote example to get the Hex values for the remote you are using.
and thanks again for a great project.

Hello Keith,
thanks for your advice and compliment. I think, that souce code for ArduBot is very easy to understand and IR codes are printed in serial console in HEX values, so copy and paste these values to source code is only needed to get ArduBot full functional to your IR remote. But in next release of source code I will add button to record new IR remote codes without need computer.

Great robot. I printed all the parts, few (battery holder and top wheel holder) I had to enlarge a bit so it fits better, Where did you get the rubbers for the wheels?

Hello, Its nice to hear, that ardubot will have brother ;-) ..Rubbers for the wheels are from local shop near me. You can find ordinary rubber ring for PVC pipe and fit it on it.