Skip to content

Working with students with visual impairments

Purpose of this guide

This guide is for teachers and professionals who work with students with visual impairments. It highlights some common challenges these students may face and suggests adaptations and practical advice.

There are separate guides focusing on working with students with fine motor and mobility challenges and with deafness and hearing loss.

We welcome contributions to help us cover more scenarios or solutions. Send your thoughts, ideas, and comments to us at accessibility@microbit.org. We are hoping the community will help ensure this guide is accurate and stays relevant.

Common challenges

This section lists common challenges faced by students with visual impairments when using the BBC micro:bit. Each challenge links to suggested workarounds detailed in the guidance section.

Getting to know the BBC micro:bit

  • Students who cannot read the labels on the physical micro:bit may find it harder to learn about its different components and picture how it is laid out. Beginners may wish to use a screen reader to listen to the text-based tour, or check out the tactile poster.
  • Note that the touch sensor on the micro:bit V2 is hard to feel with your fingers, so it may need to be specifically pointed out. In addition, the 5 pin holes may not be obvious to a student who cannot see the board clearly.

Sound as an alternative output

Difficulties seeing the LED output

Including tactile and hands-on learning

Coding with a screen reader

  • At the moment, the micro:bit Python Editor is the best choice for students who already use a screen reader.
  • It is also possible to use the Javascript and Python editors in the Microsoft MakeCode editor when working with groups who are using blocks. These editors work with screen readers, so you can read and edit code as text instead of blocks.
  • Screen readers do not yet work directly with the blocks in MakeCode, but this feature is being developed and will be available in summer 2026.

Using MakeCode by sight, with adaptations

Tasks requiring sighted support

  • Bluetooth pairing relies on seeing a pairing pattern on the micro:bit. If you do not have sighted assistance for this step, you can use a USB connection for transferring programs.
  • If a micro:bit gets into an error state, it reports this with scrolling text. If you do not have sighted assistance, you can diagnose a micro:bit error with a computer.
  • When a compass calibration is required, you will be asked to draw a circle or fill the LED screen by tilting the micro:bit, which requires sight. This happens when any compass feature is first used in a program (for example compass heading and magnetic force), and after uploading new programs.

Specific guidance

Physical hardware adaptations

Brighter or clearer visual output

Some people may find it hard to make sense of the shapes made by the LEDs on the micro:bit due to the brightness and spacing between the LEDs. Some micro:bit cases cover the LED matrix with a semi-translucent cover, which creates a slight diffusion effect, for example the Black Frosted Case for micro:bit V2. One user solved this problem with a custom built diffuser, as described in Improving the micro:bit LED display.

Six micro:bits displaying E, 1, and 4. Top row shows standard LEDs where unlit dots are visible. Bottom row shows the same displays with a diffuser that hides unlit LEDs, making the shapes clearer and easier to read.

dougw, Improving the micro:bit LED display

If students cannot see the micro:bit’s LEDs and want brighter, larger scale visual output, there are many display accessories available with much brighter and more colourful LEDs.

Kitronik ZIP Halo HD for the BBC micro:bit. A micro:bit is mounted in a circular circuit board surrounded by ultra bright rainbow LEDs

Kiktronik, ZIP Halo HD

Environmental conditions affecting LED visibility

The LED display on the micro:bit can be difficult to see clearly when used outdoors on a sunny day. Consider temporarily shading the micro:bit using a clipboard or similar, or get students to make a DIY enclosure for better visibility.

Children using micro:bit outdoors

When batteries are running low, the brightness of the LEDs can reduce significantly. Keep this in mind when you are working with students with low vision, and consider running from USB power if possible or ensuring fresh batteries are available.

Sound output options

Both the micro:bit V1 and V2 allow you to connect headphones or a speaker for sound output. The micro:bit V2 also features a built-in speaker, so you can add sound effects without any additional hardware.

Most Microsoft MakeCode music blocks work with both versions, but some blocks (found in the “micro:bit V2” group at the bottom of the Music category) only work with the V2. This Frère Jacques project is an example of a sound-based project suitable for both the micro:bit V1 and V2.

When using headphones or a speaker with a micro:bit V2, you may want to add a ‘set built-in speaker: OFF’ block to your program to prevent sound coming from both the built-in speaker and your connected audio device.

A micro:bit with a smiley face icon next to a symbol of a speaker.

Use a USB connection for transferring programs

You can transfer code to the micro:bit using a USB cable on a PC, Chromebook or Android device. This can be more accessible to a user with a visual impairment than Bluetooth pairing. See Transfer code to the micro:bit for more information. Unfortunately, it is not possible to transfer code from an Apple (iOS) device via USB cable to the micro:bit.

A micro:bit V2 lies flat on a desk with a micro USB cable already attached and looped round itself.

Many teachers provide micro:bits to students with USB cables already attached, to minimise any challenges with plugging into the small micro-USB port on the micro:bit board.

Diagnose a micro:bit error using a computer

If something goes wrong with the micro:bit it may enter a panic routine. It reports this with a sad face and an error code scrolls on the LED display. This is not directly accessible to a student who cannot read the error code on the screen, but if you plug in the micro:bit to a computer, it will show up as a drive in your file system. Navigate to the MICRO:BIT drive and you will find a text file called FAIL.TXT or ASSERT.TXT, which will include text information about the error.

Accessing coding

Start with cut-out cards

Many teachers find it helpful to start with micro:bit MakeCode blocks cut-out cards before students use computers for coding. This resource includes commonly-used MakeCode blocks such as those used in First lessons with MakeCode and the micro:bit.

For students with visual impairments, you can attach printed blocks to stiff card or rubber shelf paper and optionally add braille labels - you can see examples of this in Pauline Maas’ unplugged blocks in different languages. This can also support students with visual impairments working together with sighted peers to plan their programs before coding them in MakeCode.

Large printed code blocks on card with braille labels have been placed on the floor to make a program that says on start; play (empty space) until done.

Unplugged activities

Many coding concepts can be introduced with hands-on problem solving in the classroom before moving to working at a computer.

For example, movement-based activities like Red light, green light teach conditionals through physical actions, while paper-based design exercises like Decision boxes help students plan algorithms using flowcharts. Interactive games like What’s your function & crazy conditionals introduce and explore the concept of functions. There are many such unplugged activities suggested throughout micro:bit lesson plans, as well as lessons shared by third parties.

For coding in an unplugged environment, you may want to use cut-out cards.

Use the MakeCode Javascript or Python editors with a screen reader

Currently MakeCode blocks are not compatible with a screen reader, but it is possible to use a screen reader to edit block code via the Javascript or Python editors in MakeCode.

There is a skip link near the start of the page allowing you to jump straight into either Javascript or Python. For more accessibility information, see the MakeCode Accessibility page.

Using keyboard controls in MakeCode

You can enable keyboard controls in MakeCode for navigation and access to MakeCode blocks. For further information including a video guide, keyboard shortcuts and FAQs, see Microsoft MakeCode accessibility support | micro:bit.

Customise MakeCode’s visual appearance

MakeCode offers several built-in options to customise the editor’s appearance to improve visibility and readability. These include adjustable zoom levels, high contrast and dark themes, and a flexible layout. These adaptations may help any student who finds small text hard to read, experiences visual fatigue, struggles with visual distractions, or has a condition such as dyslexia or Irlen syndrome that affect reading on screen.

For instructions on using these features and visual examples, see our detailed guide: MakeCode visual options. For additional customisation, you can also use your computer’s colour filter settings.

Screenshot showing dark theme in MakeCodeScreenshot shows whole screen zoomScreenshot shows MakeCode through a colour inversion filter

Work with a fullscreen simulator

The simulator in the Microsoft MakeCode editor can be expanded to fill the whole screen. This lets students view their program’s results at a much larger scale than on the physical micro:bit. This also allows individuals to use their computer’s accessibility settings (for example, high contrast or colour filters) to more clearly see the state of the LEDs.

A screenshot showing the full screen simulator in the MakeCode website. The micro:bit shows a heart icon.

Note that the screen reader functionality of the MakeCode simulator is currently incomplete, but being actively worked on, aiming for release in the summer 2026.

Use your browser in fullscreen mode

On some laptops, especially Chromebooks, the amount of screen area available to show a webpage can be limited. You can significantly increase your coding space by using fullscreen mode:

Chromebook: Press the “fullscreen” key on your keyboard

A photo of the Chromebook keyboard with the fullscreen key on the top row circled.

Windows: Press F11

Mac: Press Fn + F (macOS Monterey 2021 or later) or Ctrl + Cmd + F (older macOS versions)

This removes the address bar, bookmarks, and other browser elements, giving you maximum screen space for coding.

Two screenshots side by side show the relative amount of coding space available on a Chromebook is standard view compared to fullscreen browser mode.

When programs become longer, it can be difficult to navigate around the code.

MakeCode has the ability to “format” your code, which tidies up the blocks and makes sure they do not overlap each other. You can access this by right-clicking on the workspace and selecting “Format Code”. If you have enabled keyboard controls, you can also access it by pressing F when the workspace or code blocks are focused.

You can also collapse blocks that have other blocks inside them, for example an ‘if’ logic block or an event block like ‘on start’.

Workspace context menu showing option "Format Code"
A block's context menu shows option option "Collapse block"

You can also search for blocks in your code, by using Ctrl + F (Windows) or Cmd + F (Mac) and typing part of a block name. This will jump you straight to the matching block in your program.

Adapting projects

Adding sound output to an existing project

If a project only features LED output, you can add additional audio output by including a code block from the Music category in the toolbox. For example, the emotion badge project usually has visual output, but you may choose to add ‘play happy’ and ‘play sad’ blocks as shown in the following picture.

Two stacks of code. Stack 1: on button A pressed; show icon smiley face; play happy until done. Stack 2: on button B pressed; show icon sad face; play sad until done

Third party content

This document includes links to third party content. We have included these as examples of products or resources that may be useful. However, the Micro:bit Educational Foundation does not have any official link to these products.

Contribute your feedback

We welcome contributions to help us cover more scenarios or solutions. Send your thoughts, ideas, and comments to us at accessibility@microbit.org. We are hoping the community will help ensure this guide is accurate and stays relevant.