Joy Robot (Robô da Alegria) 2017 edition

Open source 3D printed, Arduino Powered robot for the kids!

Public Chat
Similar projects worth following
Robots are getting everywhere. From industrial applications to underwater and space exploration. But my favorite ones are those used for fun and entertainement! In this project a DIY robot was designed to be used for entertainment in children's hospitals, bringing some fun to the kids. The project is focused in sharing knowledge and promoting technological innovation to assist NGOs that carry out charitable work in children's hospitals.

This tutorial shows how to build the 2017 edition of our robot: a remotely operated humanoid robot, controlled over a Wi-Fi network, using an Arduino Uno connected to an ESP8266 Wi-Fi module. It uses some servomotors form head amd arms movements, some DC motors for moving small distances, and a face made of LED matrices. The robot can be controlled from an ordinary internet browser, using a HTML designed interface. An Android smartphone is used to broadcast video and audio from the robot to operator's control interface.

'Robô da Alegria' ('Joy Robot') project was born in 2016, in Baixada Santista region (Brazil), with the objective of developing technology and attracting the community to the maker movement. Inspired by voluntary projects carried out by NGOs in children's hospitals, the project seeks to develop a robot, using open hardware and apen software tools, capable of bringing a little fun to children's hospital environment and contribute to the work of other organizations.

The seed of the project was planted at the end of 2015. After a talk about the creation and development of technology promoted by the Association of Startups of Baixadas Santista (ASEBS). It was idealized a project, without prize in money, but that presented a subject in which people would get involved in an altruistic way, with the goal of helping other people.

The robot underwent diverse transformations from its initial conception until the present state. From just one head, with mechanical eyes and eyebrows, to its present humanoid form, several iterations were performed, testing different constructive materials and electronic devices. From an acrylic prototype and laser-cut MDF, we moved to a 3D printed body. From a simple interface with two servo motors controlled by Bluetooth, to a body composed of 6 servomotors and 2 motors DC command by a web interface using a Wi-Fi network.

The robot structure has been entirely produced with 3D printing using Fusion 360. In order to enable the production of robot replicas in makerspaces or fab labs, where the maximum time of use of the printers is crucial, the design of the robot was divided in pieces smaller than three hours of printing each. The set of parts is glued or bolted for body mounting.

The face, made up of LED arrays, give the robot the ability to express emotions. Servomotors-driven arms and neck give the small automaton the necessary mobility for interaction with users. In the control center of the robot, an Arduino Uno interfaces with all peripherals, including communication with an ESP8266 module, which gives the user the ability to command expressions and movements through any device connected to the same Wi-Fi network.

The Robot also has a smartphone installed in its chest, which is used for transmission of audio and video between the operator of the robot and the children. The device screen can still be used for interaction with games and other applications designed to interact with the robot body.


Html + Javascript control interface

RAR Archive - 1.33 MB - 04/17/2018 at 00:30



Arduino code

RAR Archive - 7.36 kB - 04/17/2018 at 00:29


robot mk0 rev8_esquematico.pdf

Circuit schematics

Adobe Portable Document Format - 2.03 MB - 04/16/2018 at 23:57


robot mk0 rev8_bb.pdf

Circuit breadboard

Adobe Portable Document Format - 1.74 MB - 04/16/2018 at 23:57


View all 20 components

  • 1
    Tools and Materials

    The following tools and materials were used for this project:


    • 3D printer - The whole body of the robot is 3D printed. Several hours of 3d printing were needed for building the whole structure;
    • PLA filament - White and black PLA filaments where used for printing the body;
    • Screw driver - Most of the parts are connected using bolts;
    • Super glue - Some of the parts were attached using super glue;
    • Pliers and cutters
    • Solder iron and wire


    • Arduino Uno (link / link) - It's used as the main controller of the robot. It sends signals to the motors and communicates with the WiFi module;
    • ESP8266-01 (link / link)- It's used as a 'WiFi modem'. It receives signals from the control interface to be performed by the Arduino Uno;
    • SG90 servomotors (x6) (link / link) - Four servos were used for the arms, and two for head movements;
    • DC motors with reduction and rubber wheels (x2) (link / link) - They allow the robot to travel small distances;
    • L298N dual channel H-bridge (x1) (link / link) - It converts Arduino digital outputs into power voltages to the motors;
    • 16 channels servo controller (link / link) - With this board one can control several servomotors using only two Arduino outputs;
    • MAX7219 8x8 LED display (x4) (link / link) - They are used as the face of the robot;
    • Micro USB cable - Used for uploading the code;
    • Female-female jumper wires (some);
    • Male-female jumper wires (some);
    • Smartphone - A Motorola 4.3" Moto E smartphone was used. Others with similar size might work as well;
    • 18650 battery (x2) (link) - They were used to power the Arduino and other peripherals;
    • 18650 battery holder (x1) (link / link) - They hold the batteries in place;
    • 1N4001 diodes (x2)
    • 10 kohm resistores (x3)
    • 20mm on/off switch (x1)
    • Protoshield (link) - It helps wiring up the circuit.


    • Ball wheels (x2)
    • M2x6mm bolts (+-70)
    • M2x10mm bolts (+-20)
    • M2x1.5mm nuts (x10)
    • M3x40mm bolts (x4)
    • M3x1.5mm nuts (x4)

    The links above are a suggestion of where you can find the items used in this tutorial and support the development of this project. Feel free to search for them elsewhere and buy at your favorite local or online store.

    Did you know you can buy the Anet A8 for only $155.99 at Gearbest? Get yours:

  • 2
    3D Printing

    The robot structure was entirely produced with 3D printing using Autodesk Fusion 360. In order to enable the production of robot replicas in makerspaces or fab labs, where the maximum time of use of the printers is crucial, the design of the robot was divided in pieces smaller than three hours of printing each. The set of parts is glued or bolted for body mounting.

    The model is composed of 36 different parts. Most of them was printed without supports, with 10% infill.

    • Head top (right/left)
    • Head bottom (right/left)
    • Head side caps (right/left)
    • Face back plate
    • Face front plate
    • Neck axis 1
    • Neck axis 2
    • Neck axis 3
    • Neck center
    • Arm (right/left)
    • Shoulder (right/left)
    • Shoulder cup (right/left)
    • Shoulder cap (right/left)
    • Arm axis (right/left)
    • Bust (rigth/left)
    • Chest (right/left/front)
    • Wheels (right/left)
    • Base
    • Phone holder
    • Back (right/left)
    • Knobs (right/left)
    • Locker (right/left)

    The procedure for mouting the robot is described on the following steps.

    You can download all the stl files on the following websites:

    This is a experimental prototype. Some of the parts need some improvements (for later updates of the project). There are some known issues:

    • Interference between the wiring of some servos and the shoulder;
    • Friction between the head and the bust;
    • Friction between the wheels and the structure;
    • The hole for some screws is too tight, and need to be enlarged with a drilling bit or a hobby knife.

    If you don't have a 3D printer, here are some things you can do:

    • Ask a friend to print it for you;
    • Find a hacker/maker space nearby. The model was divided in several parts, so that each parts individually takes less than four hours to print. Some hacker/maker spaces will only charge your for the materials used;
    • Buy your own 3D printer. You can find an Anet A8 for only $155.99 at Gearbest. Get yours:
    • Interested in purchasing a DIY Kit? If enough people are interested, I might be offering a DIY kits on If you would like one, send me a message.
  • 3
    Overview on the Circuits

    The robot is controlled using an Arduino Uno at it's core. The Arduino interfaces an ESP8266-01 module, which is used to remote control the robot over an Wi-Fi network.

    An 16-channel servo controller is connected to the Arduino using I2C communication and controls 6 servomotors (two for the neck and two for each arm). An array of five 8x8 LED matrices is powered and controlled by the Arduino. Four Arduino's digital outputs are used for the control of two DC motors, using an h-bridge.

    The circuits are powered using two USB power banks: one for the motors and one for the Arduino. I've tryed to power the whole robot using a signle power pack. But ESP8266 used to lost connection due to spikes when DC motors turned on/off.

    The chest of the robot has a smartphone. It's used to broadcast video and audio to/from the control interface, hosted on an ordinary computer. It can also send commands to the ESP6288, thus controlling the body of the robot itself.

    One might notice that the components used here might not be optimised for its purpose. A NodeMCU might be used instead of the Arduino + ESP8266 combination, for instance. A Rapsberry Pi with a camera would replace the smartphone and controll the motors as well. It's even possible to use an Android smartphone as the "brain" for your robot. That's true... An Arduino Uno was choosed because it's very accessible and easy to use for everyone. By the time we started this project, ESP and Raspberry Pi board where still relatively expensive in the place we live... once we wanted to build and inexpensive robot, Arduino boards where the best choise at that moment.

View all 16 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

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