Error Codes

A micro:bit with an error.

Your micro:bit may encounter a situation that prevents it from running your code. When this happens, a frowny face will appear on your micro:bit screen (see picture) followed by an error number.

Whenever this happens, you should:

  • Press the reset button on the back of the device to restart your program
  • Flash the script to your micro:bit again

If the problem persists please report the issue to us by submitting a support ticket.

Error Numbers

Below is a list of error numbers and what they mean:

  • 10: The micro:bit's I2C bus is not working. The device might be physically damaged. Submit a support ticket to get help with this.(MICROBIT_I2C_LOCKUP)
  • 20: There is no free memory on the micro:bit. Your program might be too complex or contain a lot of large variables. (MICROBIT_OOM)
  • 30: Corruption detected in the micro:bit heap space. Try flashing a different .hex file to your device or submit a support ticket to get more help. (MICROBIT_HEAP_ERROR)
  • 40: Your micro:bit can't execute your script properly. Flash a different .hex file to it, then try flashing and running your previous script again. (MICROBIT_NULL_DEREFERENCE)
  • 42: Your micro:bit can't execute your script properly. Flash a different .hex file to it, then try flashing and running your previous script again.
  • 43: An error occurred with the micro:bit's radio component.
  • 98: Occurs with the JavaScript Blocks Editor when an error occurs with the 'Control' blocks. Review your code or submit a support ticket.

For additional error numbers please refer to this support ticket.