Error codes

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. These are called panic codes. For a full list of these codes, what they mean and what you can do to resolve them visit the micro:bit guide to error codes.

  • 10 (MICROBIT_I2C_LOCKUP): the micro:bit’s I2C bus is not working
  • 20 (MICROBIT_OOM): there is no free memory on the micro:bit
  • 30 (MICROBIT_HEAP_ERROR): a problem in the heap space.
  • 40 (MICROBIT_NULL_DEREFERENCE): there was a NULL dereference, the micro:bit tried to manage a invalid object pointer.
  • 42 (MICROBIT_SYSTEM_ERROR): there’s an error condition in the micro:bit system software.
  • 43 (MICROBIT_NO_RADIO): the micro:bit can’t enable the radio.
  • 50 (MICROBIT_HARDWARE_UNAVAILABLE_ACC): an error occurred with the micro:bit’s accelerometer component.
  • 51 (MICROBIT_HARDWARE_UNAVAILABLE_MAG): an error occurred with the micro:bit’s magnetometer component.
  • 98 (MICROBIT_ASSERTION_FAILED): assertion failed, the condition in an assert was false.
basic.showLeds(`
    # . . . #
    # # . # #
    . . . . .
    . # # # .
    # . . . #
    `)

See also

panic, assert,