Make A Micro:bit Car

Make your very own self-driving micro:bit car!

(Disclaimer: It’s only “self-driving” inasmuch as a ball rolling down a hill is “self-rolling”.)

Goals

  • For this project, we’re going to use the Micro:bit, Breakout Board, and Servos to make a self-driving car!*
  • Get to know the Servo, and how to use it with the Micro:bit, Breakout Board and MakeCode
  • Marvel at how ridiculous this thing is!

Materials

  • 1 x BBC micro:bit
  • 1 x Micro USB cable
  • 1 x Battery box
  • 2 x AA batteries
  • 1 x Breakout board
  • 2 x Servo
  • 1 x Acrylic car body
  • 2 x Wheels
  • 1 x Felt pad
  • Sticky tape

Step 1

  • Connect your car parts as shown in the pictures.
  • If you’re using our Car Kit, follow the labels on the car body to insert the components correctly with the sticky tape.
  • Connect the servo connectors to Pin 0 and Pin 1 on the Breakout Board.

Note that the colours of common servo cables don’t match the yellow, red, and black colour scheme of the breakout board exactly. Match the orange servo cable to the yellow pin, and the brown servo cable to the black pin.

Step 2

  • Add the blocks shown to your On Start block.
  • What this does: resets the servos to fixed positions whenever we start!
  • The Servo block (coloured red) in MakeCode takes values from 0 to 180. You can find it under Advanced, then Pins.
  • For the continuous servos we’re using, a value of 90 is right in the middle, in other words, we’re telling the servo to “stay still”.
  • We display an image to make a visual indication that we’ve downloaded our code onto the Micro:bit.

Step 3

  • Let’s make the wheels move! Add the code shown on the right to your Forever block.
  • The Digital Write Pin to 0 block is also found under AdvancedPins.
  • What’s happening here? We’re turning one servo clockwise (180), while turning off the other servo. Then, after a short pause, we’re turning off the former servo, and turning the latter servo anti-clockwise (0). Remember, 90 is straight ahead!
  • Why do we need to turn off one servo at a time? That’s because of battery power requirements—your micro:bit has trouble powering both servos at once. If you’re interested, you can explore using a DC motor with an external power source; email us to find out more!
  • Make sure to check that your motors are facing the right directions—you can change the direction of travel of the motors by swapping the 0 and 180 values.

Success!

    When you’re ready to go, attach your battery pack to your micro:bit, and off you go! Be sure to personalise your car with some craft material to improve its aerodynamic properties! ( ͡° ͜ʖ ͡°) For an extension, consider how you can hook up an ADKeyboard to control the motors manually, instead of having the car move autonomously.