Robo:Bit Mk2 Robotics Controller and Buggy for Micro:Bit

Robo:Bit Mk2 Robotics Controller and Buggy for Micro:Bit

IMG_0904a

Looking for Robobit Mk3 ? Then Visit this Page

Robo:Bit Mk2 is a general purpose robotics controller for the BBC Micro:Bit, that also converts easily into a self-contained little buggy.

Purchase Robo:Bit here

Purchase the Robo:Bit Buggy here

Overview

The Robo:Bit controller has the following features

  • Ready assembled (NB. headers for the underside are not fitted unless the complete buggy is purchased, but they are included in case you want to add these)
  • Edge connector for easy attachment of your BBC Micro:Bit
  • Dual motor driver with full control of each motor for both direction and speed (uses DRV8833)
  • 3.3V Regulator to power the BBC Micro:Bit
  • Power On/Off switch with LED indicator
  • Mounting holes for either 3-cell or 4-cell AA battery holder
  • Front interface for ultrasonic distance sensor (simply push-fit an HC-SR04, or solder for added security) [NB. You can also plug the McRoboFace into here directly and it will work as required!]
  • 7 of the Micro:Bit pins are broken out to a header with GVS connections (Ground, Volts, Signal) for ease of connecting external devices and sensors
  • I2C signals broken out in case you want to add more complex peripherals

Warning: The line follower sensors share the same pins as the buttons. Depending what language you are using, when the Micro:Bit is started or reset it will check the 2 buttons and start pairing if they are both pressed. With the Robobit, this translates to both line follower sensors getting reflections. You can stop it happening by lifting it off the surface before switching on, or of course disconnecting one or both of the sensors

Software & Programming

Robo:Bit uses the same connections for the motors as Bit:Bot, so most of the software will continue to work.

{{OLD INFO:  In particular, the BitBot package for Microsoft PXT works fine (but you cannot use the sonar or neopixel blocks from this package as they use the wrong pins for RoboBit). To use this package, load up microsoft PXT for Micro:Bit from here, then go to Advanced or Tools and select Add package. Then search for “BitBot”.}}

Please use the currently Beta Robobit package. for Microsoft Makecode (aka PXT). Select Advanced, then “Add Package”. Into the search bar, put this URL: https://github.com/4tronix/Robobit and the Package will show as an Orange Taxi icon on the left.

The Pins are used as follows:

  • Left Motor: Pin 0 (PWM) and Pin 8 (Direction)
  • Right Motor: Pin 1 (PWM) and Pin 12 (Direction)
  • Ultrasonic detector: Pin 13 (alternatively neopixel output pin)
  • Left line sensor: Pin 11 (bottom 3×2 header)
  • Right Line sensor: Pin 5 (bottom 3×2 header)

For each motor there is a 2-pin screw terminal and a 2-pin male header. If fitted, there is also a 2-pin JST header underneath the board (used in the buggy). All three connectors for each motor are connected together.

Some sample PXT programs. Click on them to download the compressed HEX files. You can install them into your Makecode environment by selecting Projects and “Import File” and browsing to the HEX file on your PC

 

Motor Test

Simply moves forward and backwards to check the motors are connected OK

 

Sonar test with the Ultrasonic

Simply displays the distance measurement on the MicroBit

 

FollowMe Sonar Test

The Robot will move to within 15-20cms of an obstacle and then move forwards or backwards to stay within this range

 

Control your Robobit Buggy from another Microbit

The same code can be loaded into each microbit. The one on the buggy will receive the commands from the second one – in your hand. To load this code, copy the compressed HEX file from here onto your PC, and uncompress it. Then, from Makecode, select Project and browse to find where you put the HEX file. Install this onto both the controller and the buggy. Here is the complete code visually:

Assembling the Robo:Bit Buggy

STOP: Before continuing, please check which version of RoboBit you have as the assembly instructions differ. The version number is written on the underside of the PCB as v1.0 or v1.1 or v2.0

Note that this buggy can be purchased in modular form. You can use your own motors and wheels if you already have them – the little yellow motors are pretty ubiquitous, so many schools and hobbyists will already have them. This guide to assembly assumes you have purchased the complete kit, including the ready-soldered wires on the motors – if not you would have to connect the wires to the motors and use the screw terminals on the top of the board.

Click on the image below for a quick assembly GIF

IMG_0898a

 

Step 1. Check you have all the Parts

NB. These are different for each Version. Check the PCB version (written on the underside of the PCB) before continuing

IMG_1474a

Version 2.0

  • Robo:Bit v2.0
  • Battery Holder with no wires, mounted on a PCB
  • Yellow gear motors x 2 with JST connectors
  • 1 caster (plastic ball plus plastic housing)
  • 25mm brass female-female pillars x 2
  • 11mm brass female-female pillars x 2
  • 20mm brass female-female pillar (M2.5) x 2
  • 30mm brass female-female pillar (M3) with holes x 2
  • 6mm M3 screws x 2
  • 30mm M2.5 screws x 4
  • 6mm M2.5 screws (pan head) x 6
  • 8mm M2.5 screws (CSK) x 2

 

step01

Version 1.1

  • Robo:Bit v1.1
  • Battery Holder
  • Yellow gear motors x 2
  • 1 caster (plastic ball plus plastic housing)
  • 10mm black nylon male-female pillars x 2
  • 15mm black nylon female-female pillars x 2
  • 20mm brass female-female pillar (M2.5) x 2
  • 30mm brass female-female pillar (M3) with fitted attachments x 2
  • 11mm brass female-female pillars x 2
  • 25mm M3 screws x 4
  • 6mm M2.5 screws (pan head) x 6
  • 8mm M2.5 screws (CSK) x 2
  • 4-cell AA battery holder

 

Version 1.0

  • Robo:Bit v1.0
  • Battery Holder
  • Yellow gear motors x 2
  • 1 caster (metal ball plus plastic housing)
  • 10mm black nylon male-female pillars x 2
  • 15mm black nylon female-female pillars x 2
  • 25mm black nylon female-female pillar (M3)
  • 25mm brass female-female pillar (M3) with fitted attachments
  • 11mm brass female-female pillars x 2
  • 25mm M3 screws x 4
  • 6mm M2.5 screws (pan head) x 8 (or x10 – see step 6)
  • 8mm M2.5 screws (CSK) x 6 (or x4 – see step 6)
  • M2.5 nuts x 4
  • 4-cell AA battery holder

 

For v1.0 assembly, go to Step 2A

For v1.1 assembly, go to Step 2B

Step 2 (v2) Make the Motor Assembly v2

IMG_1475a

You will need the two 30mm brass pillars with holes, two 20mm brass pillars and 4 long (30mm) M2.5 screws

IMG_1476a

Push two of the screws through the holes in one of the motors and through the holes in the 30mm pillar as shown. Take care that the axle of the motor is on the outside and the pillar is on the inside. Also ensure that the motor wires do not get trapped under the pillar.

IMG_1477a

Screw the 20mm pillars on tightly as shown above.

IMG_1478a

Then fit the remaining 2 long screws through the second motor, ensuring the orientation is correct as shown above

IMG_1479a

Finally, screw the second motor firmly to the 20mm pillars. You have now completed the motor mount assembly. Now skip to Step 3

Step 2B (v1.1). Make the Motor Assembly v1.1

STP51

You will need the 2 brass bracket assemblies, 20mm female-female pillars (x2) and 30mm M2.5 screws (x4)

STP52

Push the 30mm screws through the motors as shown, with the screw threads protruding through the side with wires

STP53

Slide the bracket assemblies onto the ends of the 30mm screws as shown above. Ensure that:
1. The vertical 30mm pillar is away from where the wires exit the front of the motor
2. The wires go over the vertical pillars, not under them
3. The short spacers stick out on one side – this is the side that fits against the motor – do not try to fit them the other way around

STP54

Screw the two 20mm female-female brass pillars onto one motor as shown above

STP55

Finally, add the second motor and screw tightly together

 

Step 3. Prepare the Robo:Bit for Fitting

STP56

You will need the Robo:Bot circuit board, 6mm M2.5 screws (x2) and 11mm pillars (x2)

STP57

Fit the pillars in the positions shown above and screw tightly together

 

Step 4: Fit the Robo:Bit to the Motor Assembly

STP58

You will need the motor assembly from Step2, the Robo:Bit assembly from Step3 and M3 6mm screws (x2)

STP59

Pass the M3 6mm screws through the Robo:Bit board and into the top of the pillars in the brass bracket assemblies as shown above

STP60

Plug the two cables in making sure the left motor is plugged into the left socket and the right motor is plugged into the right socket

STP61

The photo above shows the gap between the motors and the Robo:Bit board

Now skip to Step 5

 

 

Step 2A. Make the Motor Assembly v1.0

step03

Place the motors into position as shown above, with the axles facing outwards

Use 2 of the 25mm screws to fit the M3 black nylon 25mm female-female spacer to the bottom holes in the motor

Use the other 2 of the 25mm screws to fit the brass bracket assembly to the top holes, making sure that the connector parts point upwards as shown above

 

Step 3A. Prepare the Robo:Bit for Fitting

step04

Fit 4 of the 8mm M2.5 CSK screws and the 4 nuts to the Robo:Bit as shown above. Pass each screw from the top of the board into a nut on the bottom. Tighten securely.

step06

Using 2 of the 6mm M2.5 pan head screws, fit the 11mm brass pillars in place for the 4-cell battery holder – the outermost two holes – as shown above. Tighten securely

 

Step 4A: Fit the Robo:Bit to the Motor Assembly

step07

Use 2 of the 6mm M2.5 pan-head screws to attach the Robo:Bit to the upwards-facing connectors on the brass bracket assembly as shown above. Tighten securely.

Push the JST plugs from the motors into the sockets underneath the Robo:Bit controller. The wires are short enough to stay tidy.

 

Step 5. Fit the Front Caster

step09

For v1.0 and v1.1, Screw each 10mm black nylon male-female pillar into a 15mm making it into a 25mm female-female pillar.

For v2, use the 25mm brass female-female pillars

Use a 6mm M2.5 pan-head screw to fit each pillar to the front holes on the Robo:Bit

step10

Then use two more 6mm M2.5 pan-head screws to fit the caster housing to the pillars (you will have to remove the metal ball while you do this)

 

Move to Step 6A for v1.0 and v1.1

Step 6 (v2): Fit the Battery Holder

IMG_1492a

You will need the battery holder assembly and the two 8mm countersunk screws

IMG_1493a

Screw the battery holder assembly tightly to the upright pillars, ensuring that the labelling is at the rear of the Robo:Bit as shown above. There is no need for wires as the battery power passes directly through the upright pillars.

 

Step 6A (v1.0 and v1.1): Fit the Battery Holder

step11

Screw the wires into the power terminal. Red to 5V and Black to GND. Wrap the wires tidily out of the way under the battery holder

step12

Use the remaining 2 of the 8mm M2.5 CSK (or 6mm pan head) screws to screw the battery holder to the brass mounting pillars. With some battery holders, the wide countersunk screws don’t fit, so swap them with the 2 smaller pan-head screws used to hold the mounting pillars for the front caster

 

Step 7. Finish off and Go!

step17v1.0 or v1.1 Ultrasonic

Push on the wheels. Be careful to hold the motor as the wheels can be quite stiff to fit, especially the first time

Push in or bolt on the Ultrasonic Sensor (if you have one)

IMG_1498av2 Ultrasonic

Push the BBC Micro:Bit into the edge connector (LED display and buttons upwards)

Program -> Switch On -> Go!

 

Fitting the Line Sensors

Step 8. Check you Have the Parts

step22

  • 30mm black nylon M3 pillars
  • 6mm M3 screws x 4
  • Line follower sensors x 2
  • 10cm GVS cables x 2

 

Step 9. Fit the pillars to the Robo:Bit

step24

Use 2 of the 6mm M3 screws to fit a 30mm black nylon pillar to each front corner of the Robo:Bit board

 

Step 10. Fit the Sensors

step26

Push one of the GVS leads onto each line follower sensor. Make sure you use the colour coding: Brown for Ground (G), Red for volts (V+) and Orange for Signal (S)

Then use the remaining 2 of the 6mm M3 screws to to fit the line sensors to the bottom of each pillar. Use the hole near the centre of the sensor, not the one at the front. The wires should be at the back, as shown above

 

Step 11. Plug the GVS leads into the Connector

step28

Pass the wires around the motor supports and then into the 3×2 male header underneath the Robo:Bit board. Make sure brown goes to Ground (GND), Red to power (3V) and Orange to Signal (SIG)

Also make sure you connect the left one to the left set of pins, and the right one to the right set of pins. It is VERY confusing when writing programs with these reversed (trust me, I know this)

 

Step 12. Trim the Sensors

Each sensor has a little preset potentiometer (pot) which can be turned to define the position at which it detects a line.

Turn the pot until the red LED on the sensor _just_ turns off. It is then at its most sensitive.

When using 3V, these sensors are not as sensitive. With a little ingenuity (and a different cable) you can connect the power line to VCC (the bottom 3 pins on the 8×3 header on the top of the board). This will make the sensors more sensitive.