This is a kit to make your own Self Balancing Robot.
It uses an Arduino Nano,
it has sensors,
LEDs
Bluetooth…
It is a great science toy, and yet,
I learned A LOT with it.
So let’s get back: unbox it, assemble, play with it,
talk about the electronics
and how you can actually expand this kit
here on Geek Detour.
Standing in two wheels.
A magic that only works because it has a motion sensor
and a “computer” that, 200 times every second,
calculates how to move the wheels and keep its balance.
This idea, just 20 years ago, looked like science fiction
but now, it's all in this toy.
Your kids can play, you can play.
And, if you want, you can see how it is programmed
even make changes and learn a lot with it!
If you want to!
Because you don’t need a computer.
You could just treat it as a “model kit”.
But, if you mess around with Arduinos, oh… we have a lot to talk!
You might be curious, for example, about about the expansion pins
So, keep watching!
By the way, this video is NOT sponsored.
But after my Arduino Starter Kit video comparison,
Elegoo contacted me asking if I’d like to review one of their Robot Kits
and I said: Sure!
I would love to review the Tumbller!
So, they sent me this, I didn’t buy it.
For that, Elegoo, thank you!
And, Elegoo also is giving you guys a promotional code
I’ll talk about it in the end of the video.
It came in the, usual, gigantic Amazon box… ha ha
Why!?
Ehhhh!
A bubble-wrapped package and the box
Wow, it is dense, like it feels heavy
The box is quite smaller than what I imagined.
I love manuals like this one: real paper.
It is all in color, very visual
Mine came in English
but in the Elegoo website you can get it also in more languages
The first part shows how to assemble the robot
and the second part explains the playing modes and the mobile App.
Nice manual!
Most of the weight is this box: the two DC motors.
Feels solid!
They use reduction gears
And both motors have these “encoders”: magnetic “hall-effect” sensors,
so it is possible to measure the rotations and speed of each wheel.
In this other box we have the screws, all labeled in separate zip bags
Brass-spacers...
They call it ‘copper columns’ in the manual
And the rechargeable battery - cool design.
I thought mine came totally discharged… but I was wrong:
The LED doesn’t go “ON” with the switch.
It just indicates charging.
In the thin box we have 3 plates: 2 of them in acrylic with protection film
and this one is Aluminium.
On the big box we have the main board:
it came pre-assembled with the Arduino Nano,
the motor driver module, and a bluetooth module soldered.
Cables for the motors and a screw driver;
the ultrasonic sensor,
USB cable…
Wow, ha ha, super cool rubber wheels, nice!
Another part in acrylic…
The gyro/accelerometer module;
and two metal brackets for the motors.
Everything feels very nice!
Before I assemble it, I’ll connect the battery to a USB charger…
It’s green, let it charge!
It says that, when it is charged, the LED will just turn off.
So, I’ll put the robot together in high-speed,
and let’s measure how much time it takes.
Beginning now!
You can assemble it using just the small screwdriver that came with the kit.
But I also tried a much bigger Phillips screwdriver:
I went back and forth between them and
no doubt: a bigger screwdriver makes everything tighter.
Also, this is just a suggestion: if you have a low or medium strength
thread-locking fluid, it might be a good idea for the wheel and motor screws
I din’t use in mine, yet,
but the manual mentions that these screws can get loose with time.
Elegoo has a video on YouTube showing the whole assembly, step by step
I’ll put the link in the description.
In Elegoo’s video, they assembled the motors differently from what’s in the manual:
apparently, it works fine both ways.
I prefer the position shown in the manual, because the robot gets a bit taller.
The instructions were super clear to follow.
I was taking photos, enjoying every step, nice and easy, ha ha…
I had a great time!
I am sure anyone can assemble it in less than an hour!
I love the mechanical design, “techy”, all exposed look, and yet,
it is much cleaner that most DIY robots.
It feels really solid in your hands.
Can it stand still?
Of course it does!
The Tumbller already comes pre-programmed: you don’t need a computer at all.
<1, 2, 3...>
You finish assembling the robot, and it is just ready to play.
I quickly discovered two things:
1st: a table is not a good place to try this out…
it needs far more space than this
and 2nd: my strong LED Studio Lights were messing with the infrared sensors
and the robot’s response was very confusing.
For me, the App, on your Phone, is by far the most fun way to play with it
and you can use it in the sunlight without problems.
The Tumbller can go up and down on ramps, if the angle is not too steep.
The floor must be smooth: too much vibrations and it tends to fall.
Later I made a few changes in the software that made it better, so keep watching!
About using a phone: well, my iPhone is expensive
So, I tried installing the App on an old iPhone 5 and…
it worked great!
I also tried my luck on an even older iPhone 4S…
but the app always crashed.
Anyway, iPhone 5!
That’s great, much better and less regretful if my daughter breaks it.
- Are you ready?
- Its a car?
- Actually, its a Robot.
- Its a Bobot?!
- Look!
- It not moves...
- Pay attention:
- Press this button here, this one...
- No...
- Ahhh!!!
- Arghhh!
- Ha ha ha!
- Lets put it in the floor?
The biggest appeal of this kit is for people who love Arduinos
Just like all Elegoo Kits, the educational material is really great!
You go to the Elegoo’s website, download a zip file and you’ll have:
The Datasheets of the most important components
The Full Arduino Code, so you can study it, make changes,
and also restore the Robot’s programming if you need.
The STL models of the acrylic plates.
If you break one of them, you can 3D Print them back!
This nice!
Everything we buy should now come with STL and STEP files.
And, here is something super cool:
7 Lessons, each one with Arduino Code and PDFs,
explaining specific aspects of how the Robot works.
For example: the Lesson 1 shows how the motors are controlled,
including the circuit diagrams and some testing code.
The Lesson 2 goes over the whole theory to measure acceleration
and how to keep balance.
And the Lesson 7 shows how you can use two resistors
to make the Arduino measure the voltage of the battery,
and detect when it’s time to recharge.
When you upload one of the lessons’s code to the Arduino,
you are modifying the Robot!
It is not that toy anymore.
You are using the kit as an “Arduino lab” to make experiments.
So, before you do it,
FIRST, it is a good idea to open the original Tumbller Code
and check if you can actually compile it and upload to the Robot.
You should keep a copy of this folder in a safe place,
so you can always get back to the original toy.
And since we have it opened, let’s take a look:
Usually, most Arduino Sketches are just a singe file…
But, there is a lot going on in this robot,
so every functionality is broken apart into separate files,
they are all included here in the beginning.
Also, not every functionality is called on the Main Loop:
for example, the “balancing” is not here!
They used a Timer Interruption to do it more predictably, every 5 milliseconds.
The more I dived into this code, the more I had to learn
and this is good!
because I always wanted to make a balancing robot myself from scratch…
but this kit made me realise I still need to learn more!
And, for me, the best way to learn, is to start making small changes!
So, the first thing I started playing was with the Speed:
if it is going Forward, in Bluetooth mode, the original speed was “80”;
and if it is moving Backwards in Bluetooth, it is “minus 80”.
So I changed it to 100… what happened?
It accelerated and eventually fell.
Ha ha.
At a higher speed, the motors don't have enough torque to keep the balance.
On the other hand, reducing the speed a little bit,
makes the robot better at rougher terrains and ramps.
This is a nice example on how you can use the App to send custom commands
that you implemented in the Arduino code.
This robot uses encoders to have feedback about the rotations on each motor…
Even so, the robot I got was always curving a bit, pushing to the left.
So, I made a “patchy” fix for this problem in the code
I tried a few values and now it can go forward 100% straight.
I still need to understand what really caused the curving in my unit
but I think that’s the purpose of this kit!
Ardu-Nerd Alert!
I discovered something really cool in this board!
The Bluetooth module communicates to the Microcontroller
using the RX and TX pins (UART)
But here is the catch: in the Arduino board itself there is another chip
the USB to Serial converter - that comes already connected to the RX/TX pins.
This is a nuisance for many projects using bluetooth modules:
before you plug the USB to upload new code,
first you need to ‘disconnect’ the bluetooth module…
upload,
and then reconnect the bluetooth module
otherwise, uploading doesn’t work at all!
BUT, not in this kit!
Elegoo did something really clever here,
using this transistor and two resistors.
I don’t know exactly how it works…
But this way, the Bluetooth module can stay wired to RX,
and yet, you can program the Arduino using USB.
Now, let’s talk about the “expansion pins”.
In the download, Elegoo includes a spreadsheet
telling exactly how each Pin is used to make the Robot work.
Yeigh!!!
But it seems almost all pins are in use!
BUT, I have a few ideas - take a look:
Usually on the Arduino Boards, people don’t use the Digital Pin 13
because it has the built-in LED connected to it…
It is the only really ‘unused’ pin on the expansion connectors
and you could, for example, use it to trigger an active buzzer
or a control a flashlight, or maybe a solenoid toy gun…
anything that is simply on/off
This pin doesn’t have PWM.
Another expansion opportunity I see is to add more NeoPixels on digital pin 3.
The LEDs on the Tumbller are all daisy-chained, controlled by this single pin.
But you could have way more than 4 LEDs…
You could make color effects on a NeoPixel Ring,
or even control an LED Matrix, like this 8x8, so, 64 RGB LEDs…
all using this single pin.
If you all you want is to control the Tumbller via Bluetooth,
you could perfectly remove the ultrasonic sensor
then you have access to the PWM Digital Pin 11, and Analog Pin A3.
A PWM pin is super useful if you want to make sound effects
or if you want to control a Servo Motor: you could, for example,
use a servo to make the Robot stand-up when it falls backwards.
But, by far, the most promising expansion pins are A4 and A5,
because they give us I2C connectivity.
The tumbller’s Gyro/Accelerometer module is already connected to these pins
But, I2C can have up to 128 individual modules connected simultaneously here.
It solves a lot of connectivity limitations!
For example, a cheap PCF8575 module can give you 16 input/outputs.
And if you need lots of PWM pins,
a single PCA9685 module can let you control 16 individual servo motors.
Also there are quite a few I2C Displays to connect here
and I tried out myself.
Unfortunately, it interfered with the Gyro/Accelerometer module
and the robot fell…
It shouldn’t!
Each module was using a different address!…
My conclusion is: you can expand your robot,
but you must see it as a challenge.
Anyway, what matters is to have fun!
This is a cool kit, fun to play,
and I am still far from finishing my experiments with it!
Discount!
Yes!
Elegoo has sent me a 15% Promotional Code for the Tumbller on Amazon! (USA)
So, when you are about to pay it on Amazon,
you can insert the code and get 15% off.
The Code is down-bellow in the description
go fast because it is for a limited time!
So, check the links for this Kit in the description!
And if you have any question about the Elegoo Tumbller, just write a comment!
I read everything!
Did you see?
Elegoo has a Robot Car with a Camera now!