Diary of a Student Engineer Part 5: Robots Have Arrived

So the robots have finally arrived and I’ve been busy assembling mine and testing it out for the obstacle course challenge ahead! The assembly was a simple task and reminded me of my Lego days, but to ensure I outline the full process I took to complete this assignment, I’m going to split this post into two parts: Assembly and Testing. Feel free to skip to the Testing section if you’re familiar with mini mechatronic projects like this.


Before the build…

Definitely some Christmas vibes on the packaging of this Tumbller robot. Regardless, it had all the components I needed giving me the following Bill of Materials:


  1. This was really a case of following the instructions in the booklet accompanying the robot. First, I attached the Motor Brackets to the Aluminium Board using 8 M3*6 machine screws.
  2. 2. Following this I could attach the motors to the brackets, ensuring that they were oriented so the shaft was furthest away from the aluminium alloy board.
Steps 1 & 2

3. Next I could add the coupling to each of the motor shafts, tighening them into place with some M4*6 Phillips screws.

4. This allowed me to add on the wheels which could be inserted into position thanks to the friction from the coupling keeping them firmly on the shaft of the motor.

Steps 3 & 4

5. It was now time to attach the footholder with the help of more screws and 2 of the small double-pass copper columns. This helped the base of the Tumbller stay somewhat upright while I began to attach the rest of the components to the structure.

6. Moving away from the construction of the Tumbller’s main frame, I attached all the necessary components to the expansion board before connecting it to the robot. This included both the GY-521 module (the accelerometer) and the TB6612FNG module (H-Bridge functionality for motors).

Steps 5 & 6

7. Things were starting to come together now, as I added the completed expansion board to the main frame and also added on the long copper pillars which would provide the support for the top plates and battery pack.

8. Last part of the structure now: I added in the two top plates and ade sure the battery pack was fitted snugly in between. I then passed the wires from the battery down to the main expansion board so that a power connection could be established for operation of the robot.

Steps 7 & 8

And voila…we have the finished product, ready to go and soon to be tested.

The Final Assembly!


There are 3 tests that come to mind in order to verify the smooth running of the Tumbller before preparing it for the obstacle course challenge. Two of the following tests are designed to verify that the ultrasonic sensor works correctly and within acceptable parameters and the final test is just a quick verification of the onboard microcontroller.

Obstacle Course Schematic

Test 1

As shown in the obstacle course schematic, the robot will be required to navigate tight areas quite accurately and remain nimble enough to not get stuck in corners or dead ends. To simulate this, I conducted a short test to simulate these conditions by navigating the robot into a cardboard box and then activating the ultrasonic sensor to help the robot find it’s own way back out.

Test 1: Successful

As you can see, the Tumbller succeeds in navigating it’s way back out of the box with the help of the ultrasonic sensor and the convenient bootloader code. It is a bit clumsy however, banging into it’s surrounding multiple times. A few more trials of this test — not shown in the video — resulted in mixed results with regards to the likelihood of banging off the surrounding walls however, the robot did eventually complete the test successfully on every trial.

Test 2

Next, we have a similar test that examines the ability of the robot to navigate narrow passages but maintain it’s course. In other words, it is undesirable for the robot to turn around halfway through the course when it comes across a narrow passageway. A potential risk is that the narrow walls could ‘confuse’ the robot into thinking it’s at a dead-end and prevent the successful completion of the course. To test this, I constructed a narrow passage from cardboard boxes that is not much wider than the robot itself. My hope was that the robot would implement it’s ultrasonic sensor continuously to keep it’s distance from each wall while simultaneously moving forward.

Test 2: Successful

As you can see, the Tumbller also completed this test successfully, and a lot more accurately compared to the first one! Going forward, I am confident that the robot will be able to navigate tight passages autonomously. I plan on paying specific attention to the turning aspects of the robot throughout the course, achieving accurate turns in tight spaces will prevent the robot from entering potential dead-end environments.

Test 3

Finally, I implemented a test for loading and running programmes on the microcontroller. Firstly, I burned the bootloader from the system and then loaded a simple Blink programme to the robot. If the blink sketch ran succesfully, it would verify that both my Arduino IDE and the robot microcontroller are collaborating properly and effectively.

Test 3: Successful

Thankfully, this quick test was a success as well and no problems were encountered.

So, with the assembly and testing out of the way, I can now focus all my attention on the obstacle course ahead. Upcoming tasks include finishing my ping-pong ball launcher, programming the Tumbller for the course and then lots of practise so I can get a full video of the robot completing the course. So far, the launcher is very nearly finished and I will be giving it it’s own post soon. Programming the robot starts now, so time to brush up on my knowledge of C!