Bit Bot: A Feature-Rich, (Almost) Ready-Assembled Robot

Posted by

What is Bit Bot?

Bit Bot is a small tabletop robot designed for learning about electronics, programming, and robotics. It comes mostly preassembled, with just a few parts to put together to get it up and running. Once built, you can program Bit Bot using a variety of languages and control it wirelessly from a tablet or computer.

Key features of Bit Bot include:

  • Line following and edge detection sensors
  • Bluetooth wireless connectivity
  • Programmable multi-color LED lights
  • Compatible with Python, Scratch and Microsoft MakeCode
  • Expansion ports for adding new modules and capabilities

Bit Bot provides an accessible yet powerful platform for learning the fundamentals of robotics. It’s suitable for ages 11 and up and requires no prior coding or electronics experience to get started.

Bit Bot Hardware Overview

Let’s take a closer look at the Bit Bot robot and all the components and features it includes:

Main Circuit Board

The heart of Bit Bot is the main printed circuit board (PCB). This board contains:

  • The main microcontroller (a Microchip SAM21 ARM Cortex-M0+ processor)
  • Motor driver chip to control the wheels
  • Bluetooth radio for wireless connectivity
  • Ports and connectors for motors, sensors, battery, and expansions

The PCB comes preassembled with all the surface-mount components already soldered in place. You just need to connect a few through-hole parts like the battery box and sensors to complete the assembly.

Motors and Wheels

Bit Bot uses two micro metal gear motors to drive its wheels for precise, powerful movement. Simply plug the motors into the connectors on the main board – no soldering required. The kit also includes a caster ball on the front to act as a third point of contact and allow smooth motion.

Sensors

Bit Bot includes a number of sensors to help it detect and navigate its environment:

Sensor Description
Line sensors Two IR sensors on the bottom to detect and follow lines
Light sensors Left and right light sensors to measure brightness
Edge detector Downward facing sensor on front to detect edges and drop-offs

These sensors connect to dedicated ports on the main board. Bit Bot also includes an expansion connector to add even more sensors and modules to expand its capabilities.

Battery and Power

Bit Bot is powered by 3 AA batteries (not included). The battery holder connects to the power input on the main PCB. You can expect around 4 hours of battery life, depending on usage. Bit Bot can also be powered by connecting a 5V USB power bank to the micro USB port on the board.

LED Lights

Bit Bot features 12 programmable RGB LED lights around the front edge of the body. You can control each LED individually to light up in any color you want. The LEDs are great for creating light displays and providing visual feedback as Bit Bot runs.

Assembling Bit Bot

Bit Bot requires only a small amount of assembly to put together. Most of the electronics come preassembled on the PCB. You’ll need to:

  1. Attach the two motors to the mounts on the underside of the body using the included screws
  2. Plug in the motor cables to the connectors on the main board
  3. Install the sensors into the slots on the underside
  4. Attach the battery holder to the top of the body and connect its cable
  5. Clip on the top cover to complete assembly

All the parts simply plug together – no soldering or wiring is needed. From opening the box to a fully assembled robot takes about 15 minutes. The kit includes clear, illustrated instructions to guide you through each step.

Programming Bit Bot

One of the best things about Bit Bot is how many ways there are to program it. It’s compatible with several popular programming languages and platforms aimed at learning:

Scratch

Scratch is a block-based visual programming language developed at MIT. It provides an intuitive drag-and-drop interface for beginners to learn the basics of coding. Bit Bot integrates with Scratch via an extension that provides blocks to control all of its functions. Programming Bit Bot with Scratch requires no prior coding experience.

Microsoft MakeCode

MakeCode is another web-based block programming platform. It offers a similar visual programming experience to Scratch. You can progam Bit Bot using MakeCode in a web browser or using the dedicated Windows 10 app. MakeCode is a great choice for classroom settings using Windows computers or tablets.

Python

For more advanced coding, Bit Bot supports programming in Python. The Mu Python editor makes it easy to write Python programs and upload them wirelessly to the robot. Coding in Python requires more programming experience than Scratch or MakeCode but allows creating more sophisticated robotics applications.

Here’s an example of a simple Python program to make Bit Bot drive forward for 1 second:

from bitbot import *
from time import sleep

motor_left(100)
motor_right(100) 
sleep(1)
motor_stop()

Exploring Bit Bot’s capabilities

So what can you actually do with Bit Bot once it’s up and running? Let’s explore some of the bot’s built-in features and program ideas.

Line Following

Bit Bot really shines at line following. The two downward facing IR sensors on the bottom of the bot allow it to detect and track lines on the ground. By reading the sensors and adjusting the motor speeds, you can program Bit Bot to follow paths marked with dark lines on a light surface.

Here’s an example of a basic line following program in Scratch:

This program continously reads the left and right IR sensors and steers the motors to keep the bot centered on the line. You can print out track designs on paper for Bit Bot to follow or even draw your own paths with a thick black marker.

Edge Detection

The front-mounted IR sensor allows Bit Bot to detect sudden drops and edges, such as a stair step or table edge. You can use this sensor as a safety to make the robot stop or back up if it detects an edge in front of it.

Collision Avoidance

While Bit Bot doesn’t have any built-in proximity or distance sensors, you can program some basic collision avoidance using the edge sensor and light sensors. For example, the bot could:

  1. Drive forward
  2. Stop if the edge sensor is triggered
  3. Check the left and right light sensors
  4. Steer in the direction with the most light
  5. Repeat

This would result in simple behavior to roam around while avoiding obstacles and edges. The light sensors could also be used to program Bit Bot to seek out light sources.

LED Light Shows

Don’t forget Bit Bot’s 12 programmable RGB LEDs. With some creative coding, you can use the LEDs to put on some impressive colorful light shows. The LEDs can be set to any combination of red, green and blue.

Here’s an example of creating a moving rainbow pattern in Python:

from bitbot import *
from time import sleep

leds = range(12)
hue = 0

while True:
    for led in leds:
        h = (hue + (led * 10)) % 360
        rgb = hsv_to_rgb(h, 1, 1)
        set_pixel(led, rgb[0], rgb[1], rgb[2])
    show()
    hue += 1
    sleep(0.05)

This code uses HSV (hue, saturation, value) colors to smoothly cycle the LEDs through the full color spectrum over time, creating a mesmerizing rainbow effect as the bot moves around.

Expansions and add-ons

The standard Bit Bot kit provides a great starting point, but its capabilities can be expanded even further with add-on modules and accessories. Some available expansion options include:

  • Distance sensor – an ultrasonic sensor to detect objects in front of the bot
  • Line following array – a plug-in module with 6 IR sensors for advanced line tracking
  • Servo motor – an add-on servo for moving arms, pans, and other mechanisms
  • Camera – a small camera module for computer vision and object detection
  • Wireless gamepad – control Bit Bot wirelessly with a familiar game controller
  • Arduino shield – an adapter to connect Arduino-compatible modules and shields

With these expansions, you can build Bit Bot into an increasingly sophisticated and versatile robot. Expansions connect using the 5-pin port on the edge of the board or the 3-pin servo and I2C connectors on top.

Bit Bot also has a set of mounting holes for attaching your own 3D printed parts and designs using standard M3 screws. With a bit of creativity, you can devise all sorts of custom body designs and mechanisms for Bit Bot.

Learning with Bit Bot

Bit Bot’s features and flexibility make it an excellent educational tool for teaching coding and robotics. Students can start with basic programming concepts in Scratch, then progress to more advanced coding in Python as their skills develop.

Here are some ideas for robotics projects and lessons using Bit Bot:

  • Program Bit Bot to navigate a tabletop maze
  • Code a dancing light show synchronized to music
  • Build a Sumo battle bot and compete against classmates
  • Devise a line following course and see who can complete it fastest
  • Create an interactive robot pet with light-up expressions and behaviors
  • Explore computer vision by detecting and tracking specific color objects

The options are endless! Bit Bot provides a fun, hands-on way to learn programming, electronics, and engineering concepts. It’s a great resource for classrooms, robotics clubs, and at home.

FAQ

Let’s finish with answers to some common questions about Bit Bot:

What age group is Bit Bot suitable for?

Bit Bot is recommended for ages 11 and up. Adult supervision may be helpful for younger learners. The kit requires no coding experience to get started. More complex programming will be better suited to teenagers and older.

Does Bit Bot require any tools to assemble?

You will need a small Phillips screwdriver to attach the motors and battery box. Everything else simply plugs together.

Is Bit Bot compatible with Lego or other building systems?

The standard Bit Bot kit does not connect directly with Lego. However, you can attach your own Lego-compatible 3D printed connectors or adapters to the mounting holes using M3 screws.

Can I control Bit Bot from a smartphone?

Yes, you can control Bit Bot wirelessly via Bluetooth from a mobile app. Apps are available for iOS and Android to remote control and live-code the bot from a smartphone or tablet.

How do I recharge the batteries in Bit Bot?

Bit Bot uses standard replaceable AA batteries. You will need to remove the batteries from the holder to recharge them separately. Alternatively, you can power Bit Bot from a rechargeable USB power bank battery connected to the micro USB port.

In Summary

Bit Bot packs a ton of robotics fun into a small, accessible package. With its sensors, lights, expansions, and programming options, Bit Bot provides an engaging platform for learning about coding and robotics.

The robot’s “some assembly required” approach gives a satisfying building experience while still being easy enough for beginners. Supporting block-based coding in Scratch and MakeCode allows those new to programming to jump right in, while more advanced users can take advantage of Python.

Whether you’re an educator looking for a classroom resource or a budding robotics enthusiast, Bit Bot offers an enjoyable, expandable toolkit for learning and experimentation. Its versatility and durability make it a great long-term platform as your skills and interests grow.

So power up your Bit Bot and get coding! You’ll be amazed how much this mighty little bot can do. Happy roboting!

Leave a Reply

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