Easy Build my own useful Robot For Less Than $100

you can make your telepresence robot (Arduino based) if you go through the steps below

Similar projects worth following
Hallo everyone, who is eager to make your own robot! I had a dream to make useful device, where I could use programming, 3D-printing, schematics. Don’t mind the language, watch the video how robot helps me to make photo and video in any position I want (without hands): (from 0:40 till 1:15, from 1:55 till 2:15). Therefore I gave the robot name SelfieBot! In this article you’ll see structure of SelfiBot and how to assemble all parts.

Step 1: Acquaintance with main parts of the robot

First of all let’s get acquantied with main parts of the robot: Electronics, Mechanics, Mold, Software.

2.1. Electronics

2.1.1. Bill of materials (BOM)

To make robot yourself you need:

- USB Nano V3.0 ATmega328 16M 5V Microcontroller CH340G board For Arduino = 1 pcs
- Wireless Serial 4 Pin Bluetooth RF Transceiver Module HC-06 Slave for Arduino DH = 1 pcs
- DC-DC Converter. LM2596 Step Down Module DC-DC Buck Converter Power Supply Output 1.3V-35V = 2 pcs
- MG996R Torque Digital All Metal Gear Servo for Helicopter Car Boat Model BE = 2 pcs
- Fuse, 2 A, 250 V = 1 pcs (I recommend to buy +1 pcs for change)
- Resistor, 0.5 Wt, 100 OHM = 3 pcs
- CONN JUMPER SHORTING, 2.54х8.5mm, 2 contacts = 2 pcs
- Power jack on the board, 2.1mm, 16V/1.5A = 1 pcs
- AC Adapter Power Supply DC12V 1-2 A, plug 5.5х2.1 = 1 pcs
for those who has a bit experience of soldering:
- A1) Prototyping Experimental 400 Contact Holes Solderless Breadboard Test Plate = 2 pcs
for those who can solder PCB:
- A2) Prototyping PCB Universal Board 70х90 Double-Sided Glass Fiber Prototyping PCB Universal Board = 1 pcs
- 1x 40Pin 40p Male IC Single Row Flat Header Socket 2.54mm PLS-40 Panel = 10pcs
- Hot Flexible 30AWG Stranded UL1007 Wire Cable Cord Hook-up DIY Electrical. outer diameter > 1,5 mm, inner diameter > 0,5 mm. Minimal length is 100 mm.

2.1.2. Functionality

Microcontroller turns device into smart robot. Microcontroller makes decisions according with program’s algorithm. As for microcontroller board, we chose Arduino Nano. It’s a small, complete, and breadboard-friendly board based on the ATmega328. Bluetooth module is responsible for pairing smartphone and the robot. It provides communication. Power supply. Basically we use mains power adapter: 12V (SelfieBot Base DIY). If you need autonomous usage of the robot, use batteries: 2pcs of 3,7V. Two DC-DC converters are responsible for stable voltage power of electronic elements.

2.2. Mold

Mold is made of plastic PLA. We printed it with 3D printer WanHao duplicator i3. We offer you several complete 3D models, but you can create own mold of your robot.

2.3. Mechanics

To make mobile robot we use Mechanics. It consists of servos and metal couplings. Servos. We chose digital Servo TowerPro MG996r for its low price and sufficient characteristics. Servo receives digital signals from microcontroller. We recommend plastic gear to decrease noise. Also you can try stepper motors with encoder, with the characteristics not worse than Servo TowerPro MG996r.

2.4. Software

2.4.1. Firmware

Download the firmware at (at the bottom of Robots->DIY SelfieBot webpage) and upload it to the microcontroller. Download Arduino program at

2.4.2. Application

In June 2016 we’ve got only Android-compatible application: “Droid”. Download Droid at (at the bottom of Robots->DIY SelfieBot webpage).


Application for OS Android

Android Package Archive - 3.48 MB - 06/16/2016 at 10:51



Electronics design

svg+xml - 38.41 kB - 06/16/2016 at 10:50


View all 3 project logs

  • 1
    Step 1

    Step 2: Print and Assemble

    When you have Electronics, Mechanics, Mold, Software, let’s assemble the robot!

    3.1. Electronics

    3.1.1. Principal scheme

    Be ready to solder pins and mount elements to the breadboard! You need external power source voltage of 12 Volts, which provides at least 1 Ampere. Power line is protected by a fuse with nominal value of 2 Ampere.

    DC-DC converters D1 and D2 organize two channels of voltage. D1 is for Arduino Nano D3 and Bluetooth module D4, D2 is for both servos. Use voltmeter to adjust converters so that D1 provides output voltage 5V, D2 provides output voltage 7V.

    Module Bluetooth D4 pairs your smartphone and the robot. We use UART interface to provide data exchange between Microcontroller D3 and Bluetooth module D4, see RX and TX. Arduino Nano D3 controls servos with outputs D5 and D6, through the resistors R2 and R3. See jumpers JMP1 and JMP2. For normal functioning of electronics JMP1 and JMP2 must be installed. Before uploading new firmware on the microcontroller D3, remove JMP1 and JMP2.

    If you have experience how to solder elements on PCB, do it yourself according the principal scheme. Otherwise assemble electronics on breadboard using Table “Elements on the breadboards (SB DIY)”. Be very attentive with all digits and letters!

  • 2
    Step 2

    3.2. Mold

    Use 3D printer to print mold.

    3.2.1. Download SelfieBot mold STL files at: or
    3.2.2. Use Cura (download Cura) to convert SelfieBot mold STL files into GCode for 3D printing.
    3.2.3 Launch Cura app. and open downloaded STL files one by one pressing the LOAD button in the upper left corner of the model view window untill you will fill the printing area.
    3.2.4. You may use your usual 3D printer settings for SelfieBot mold printing. Prefered printing settings for Wanhao Duplicator i3 with Nozzle size of 0.3 mm using PLA plastic in Cura are:
    Quality: Layer height (mm) - 0.2 Shell thickness (mm) - 0.9 Retraction is enabled

    Fill: Bottom/Top thickness (mm) - 1 Fill Density (%) - 20-35 (any of this values are usual)

    Speed and Temperature: Print speed (mm/s) - 30 Printing temperature (C) - 210

    Support: Support type - Touching buildplate Platform adhesion type - Raft

    Fillament: Diametr (mm) - 1.75 Flow (%) - 100.0

    Retraction: Speed (mm/s) - 40.0 Distance (mm) - 1.5

    With these recommended settings you will need approximately 400-450 grams of PLA plastic if there would be no oveprints in case of printing process damage.

    3.2.5 In a menu FILE press “Save GCode…” on a flash memory device compatipble to your 3D printer (microSD flash memory card for example).
    3.2.6 Insert flash memory card in your 3D printer, and print files according to your 3D printer instructions.

  • 3
    Step 3

    3.3. Assembling.

    So you have details (see the picture above):

    NB: Servo motor shaft caps, Frames and Bracket are metal.
    Important! When electronics are ready, connect the servo motors pllugs to it and turn the SelfieBot on connecting it to supply power to set the servo motors in a zero position. Then turn it off and disconnect the servo motors plugs.

    3.3.1. Prepare the crosshead screwdriver, tweezers and pliers.
    3.3.2. prepare 26 screwnuts 3 mm diameter and 7 screwnuts 4 mm diameter.
    3.3.3. prepare countersunk head screws 3 mm diameter: 10 mm - 8 pcs. 16 mm - 8 pcs. round head screws 3 mm diameter: 8 mm - 2 pcs. 16 mm - 6 pcs. 20 mm - 10 pcs. countersunk head screws 4 mm diameter: 25 mm - 6 pcs. (you may need more screws - it is up to you).
    3.3.4. Screw part #1 with part #2 using two 4 mm diameter screws and two screwnuts.
    3.3.5. Screw parts #1 and #2 with part #3 with at least four scwews and screwnuts 3 mm diameter.
    3.3.6. Screw the frame for a servo motor using two screws and screwnuts 3 mm diameter.
    3.3.7. Screw the servo motor with a frame with its shaft to the up in the center of a round part #3. Be sure the servo cord is located in a low compartment.
    3.3.8. Mount the round cap on the servo motor shaft and screw it with a 3 mm diameter screw.
    3.3.9. Mount part #4 with a second frame for a servo motor on it.
    3.3.10. Screw the round cap of servo motor #1 using four countersunk head screws through the second frame.
    3.3.11. Put the second servo motor cord to the low compartment and screw it to the frame.
    3.3.12. Screw 3 mm diameter round head screw through 4 mm diameter screwnut to the frame at the servo motor shaft level from the other side.
    3.3.13. Mount the servo motor shaft cap and then mount the bracket on the shaft from the one side and to the 3mm screw with 4 mm screwnut from the other.
    3.3.14. Screw the bracket to the servo motor shaft cap.
    3.3.15. Mount parts #5 from both sides of the bracket and screw it.

    4. Mount electronics and connect servo motors to it. Power on. Test electronics and servos via SelfieBot Droid program on your smartphone.

    5. Screw the bottom #6 with 4 mm diameter screws and screwnuts.

    6. Mount part #7.

    7. Use any common mobile device cradle. If you will use a magnet holder, you will need a Magnet cradle holder part attached to all STL files for 3D printing on links or

    Looks great, isn’t it? Good job!

View all 3 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates