Review of Keyestudio's Micro:bit Robot Car KS4034F

By Dr Jennifer Martay PE, Course Leader for Medical Engineering at Anglia Ruskin University

Item received for free in exchange for feedback on kit. This review contains my independent opinions, with no influence from Keyestudio.


Box Car Kit Comes In

I am a Biomedical Engineer, interested in all things engineering and building up my electronics skills. This is the third Keyestudio kit I've put together, and I've really enjoyed the others (Review of Smart House and Review of Solar Tracker).
I also took a break halfway through this kit to put together my fourth Keyestudio kit: their Arduino robot car (Review of Arduino Robot Car).


What did I think about this kit?

I really enjoyed this kit. This Micro:bit robot car is an extension and improvement on Keyestudio's Arduino robot car (KS0470). Both the Arduino and this Micro:bit car can Object Avoid, Object Track, and Line Track. The Line Tracking in this Micro:bit car is much more accurate than in the Arduino car. The other functions are similarly successful in the two cars.

New additions to the Micro:bit car include multi-color LED lights on the bottom and front of the car. These lights are a bit of a novelty but definitely increase the fun-factor for my kids!

Another highlight of the Micro:bit car are the Mecanum wheels. These wheels allow the car to move in many more directions, and make the car look like a live animal scampering around on the floor! The Mecanum wheels are my favorite part of this project.

Finally, I am new to both the Micro:bit and MakeCode. The Micro:bit has a lot more functionality than I expected for such a small device. MakeCode (which involves dragging and dropping command prompts into a code) seems a lot easier than Arduino code for someone new to programming. This makes it much easier for my kids to understand the coding behind the car, although I find the inability to comment the code frustrating.

Overall, this is a great kit for someone interested in robot cars who might be worried about diving straight into Arduino coding.

For more details, watch the video below and/or keep reading!




First Impressions

As normal, the box is full of components. I am most excited to learn about the Micro:bit device and the Mecanum wheels! I am also pleased to see the Lego pieces, magnetic screwdriver, and clearly-labelled, individually-packed screws/nuts. In addition to what comes in the box, more detailed build and use instructions (including MakeCode and Python code) are provided by Keyestudio here.
Contents of Box


Step 1: Building the Robot Car

The instruction manual guides you step-by-step through the building process, with written instructions and pictures of each step. Some screws/nuts are still tiny, however, and you may need pliers to position some of the Lego pieces.
Small but Clearly-Labelled Screws and Nuts Needed Pliers to Reach Some Locations

Building the robot car takes approximately 2 hours, probably faster (I was holding a baby at the same time). It is satisfying to see the completed build!
Car Build Finished Needed Tweezers to Reach Some Locations

Step 2: Wiring the Robot Car

Wiring the robot car is easy. The instruction manual clearly shows how to wire the various components. This kit also has triplet wires which are grouped together in connectors. Therefore, you only have to place one connector, rather than three (or more) individual wires, into the expansion board's very clearly-labelled ports.

Some kits may have an error with the ultrasound sensor connector. In my kit, there is a mismatch between the pin spacings in the male and female connectors.
Mismatch of Male and Female End Connectors

I very carefully cut the connector into 2 sets of 2 pins each. Then the connector(s) fit into the expansion board. Keyestudio is checking to see if this is a one-off issue and changing the connectors if needed.
Connector After I Cut It Connectors Fit Together Now

The completed robot car is shown below. The kit also includes cable ties to tidy the wires, but I did not use them.
Wiring Finished

Step 3: Using the Robot Car

The heart of the robot car is the BBC Micro:bit. The Micro:bit has many built-in features: 5x5 LED array, temperature, geomagnetic sensors, accelerometer, light detection, speaker, touch-sensitive logo, microphone, and Bluetooth capabilities. The tutorials explain each feature individually. First, the location of the feature on the Micro:bit is shown. Then code using the feature is both shown in the tutorial and provided in a separate .hex file. I created my own code using MakeCode to learn where the drag and drop buttons are (I didn't try the provided .hex codes). An example of a MakeCode code is shown below.
Example of MakeCode Code


In addition to the Micro:bit's capabilities, this robot car can:
-Control multi-color LEDs under and in front of car,
-Move forward, backward, rotate clockwise, rotate counterclockwise, slide sideways, or use a combination of front/back and sideways,
-Line Tracking, and
-Object Tracking and Object Avoidance.

Line Tracking uses 3 infrared sensors on the bottom of the car. Each sensor determines whether it "sees" light or dark. If the middle sensor "sees" dark, the car goes forward. If the right or left sensor "sees" dark, the car rotates in the direction of the sensor which "sees" dark. The sensitivity of the sensors can be adjusted, although Line Tracking works so well that I did not need to change the sensitivity.
Car tracking a path


The car uses ultrasound sensors to maintain a certain distance between itself and an object (Object Tracking) or to avoid running into objects (Object Avoidance). For Object Avoidance, when the car comes within a certain, specifiable distance of an object, the servo rotates the ultrasound sensors 90° to the left and to the right, and the ultrasound sensors measure how far the nearest object is in both directions. The car then moves towards the further away object. I created a maze of boxes and let the car "run" around until it found its way out of the maze opening (see below). Both Object Tracking and Object Avoidance work well.
Car Finding Exit of Maze


The car can be controlled using an infrared remote control or an App downloaded onto a phone. To use the infrared remote control (Project 19), change the code to "call" Pin 0 (P0) rather than Pin 9 (P9). To download the App, use the APK link provided in the manual. The App is easy to download and install. The App is also intuitive to use and allows you to control the various features of the robot car. (Project 12 says the car can also be controlled using Bluetooth without the App but this never worked on my Android phone.)
App for Robot Car


There are 2 keys to successfully using the Micro:bit robot car.
1. Extensions to MakeCode. The extensions available on this website need to be downloaded into almost every MakeCode program. The extensions provide commands and variables specific to the robot car, for example, controlling the speed of the wheel motors and saving the distances measured by the ultrasound sensors. Bookmark this website now as you will need it a lot!
2. External batteries. The kit comes with a battery pack for 2x18650 lithium batteries (batteries not included in kit). I wanted to use rechargeable AA batteries instead. The battery pack in the kit does not seem to connect to the rest of the car, however, so never provides power. I used a 6xAA battery pack from another kit, connected into the 7-9V port shown below.

Battery Pack and Insertion Port


A Final Overview!

Things I really liked:
-Driving the car, especially using the App and especially in the combination directions!
-Learning principles behind (one approach to) Line Tracking, Object Tracking, and Object Avoidance.
-Learning about the Micro:bit and MakeCode.
-Involving my kids in the project - letting them drive the car and teaching them how the car works.

Things I suggest improving:
-Rearranging the instruction manual to introduce some topics in a different order.
-Ensuring any mismatches between male and female connectors are fixed.
-Including the 6xAA battery pack as in the Arduino car KS0470, rather than the 2x18650 lithium pack (and ensure pack powers the car).
-Explain in Project 12 how to use Bluetooth with Android phones, not just with Apple phones.

This is great kit for anyone who wants to build and use a robot car without the hassle of understanding Arduino code! It is also a nice kit for anyone interested in learning about the Micro:bit.



Other Articles:

Quantum Mechanics for programmers

A quick demo showing how to make simulations of simple quantum mechanics systems in javascript.

Asciiship

My latest (early 2018) thing is just a "normal" game: no real physics. It's just a game.

Three Crystal Structures

A ThreeJS model of three crystal structures




© Hugo2015. Session @sessionNumber