
2
The Kitronik :MOVE mini for the BBC micro:bit provides an introduction
to robotics. The :MOVE mini is a 2 wheeled robot, suitable for both remote
control and autonomous operation. A range of add-on boards can expand
the capabilities to include more advanced functionality.
The included :MOVE servo:lite board can also be used in conjunction with a
BBC micro:bit to build other movement based projects.
Visit kitronik.co.uk/movemini for more details.
ASSEMBLING
:MOVE MINI
CODING
:MOVE MINI
1. ASSEMBLING THE PCB
7. ATTACHING ELECTRONICS
4. TESTING THE SERVOS
8. CODE MOVE MINI TO MOVE
5. CALIBRATING THE SERVOS
6. ASSEMBLING THE CHASSIS
3. BUILDING THE WHEELS
9. DRAW A SHAPE USING JAVASCRIPT
TROUBLESHOOTING
10. GO ONLINE!
:MOVE mini PIN OUT
SUPPORT FOR
:MOVE MINI
CONTENTS
INTRODUCTION TO THE :MOVE MINI
SUPPLIED WITH THIS KIT
GETTING CONNECTED
THE BBC micro:bit SOFTWARE
PROGRAMMING THE BBC micro:bit
2
3
6
5
4
7
8
13
14
17
22
18
24
26
30
30
31
2. FLASH THE ZIP LEDs

4
GETTING CONNECTED AND FINDING
THE PROGRAMMING ENVIRONMENT
Using a USB to micro-USB type B cable, connect the BBC
micro:bit to a computer.
Code will be created on the BBC micro:bit website.
www.microbit.org

5
4
THE BBC micro:bit SOFTWARE
The BBC micro:bit is programmed using a web based (internet
access required) programming environment which is found at
www.microbit.org.
To save programs to access at a later date you will need to be
logged in (although you can create a program without doing this). If
this is the first time you have used your BBC micro:bit then please
refer to our getting started guide at www.kitronik.co.uk/microbit.
All of the experiments in this guide are based on the Microsoft PXT
Block and Microsoft PXT JavaScript editors. The Microsoft PXT
Block Editor is a very easy to use graphical editor. The Microsoft
PXT Javascript editor is a text based programming language which
is ideal for slightly more complex programs. It is possible to convert
a Block program into a JavaScript program. This offers an easy way
to of progressing from Block programming to JavaScript.

GETTING A PROGRAM ON
TO THE BBC MICRO:BIT
It is very easy to transfer a finished program to the BBC micro:bit.
First of all select ‘download’ . This is where the program
is converted into a program the micro:bit can understand. This
is known as a ‘.hex’ file. If it has compiled successfully, it will
return the message ‘Download completed... Move the .hex file to
the MICROBIT drive to transfer the code to your micro:bit.’ The
message ‘Do you want to open or save microbit-script.hex from
microbit.org’ will appear. Select ‘Save As’ from the ‘Save’ drop
down menu and save the hex file to a folder for BBC micro:bit .hex
files.
Next plug a BBC micro:bit into the computer via USB. The BBC
micro:bit will appear as a removable drive on the computer called
‘MICROBIT’.
To download the .hex file to the BBC micro:bit ‘Drag’ the .hex file
from the folder where it was saved and ‘Drop’ it onto the MICROBIT
removable drive. A message will appear saying ‘ Copying 1 item......
to MICROBIT’. At the same time, the yellow LED on the back of the
BBC micro:bit will flash.
After a few seconds, the download will complete and the BBC
micro:bit should now be running the program.
If it doesn’t you may need to press the reset button, which is next to
the status LED.
‘download’ . This is where the program is converted into a format that the BBC
drive to transfer the code into your micro:bit.’ The message ‘Do you want to open or
save microbit-script.hex from microbit.org?’ will appear. Select ‘Save As’ from the
Next plug a BBC micro:bit into the computer via the
USB Cable. The BBC micro:bit will appear as a removable
drive on the computer something like this.
the folder where it was saved and ‘Drop’ it onto the MICROBIT removable
drive. A message will appear saying ‘Copying 1 item.....to MICROBIT’. At the
After a few seconds the download will complete and the BBC
micro:bit should now be running the program.
GETTING A PROGRAM ON
TO THE BBC MICRO:BIT
Status LED.
Reset button.

7
1
ASSEMBLING THE SERVO:LITE PCB
STEP 1: Use a small Phillips screwdriver to screw the five M3 machine
screws through the micro:bit and spacer, into the nuts mounted on the
PCB.
ZIP LEDs
Servo Connections
PCB Mounted Nuts
On/Off Switch
Spacer
Micro:bit sold separately

8
FLASH THE ZIP LEDs
2
STEP 1: Put batteries into the SERVO:LITE PCB, and turn it on.
STEP 2: Connect it to a computer using a micro-USB cable.
STEP 3: Bring up Javascript Blocks Editor (makecode.microbit.org).
STEP 6: In the search bar type ‘neopixel’, then
select the ‘neopixel’ box.
STEP 4: In the toolbox towards the left of the
screen, select the ‘Advanced’ section.
Additional packages should appear below.
STEP 5: Select ‘Add Package’.
NOTE: This will load a set of blocks compatible with Kitronik’s ZIP LEDs, which
makes them really easy to code!
NOTE: Kitronik’s ZIP LEDs are compatible with Adafruit’s Neopixels.

9
STEP 7: Create a variable and name it ‘Pixel Array’.
STEP 8: Create the following code.
This tells the micro:bit that Pin 0 is
connected to 5, colour addressable LEDs.
WHAT THIS MEANS
A variable is like a container which can store
information. This could be a number, a word
or a piece of information you want your
program to remember.
WHAT THIS MEANS

10
When button A is pressed, light up all the pixels
red.
When button B is pressed, clear the LED’s
represented by the variable ‘Pixel Array’. This
will turn them off.
WHAT THIS MEANS
WHAT THIS MEANS
STEP 9: Download!
STEP 11: Try changing the code to make a different colour.
STEP 10: Press A and get ready for the lights!
Plug the BBC micro:bit into a USB port then drag and drop the
The program will automatically run on the simulator. Click on the ‘A’ button on
the simulator to see the LED pattern. Click on ‘B’ button to clear the pattern.

11
As well as addressing all the pixels at once it is possible to set them
individually, or as a group. The first pixel always has an address of 0 (see
diagram below).
WHAT THIS MEANS
Set the first two pixels to red, the middle pixel to
white and the last two to blue.
STEP 12: Change the code under ‘On button A pressed’ to the following.
REMEMBER: To show a change you must use a block with ‘show’ in it.
UploadDownload
NOTE: You may need to click on ‘More’ under the ‘neopixel’ toolset to view
extra blocks.
0 1 2 3 4
STEP 13:
STEP 14: Press A and watch the lights!

12
WHAT THIS MEANS
STEP 15: Create the code below.
This code shows a colour changing pattern
when button A is pressed and stops when
button B is pressed.
NOTE: The ‘rotate pixels’ tool shifts each LED colour onto the next LED.
When it reaches the end of the line, it goes back onto to the first LED.
UploadDownload
STEP 16:
STEP 17: Press A and watch the light show!

13
BUILDING THE WHEELS
3
2x
STEP 1: Screw the 2 larger screws from the servo packet, through the
wheel and into the appropriate holes in the servo attachment. The centre
of the horn and the centre of the wheel should be aligned. Press fit the
wheel onto the servo and repeat for the opposite side.
NOTE: The screws should go through the holes shown above in red.

14
TESTING THE SERVOS
4
SERVOS
The continuous rotation servos used in the :MOVE mini are controlled in
the same manner as normal remote control servos. These servos are
controlled by a repeating pulse, whose width commands the servo to turn
to a position. For a normal servo, position is measured from the output
shaft and used to determine what angle the servo should stop at.
Because of component tolerances, we may need to set the centre point
on the :MOVE mini servos to ensure it will stop when commanded. This is
done with a trimmer, which is explained later on.
A continous rotation servo is slightly different. Instead of the signal telling
the servo how far to move, it tells the servo how fast to move.
0 DEGREES
90 DEGREES
180 DEGREES
NORMAL SERVO
CONTINOUS ROTATION
SPEED:
DEGREES:

15
STEP 1: Plug the servos into the SERVO:LITE board.
The :MOVE board connections are:
TOP : GROUND : BROWN
MIDDLE : POWER : RED
BOTTOM : SIGNAL : ORANGE
STEP 2: With both wheel servos plugged in, it is time to write some test
code. Set out the servos like below. This will allow trimming/calibration of
the servos. This means they will stop and travel at the same speed when
commanded.

16
STEP 3: Bring up JavaScript Blocks Editor (pxt.microbit.org).
STEP 4: Create the following code.
When button B is pressed both servos should turn clockwise (looking
from the wheel side).
When button A is pressed, both servos should turn anti-clockwise
(looking from the wheel side).
When buttons A + B are pressed the servos should stop turning.
UploadDownload
If they do not then the centre point trimmer will need adjustment. On
the bottom of the servo, there is a small hole. This is used to access the
trimmer.
STEP 5:
STEP 6: Test out the buttons.

17
STEP 1: Press buttons A+B,
Then with a small screwdriver (through the hole) gently move the centre
point trimmer until the servo completely stops. There should also be no
sound coming from the servos.
STEP 2: Once the servos are calibrated unplug them from the board and
detach the wheels from the servos.
CALIBRATING THE SERVOS
5
TRIMMER
NOTE: The diagram below shows how the number of degrees set in the
code relates to the speed of the servo.

18
STEP 3: Snap the pen mounting plate in between the two vertical plates, just
above the servo. The servo cables should pass out of the rear of the chassis.
ASSEMBLING THE CHASSIS
6
STEP 1: Slot the servo into the base plate with
the shaft facing out, and the wires facing up. This
should fit very tightly and may require some
pressure to snap into place.
STEP 2: Slot the side part over the top of the servo,
ensuring the panel sits in front of blue plastic lip of
the servo before securing it with a screw and nut.
Then repeat for the opposite side.

19
STEP 4: Slot the screws through the outer panel and into the green panel,
then add a nut onto the end of each. Repeat for the opposite side.
STEP 5: Attach to the chassis, slot the nut into the T-joint and tighten the
screw.

20
STEP 6: Repeat for the opposite side.
STEP 7: Add a wheel (built earlier) and screw the smallest servo screw
through the middle to secure it.

21
STEP 8: Repeat for the opposite side. The chassis is now complete.

22
ATTACHING ELECTRONICS
7
STEP 1: Plug the servo cables back into the
SERVO:LITE board. The left servo should plug
into the left-hand side of the :MOVE board and
vice versa. The cables should be threaded
down the gaps on either side as shown and
any excess tucked under the pen mounting
plate.
STEP 2: Clip the SERVO:LITE
board under the hooks on the
inner side plates and slide it
between the outer plates.

23
STEP 3: Push the SERVO:LITE board
fully back inside the :MOVE mini.
STEP 4: Secure the SERVO:LITE
board and micro:bit with the
:MOVE T-piece.
STEP 5: Tidy up the cables by
tucking them into the gaps in
between the side panels.
STEP 6: Excess wires can then be
fed into the servo compartment at
the rear.

24
WHAT THIS MEANS
CODE :MOVE MINI TO MOVE
8
DRIVE IN A STRAIGHT LINE
NOTE: Because the servos are mounted on opposite sides of the :MOVE
mini, one has to turn clockwise (Value 0), and one anti-clockwise (Value
180) to drive the :MOVE mini in a straight line.
NOTE: If the move mini does not
travel in a straight line then you
can adjust the values to make
the servos run at the same
speed. You may also need to
adjust the trimmer (see pg 17).
STEP 1: Create this code.
When button A is pressed, drive full speed
forwards. When button B is pressed, drive full
speed backwards.
UploadDownload
STEP 2:

25
DRAW A CIRCLE!
STEP 3: Drop a marker through the designated hole on the pen mounting
plate and create the code below.
WHAT THIS MEANS
Drive one servo at full speed, and the stop the
other. This will cause the :MOVE mini to drive
in a circle.
ADD SOME LIGHTS!
STEP 5: Create the following code to give :MOVE mini a head-light or
tail-light.
UploadDownload
STEP 4:

26
DRAW A SHAPE USING JAVASCRIPT
9
A square has four equal sides, and four 90
degree corners. Because there are four corners
and four edges, it is worth writing control
functions for turning and driving to do this,
rather than writing the same code four times.
Next, make a function that takes the desired number of degrees to turn
and drives the servos to achieve that. To do this the function will turn on
the servos, wait a period, and then turn them off. The following function
turns Left through approximately the requested number of degrees.
STEP 1: In the JavaScript Blocks Editor, create the following variables.
WHAT THIS MEANS
These tell the micro:bit about how fast the
servos are moving, they allow easy tuning of
the Javascript code.
These are used to store some constants about the :MOVE mini.

27
STEP 2: Add the following code under the previous code.
STEP 3: Program button A to call this function like this:
NOTE: There is a pause to allow you to move your hand before the :MOVE
mini starts turning
Use this code to fine tune the ‘NumberOfDegreesPerSec’ so that the :MOVE
mini turns through 90 degrees. If the :MOVE mini turns too far try making
the value bigger.
WHAT THIS MEANS
Because we do not have position feedback from
the 360 degree servos we have to use time and
a knowledge of how fast the :MOVE mini is to
make the turn accurately.

28
STEP 4: Next make a function to cause the MOVE mini to drive forwards:
STEP 5: Program button B to call this function like this:
NOTE: If the :MOVE mini drives too far/not far enough, adjust the value
of the ‘DistancePerSec’ variable made earlier. If you make it bigger it will
drive for less distance.
WHAT THIS MEANS
This code is very similar to the block code used
earlier, but includes a timer to stop the :MOVE
mini after a certain distance.
UploadDownload
STEP 6:

29
Now we have the building blocks to make the :MOVE mini draw a shape.
STEP 7: Change the code in the ‘onButtonPressed(Button.A, () ’ function to:
WHAT THIS MEANS
This will draw a basic four-sided shape, which if
your turns are accurate, will be a square.
YOUR TURN: Write code to make the MOVE mini turn right, and drive
backwards. Then combine that code to draw other shapes/pictures.
UploadDownload
STEP 8:

30
CODE EXAMPLES
GO ONLINE!
10
- 3V
- GROUND
- P2 LEFT SERVO OUTPUT
- P1 RIGHT SERVO OUTPUT
- P0 ZIP LED OUTPUT
:MOVE mini PIN OUT
- Use your phone as a remote control!
- Use a second micro:bit as a remote control!
- Output to a third servo, such as an axe!
- Pimp the :MOVE mini with extra ZIP LED strips!
For additional tutorials, resources and accessories scan the QR
Code or visit; kitronik.co.uk/movemini
Kitronik has created custom blocks for the JavaScript Block
editor. Add the package from:
https://github.com/KitronikLtd/pxt-kitronik-servo-lite

31
TROUBLESHOOTING
THE SERVOS ARE MISBEHAVING
- Is the orange servo wire at the bottom of the connector?
- Check all connections are secure.
- Are the screws holding the electronics together tight?
- Review your code, are you outputting to the correct pin(s)?
:MOVE MINI WON’T DRIVE IN A STRAIGHT LINE
- You may need to recalibrate your servos (see page 17).
- Review your code, are you outputting the correct values?
ZIP LED ISSUES
- Check all screw connections are tight.
- Review your code, are you outputting to the correct pin?
POWER ISSUES
- Is it switched on?
- Are the batteries flat?
- Check all screw connections are tight.
DRAWING ISSUES
- Try a felt tip pen, these tend to work best.
- Try adding some weight to the top of the pen.
- Try using a rubber band to secure the pen.
If this hasn’t solved your issue, visit
kitronik.co.uk/movemini
If you are having issues with the :MOVE mini, try the steps below!
31

The Kitronik :MOVE mini for the BBC micro:bit provides an
introduction to robotics. The mini is a 2 wheeled robot, suitable
for both remote control and autonomous operation. A range
of add on boards can expand the capabilities to include more
advanced functionality.
The :MOVE mini board included in this pack can also be used in
conjunction with a BBC micro:bit to build other movement based
projects.
Visit kitronik.co.uk/movemini for more details.
RoHS
THIS IS NOT A TOY.