Modular Ottodiy Robot
This project is a remix from Ottodiy project. Just using a different framework for the case build.
The modular blocks that I'm using to build this robot are called Blocky Codes, some of the features are :
- it is opensource,
- it's modular
- Optimized for 3D printing
- You can build lots of cool projects using Blocky Codes.
To learn more about Blocky Codes you can visit the website here
I also have written a Getting Started tutorial with blocky codes here, It's important to take a look at this tutorial so you know how to work with Blocky Codes and all the capabilities.
Supplies
Here is a list of the parts you need for this project. (affiliate link)
- 1 x Arduino Nano with USB mini cable data
- 1 × HC-05 Bluetooth module (optional, only if you want to control the robot using mobile app)
- 1 × Arduino Nano Shield I/O
- 1x ultrasonic sensor HC-SR04
- 4 × Micro servo Sg90
- 1 x Buzzer
- Female to female jumper wire
- 1 Rocker Switch On-Off (you have to do a bit of soldering if you want to use the switch, otherwise you can skip it)
- 2x 18650 Battery
- 1x 2 18650 battery Holder
- Small tap screw 2x6mm
- Phillips Screwdriver
- 3D printer (you can always use online services if you don't have one)
- Male DC jack
Step 1 : Print All the Blocky Codes Part for This Project
I have printed all the components using PLA with an FDM machine. Please share if have printed using any other material. You want to make sure your 3D printer machine bed is level and also calibrated.
I print most of the time with a raft, especially for the PIN.
- 0.4 Nozzle size
- 0.2 layer height
- 207 Nozzle temp (don't know why, but sometimes I fail with 200C)
- 75C Initial bed temp, the rest is 60C
- 60 mms speed
- I like to use 10% fill, especially with the bigger part to keep it lightweight.
- Use good quality PLA materials that have more strength in tension and less brittle. I use PLA+
It's a bit challenging to print the Pin since it was small. but once you make it work, you will get excited. I like to print per 12 in raft.
Get all the STL's files from Thingiverse here
Here is the part list you will need to print (all prints are re-usable for another project)
- 4x servo mount
- About 50 Small Pins
- 6x Long Pin
- 1x Battery case holder
- 1x Ultrasonic sensor case
- 1x on-off switch case
- 1x Arduino nano case
- 1x Buzzer case
- 4x 5x1 Block
- 2x 7x1 Block
- 6x 3x1 Block
- 2x U3x3 Block
- 3x Set of corner lock block
- 2x L 2x2 Block
- 2x L 1x1 Block
- 2x Cable Holder
- 1x Bluetooth case (optional, only if you're to control it using the mobile app)
Step 2 : Download the Software
PC
You can download the Otto Blockly software from here
Mac
You will need to use the Arduino IDE to upload the code and library. Download here. Download the Master.zip and install it
Step 3 : Calibrate All the Servo to 90-degree
Before we put all the parts together we need to make all the servo start at a 90degree angle. Connect all the servo to the pin number just like on the image above.
At this stage, you don't have to worried about the leg side, just plug all the servo, we just need to make the servo to a 90-degree angle.
PC step :
- Connect all the servo to pin numbers 2,3,4 and 5 on your Arduino nano sensor shield.
- Connect the Arduino nano to your computer using the cable data
- Open the Otto Blocky and stack all the block just like the image above for calibrating to a 90-degree angle
- Upload all the code.
All the servo will move to a 90deg angle, If there is no movement it means the servos are already at a 90-degree angle.
Mac :
Same connections, and for the code, upload the otto9_Calibrationserial to your Arduino nano.
The easiest way is to calibrate a servo is using the servo tester, It's handy, and you will use it a lot when you are working with servos. Just put on Neutral mode, and it's already at 90 deg angle.
Step 4 : Assemblies
Please rever these step with the pictures above accordingly
- Put the Arduino nano into the case, you will need 2 pcs of 2x6 tap screw.
- Assemble all the servo to its own mount (this servo mount is multiposition, click here to see the video)
- Here's how I make the bottom connections, What I love about the modular system is that you can actually create any kind of connection, and make it as strong as possible.
- Attach the 3x1 Block to the servo. Cut the tip of the servo horn using cutting pliers to fit the space. Do it for both servo
- On top of it, make these connections.
- Rotate the servo slowly with your hand 90 degrees so you can add a 2x6 screw to make a stronger connection
- The foot. See the video
- For the Ultrasonic, buzzed and Bluetooth is pretty straightforward. Place it anywhere it fits. Bluetooth is optional. (only if you want to control the robot using a cellphone.)
- A bit of soldering from the battery to the switch. (you can also use hot glue if you want, it works, but not recommended
- Put the case for the switch, if it's too lose you can glue it
- Otherwise, you can just put the power plug on the battery to power your Arduino expansion board.
- Put the battery case at the bottom, if the robot tip over, you can try to adjust the position of the battery, as it holds most of the weight.
The switch you see on the introduction video is using a stackable switch that I'm still working on because I think the current design It's a bit hard to follow. I will update this when it's available.
Step 5: Plug All the Wires and T
Using the female to female jumper wire, you can follow the schematic from the official ottodiy.com documentation.
Finally, you can put the top cover, and make up all the cables if you like it.
Step 6: Make It Walk
You can upload the all moves function from the Ottodiy library codes. From Arduino nano IDE go to Files > Examples > OttoDIYLib > Dance > Otto_allmoves_V9
If you want to code using the Otto Blockly, Above are the sample block codes to make otto :
- Walk forward
- Stop if there's an obstacle/wall in 10cm in front of it (ultrasonic detects object)
- Move backward 5 times
- And turn left 15 times
- And repeat
You can learn more about all the cool programming on the ottodiy.com website. They also have a free course for this drag and drop programming.
To connect the Bluetooth to your handphone, you will need to download the Otto app from the play store, Follow the step on the screen to connect it.
If you like to support me you can buy me a coffee here, I will make another cool project using Blocky codes at least once a week.
Thank you