Introduction to Physical Computing with micro:bit

Learn about Intro to Physical Computing with micro:bit: course content, setup and FAQs

Jeremy Keeshin avatar
Written by Jeremy Keeshin
Updated over a week ago

Introduction to Physical Computing with micro:bit is a quarter-long, project-based course focused on building circuits and using physical devices. This course is meant for students who have experience with foundational programming topics (described in more detail below). This course is different than many CodeHS courses as it requires physical materials to be purchased and uses an outside platform (MakeCode) where students will develop and test their programs before pasting into the CodeHS editor to be graded by their teacher.

The Physical Computing with micro:bit course provides a highly interactive way for students to apply programming concepts to physical devices! The course uses a BBC micro:bit and is meant to refresh and apply basic programming concepts in a physical environment.

Who should take this course?

This course is meant to refresh programming concepts for Middle School students. Basic programming concepts, such as loops, functions, if/else statements, and variables will not be taught from scratch in this course. Students should have seen these concepts previously so they are already aware of how they work before using them with their micro:bit. There are quite a few CodeHS courses that provide this prerequisite information to students, as noted below:

  • Intro to Programming with Tracy

  • Intro to CS in JavaScript

  • Intro to CS in Python

  • Intro to Programming with Karel - Note: This course does not include information on variables, so if you are using this course as your prereq, you’ll need to supplement with some information about variables and parameters before students see these concepts in the micro:bit course.

Teaching Intro to Physical Computing with micro:bit

Can I teach the foundational programming concepts and this course at the same time?

There are a few ways prerequisites can be implemented.Students join your class after they have taken one of the courses listed. This could be with another teacher before they joined your class, completed as a summer assignment, or as the first semester of your course if it is a year long.Another option is to have students learn these foundational concepts concurrently as they take this course. This could be provided during another class period (if your students are lucky enough to have 2 periods of computer science!) or could be threaded into the intro programming course.

Can I use this course with High School students?

Yes! Though this course was designed for middle school students, this does not mean that it can not be used in High Schools as well. For example, if you already have access to micro:bit devices, are thinking of bringing a physical computing course to younger high school students, such as freshman or sophomores, or have a shorter time frame to fit the content into, this course could be a great fit.

What are the Explorations that I see in the course?

We wanted to have a strong discovery learning focus in our Physical Computing courses, so we encourage students to hypothesize and test what commands do on their own through the use of what we call Explorations. These step-by-step documents include diagrams, starter code, and questions to guide students to learn about new commands and how they are applied in their programs without being directly told by their teacher. Each lesson in the course contains an exploration so students are constantly exploring new commands to add to their physical computing toolbox.

Are there autograders in this course?

No, autograders do not exist on any of the activities in this course due to programs being run in the MakeCode editor rather than on our site. It should be communicated to students that they must be able to test their own programs and should only copy and paste them into the CodeHS editor from MakeCode when they feel that each component of the exercise has been successfully completed. Problem guides will give a lot of additional information to teachers about each exercise so this should be the first resource they consult when grading student work.

  1. What are the modules about in the micro:bit course?

Intro to Physical Computing with micro:bit Course Description

Course Modules

  • Introduction to micro:bit - Students will go through the basics of the micro:bit, such as how to light up and change the brightness of LEDs, and learn how variables can be used to write more versatile programs. Students will build circuits to control external LEDs with the micro:bit and explore how pseudocode can be used to structure programs from the start.

  • Program Control with micro:bit - Students will learn how to apply control structures, such as if/else statements and loops to create programs that will react to the outside world. They will build programs that use the built-in sensors that detect temperature, light, and acceleration, as well as external sensors, such as an ultrasonic range finder, which detects the distance from the device to nearby objects.

  • Advanced micro:bit - Students will have a chance to explore all of the capabilities of the micro:bit on their own! They will research, explore, and teach their peers about new sensors, follow directions to build an advanced device, and have a chance to create their very own micro:bit machine.

What major projects exist in the course?

  • Digital Watch (3.1)

  • Inchworm (3.1)

  • Step-by-step project (3.3)

  • Final Project (3.4)

How much coding background do my students and I need to have for the micro:bit course?

Students should have a basic understanding of foundational programming concepts, including functions, variables, parameters, loops, and if/else statements. This background could be in any programming language.

Additional FAQs

  • Does the module order matter? Yes, students should take the modules in order because content builds on previous exercises as the course progresses.

  • Where can I find the syllabus?

  • How long is the course? The quarter-long course represents about 35-50 hours of work.

  • Is there a PD course that goes with it? Yes, See Teaching Physical Computing with mircro:bit for more information.

  • How do my students run programs in the CodeHS Editor: The programs in the micro:bit course will not be able to run in the CodeHS editor. They will be developed and run in the MakeCode editor. Once students have created a successful program, they will copy and paste their code into the CodeHS editor where it will be saved for teachers to view, grade, and provide feedback.

  • What materials do I need? A full materials list can be found at This list provides links, notes, and quantities for every material.

  • Can I teach this course without materials? Though one of the best parts of physical computing is the physical portion where students are able to see things in real life happening from the text they write in their programs, this course uses simulation programs that cover 90% of the course content. For this course, students will not be able to simulate any circuits that include ultrasonic range finders due to limitations in the MakeCode environment. They will also not be able to complete much of Module 3.

  • Can I teach this course virtually? Yes, because the course uses simulations and the circuit designs are created automatically on the MakeCode site, this course can definitely be taught virtually. If students will have access to materials and will be building circuits on their own, it is recommended to set up some sort of office hours where students have the ability to video with you and share their circuit designs in order to debug them.

External Resources


Learn more about the course by viewing the Physical Computing with micro:bit Webinar.

Still have questions? Contact our team at to learn more!

Did this answer your question?