In this collection of projects, we aim to program Micro:bit as a controller for games or simulators.
Team members: Nadeen Gebara, Philippos Papaphilippou, Jingqing Zhang, Ruizhe Zhao (order by surname)
Programmer: Philippos Papaphilippou
"Tilt the floor to roll a ball through an obstacle course within the given time." Neverball
This is a version of Neverball that supports micro:bit as a controller. It uses micro:bit's accelerometer as a gyroscope to adjust the angle of the floor. See the project's Readme description for more details and information on how to run.
- Source code: Neverball for micro:bit
- Video: Controlling Neverball with micro:bit, close-up
Programmer: Ruizhe Zhao
- Source code: TORCS
- Video: Controlling TORCS with micro:bit
Programmer: Jingqing Zhang
In this project, we use Micro:bit to control a car/drone based on AirSim.
- Source code: AirSimController
- Videos: Driving a Car, Driving a Drone
- Follow the installation guide to set up the Unreal Engine and AirSim project.
- Encode and run the script
microbit_code.hex
(Javacriptmicrobit_code.js
) on Micro:bit and keep the Micro:bit connected by USB. - Run the AirSim project (drone by default or choosing a car).
- Run the corresponding controller script (
drone_controller.py
orcar_controller.py
) in the source code
Programmer: Philippos Papaphilippou
This project maps actions on wirelessly-connected micro:bits to keyboard events. In this way, a variety of multi-player games can be adapted without the need to modify their source code. As a test case we used SuperTuxKart. See the featured image above, or the video below.
- Source code: GenericLinuxController
- Video: Multi-player wireless gaming with micro:bits
- microbit-client.py Uploaded to the micro:bit of each player for wireless gaming
- microbit-server.py Uploaded to the micro:bit connected to the PC
- linux-keyboard.c Translates the serial output of the micro:bit server to keyboard events (Requires the libXtst-devel package or equivalent) (see the source code comments for more information)
Programmer: Nadeen Gebara
In this project, we use Bubble Trouble as an example to show how a generic controller for online games (single/multi-player) can be created using micro:bit(s).
- Online Game: Link
- Game details: Readme
- Video: Bubble Trouble Control with Micro:bit