RoboPrime 🤖 [](https://github.com/simonepri/roboprime/)

October 19, 2017 · View on GitHub

Full featured 21 DOF 3D Printed Humanoid Robot based on ATmega328P chip

RoboPrime Hello

Description coming soon.

Press

The project has been featured here:

Maker Faire Il Messagero

Some images done during the development process:

RoboPrime RoboPrime RoboPrime RoboPrime RoboPrime RoboPrime RoboPrime RoboPrime RoboPrime RoboPrime RoboPrime RoboPrime RoboPrime RoboPrime

Click on the image to enlarge.

Getting Started

Hardware

The total cost is about $60-$100. Depending on where you buy the pieces.

AmountPart
1Arduino Pro Micro (Atmega328p)
1HC-05 (Bluetooth)
274HC4017 (5-stage Johnson decade counter)
1MPU-6050 (Gyroscope + Accellerometer UNUSED)
21MG90S 9G (Servo motors)
25A DC-DC (Voltage step-down Used to power the servos)
1Ad-hoc board (See wiring section)

Screws

Screws are used to join pieces together.

The total cost is about $15.

AmountSize
37M2 x 4mm
32M2 x 14mm
19M2 x 20mm

3D Models

You need to print it in ABS, since servos becomes hot after a while and can melt the plastic.

The printing cost is about $20-$30.

SX_* models needs to be mirrored on the correct axis before the printing process.

PartAmountDownload
SP_Cover_1_foro38SP_Cover_1_foro
MID_Scapole1MID_Scapole
MID_Torace1MID_Torace
MID_Anca_TOP1MID_Anca_TOP
MID_Anca_BTM2MID_Anca_BTM
DX_Spalla_A1DX_Spalla_A
DX_Spalla_B1DX_Spalla_B
DX_Avambraccio_A1DX_Avambraccio_A
DX_Avambraccio_B1DX_Avambraccio_B
DX_Gomito_A1DX_Gomito_A
DX_Gomito_B1DX_Gomito_B
DX_Braccio1DX_Braccio
DX_Anca_A1DX_Anca_A
DX_Anca_B1DX_Anca_B
DX_Inguine_A1DX_Inguine_A
DX_Inguine_B1DX_Inguine_B
DX_Ginocchio_A1DX_Ginocchio_A
DX_Ginocchio_B1DX_Ginocchio_B
DX_Gamba_A1DX_Gamba_A
DX_Gamba_B1DX_Gamba_B
DX_Caviglia_A1DX_Caviglia_A
DX_Caviglia_B1DX_Caviglia_B
DX_Piede_A1DX_Piede_A
DX_Piede_B1DX_Piede_B
SX_Spalla_A1SX_Spalla_A
SX_Spalla_B1SX_Spalla_B
SX_Avambraccio_A1SX_Avambraccio_A
SX_Avambraccio_B1SX_Avambraccio_B
SX_Gomito_A1SX_Gomito_A
SX_Gomito_B1SX_Gomito_B
SX_Braccio1SX_Braccio
SX_Anca_A1SX_Anca_A
SX_Anca_B1SX_Anca_B
SX_Inguine_A1SX_Inguine_A
SX_Inguine_B1SX_Inguine_B
SX_Ginocchio_A1SX_Ginocchio_A
SX_Ginocchio_B1SX_Ginocchio_B
SX_Gamba_A1SX_Gamba_A
SX_Gamba_B1SX_Gamba_B
SX_Caviglia_A1SX_Caviglia_A
SX_Caviglia_B1SX_Caviglia_B
SX_Piede_A1SX_Piede_A
SX_Piede_B1SX_Piede_B

Wiring

Schematics are contained in the schematics folder. RoboPrime fritzing

Firmware

The firmware is contained in the firmware folder and can be compiled and uploaded to the board thanks to the Arduino IDE.

Firmware size

Usage

Commands

The firmware allows you to fully control the robot through bluetooth in order to make complex things. Those are the commands implemented that can be sended through the serial protocol.

NameSyntaxParametersDescription
S0S0 Ri
or
S0 Li
i = index[0-9] (optional)Move a servo to its default position.
If no index is passed all servos will be reset.
S1S1 Ri Ad
or
S1 Li Ad
i = index[0-9]
d = angle[0-1800]
Move a servo to a specific angle.
The value 0 corresponds to 0° and
the value 1800 corresponds to 180°.
S2S1 Ri Ad Tm
or
S1 Li Ad Tm
i = index[0-9]
d = angle[0-1800]
m = duration[ms]
Move a servo to a specific angle gradually by
sweeping it for a specific amount of time.
S3S3 An Ds Tmn = anim idx[0-10]
s = space[cm]
m = duration[ms]
Apply a specific animation.
space and duration are unused at the moment
but are supposed to be used as parameters for
certain animations. See animations section for
the list of animations available.
Q0Q0 Ri Ad
or
Q0 Ri Ad
i = index[0-9]
d = angle[0-1800]
Similar to S1, but the movement is added to
the movements queue. If the angle value is 0
a pause will be planned instead.
(A pause will make the next planned
movement, on the same motor index, hang until
the pause is not ended)
This is used in order to plan complex
synchronized movements. (E.g. Animations)
C0Ri Wp
or
Li Wp
i = index[0-9]
p = pulse width[us]
Sets a specific pulse width to a specific
motor for calibration purposes.

Animations

The firmware contains some basic animations hardcoded inside it:

IdNameStatus
0Forward walk.WIP
1Backward walk.NO
2Side walk to right.NO
3Side walk to left.NO
4Clockwise standstill rotation.NO
5Counterclockwise standstill rotation.NO
6Clockwise curved walk.NO
7Counterclockwise curved walk.NO
8Sit down.DONE
9Hello.DONE
10Fuck off.DONE

Project Analysis

This document was written for my high-school exam in order to give to the professors some basic knowledge to make them understand how the project works.

Unfortunately it's written in Italian 🇮🇹

The document is available here

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details.