Review of micro:bit XGO Robot Kit – An educational robot dog with a Bluetooth joystick

ELECFREAKS micro:bit XGO Robot Kit is a robotic dog designed for robotics education. It moves realistically and acts like a real pet dog, and can help teach various technology concepts related to mechanical engineering, electronics, programming, and artificial intelligence (AI). The kit support both the BBC Micro:bit V1 and V2 boards which can be programmed with Microsoft MakeCode, Python, the Arduino IDE, and other languages.

Review micro:bit XGO Robot Kit

The XGO robot is compact and can be easily used on a desk or table. The robot is made of aluminum metal coated with a beautiful anodized finish. Each leg has 12 high-quality digital servos moving each joint, 3 on each side, totaling 12, helping the robot dog to move smoothly and flexibly. The robot can be controlled with apps, a joystick, and up to 19 ready-made postures, such as holding hands, looking for food, sitting down, squatting, etc…

Micro:bit XGO Robot dog movable joints

Content of the XGO robot kit:

  • XGO micro:bit robot
  • Ring:bit V2
  • 1x screwdriver
  • 1x charger adapter
  • 1x set of accessories
  • Note: the Micro:bit board is not included by default

micro:bit XGO Robot Kit package contentConnecting the Micro:bit board to the XGO robot dog

The XGO robot and the Micro:bit board will communicate through a serial connection (Tx, Rx, GND) with the blue wire plugged into pin 1 (Rx), the yellow wire into pin 2 (Tx), and the black wire into pin G (Ground).

Micro:bit board XGO robot dog serial connection

Programming with Microsoft MakeCode


There are two ways to program the robot with MakeCode either Online (in your web browser) or Offline by downloading the offline app for Windows or macOS.

Once the program is running, click on the “Extensions” section to download the XGO package.

MakeCode Micro:Bit Extensions

Select “XGO” to download the relevant extension.

MakeBlock XGO extension

We can now access the XGO blocks for programming the robot.

MakeBlock XGO visual programming

We’ll also need to connect the host to the BBC Micro:bit through a USB cable to upload the program to the robot.

BBC Micro:bit USB computerXGO commands set

There are various control commands of all XGO robots for postures, adjusting the angle of the servos at various points, and so on. Let’s go through the XGO “commands set”.

XGO Instruction set 1


  1. Set Tx and Rx pins
  2. Default posture
  3. Restore initial action
  4. Get the servo angle of the joints.
  5. Get XGO’s current power
  6. Get XGO’s version
  7. Set the servo values on any one of the 4 legs for debugging. XGO Instruction set 2
  8. Reading all servos of the XGO robot.
  9. Turn on dynamic balance mode.
  10. Stop the rotation of the XGO robot around the X, Y, or Z axis.
  11. Set the XGO robot to rotate around the X, Y, or Z axis for a period of time expressed in seconds.
  12. Set the XGO robot to rotate around X, Y, or Z axis (angle in degrees)
  13. Stop the periodic translation of XGO in the X, Y, or Z direction.
  14. Set the XGO robot to move back and forth in the X, Y, or Z direction for a period of time expressed in seconds.XGO commands set 3
  15. Set the XGO robot body to pan (-35 mm to 35 mm) in the specified direction
  16. Set the XGO robot to run in place at a fixed frequency at a specific height for a few seconds.
  17. Set the XGO robot to run in place at a fixed frequency at a specific height.
  18. Set the XGO robot to turn left or right at a speed expressed in degrees per second for a period of time expressed in seconds
  19. Set the XGO robot to turn left or right at a speed expressed in degrees per second
  20. Set the XGO robot to move forward  (0 mm to 25 mm) with a step size of x mm for a period of y seconds.
  21. Set the XGO robot to move forward (0 mm – 25 mm) with a step size of x mm.XGO commands set 4
  22. Set the value of each leg at what angle along the X, Y,  and Z axis.
  23. Set different leg positions
  24. Set the speed of the servo
  25. Move forward at a speed in percent
  26. Set the body height in percent
  27. Rotate left or rotate at a speed in percent

19 ready-made posture command blocks.

19 default postures XGO Lite robotExperimenting with posture programming.

The first step to writing the program is to bring the command block “Set XGO TX (yellow wire) RX (blue wire)” and set the values matching the connections. We will use the A button to initiate the postures loop updating the posture every 5 seconds. You can see a demo of the program in the video embedded at the end of the XGO robot kit review.

XGO robot MakeBlock programming

Joystick:bit V2

The Joystick:bit V2 is a Micro:bit-based gamepad with a 4-way joystick, 4 push buttons, a buzzer for audio feedback, and built-in vibration motors. The Joystick:bit V2 can be used as a remote control with a good appearance and a comfortable feeling of control.

micro:bit joystick:bit

The joystick is 138.1 mm wide and 71.5 mm long.

Joystick:bit V2 dimensions

The joystick has its specific Extensions button and we need to download the Joystickbit MakeCode package to add command blocks to program the joystick.

joystickbit extension MakeCode Joystickbit programming

Joystickbit command set

  1. Turn on the vibration motor for x milliseconds
  2. Read the rocker value (X or Y).
  3. If A/B/C/D button is pressed then (perform action)
  4. Detect if A/B/C/D button is pressed
  5. Joystick:bit initialization

Programming the Joystick:bit V2 with MakeCode

For this review, we will write a program to wirelessly transmit commands from a Micro:bit board installed on the Joystick:bit V2 over Bluetooth.

MakeCode Joystick:bit example program

Programming the XGO robot to receive commands from the Joystick

On the receiving side, we had to write a program to receive the commands on another Micro:bit board installed with the XGO robot dog itself. For each number received, the robot will take a specific action. as shown in the screenshot below. You can see the results in the video embedded at the end of the review.

MakeCode XGO Robot Joystick commands program

XGO mobile application

The robot can also be controlled with a mobile application available for Android and iOS operating systems. Android users can search for “XGO” in Google Play, and iOS users can search for “XGO” in the Apple App Store.

XGO mobile app

After installation, open the app and you will see the interface below.

XGO app radio controlled mode

Click the Bluetooth icon on the upper left side of the app interface, and the app will ask you to shake your smartphone to pair it with the XGO robot. Make sure Bluetooth and location are enabled on your smartphone. If there are any connection issues check your smartphone settings.

Shake Smartphone Connect Bluetooth

There are 4 ways to control the XGO, including Performance Mode, Radio-controlled Mode, Motor Coordination Mode, and Servo Control Mode

The Performance Mode includes preset posture commands to control the XGO robot.

XGO App Performance Mode

XGO App Performance Mode Postures

The Radio-controlled Mode can control speed and directions with a joystick-like interface.

Radio controlled Mode microbit XGO Robot App Joystick
There’s an “Advance” section that enables oblique walking.

Radio controlled Mode Advance

The XYZ section offers a simpler interface to control the robot along the X/Y/Z axis.

Radio controlled Mode XYZ

The PRY section offers an interface to control all axes independently.

Radio controlled Mode PRY

The Motor Coordination Mode enables the high-precision control of a single leg (left front leg, right front leg, right rear leg, left rear leg).

XGO Motor Coordination Mode

micro:bit XGO robot single leg control

The Servo Control Mode is used to set the angle of each servo through the XGO mobile app.

Servo Control Mode XGO robot app Motor Coordination Mode

Micro:bit XGO robot kit video assembly and testing

YouTube video player


ELECFREAKS micro:bit XGO Robot Kit is suitable for robotics education at elementary to secondary education levels. It moves realistically and acts like a real pet dog, and it’s also cute, making the learning experience more engaging for kids. It is also very easy to write programs and can help students understand the technology used in robots from mechanical engineering to programming and artificial intelligence.

I would like to thank ELECFREAKS for sending me a micro:bit XGO Robot Kit with a Joystick:bit V2 for review. The micro:bit XGO Robot Kit can be purchased for around $350 on Amazon or the ELECFREAKS store while the Joystick:bit V2 goes for $16.90 on Amazon, and can also be purchased directly on the company’s store.

This post is a translation of the review posted on CNX Software Thailand by

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard

5 Replies to “Review of micro:bit XGO Robot Kit – An educational robot dog with a Bluetooth joystick”

      1. True yet it so has a similar look, guess Petoi and those army mechanical robots have influenced a lot of designs.

          1. Would be amazing if the Chinese one day make a miniature jumping rotating humanoid 🤔👍

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC