Welcome!
The BBC micro:bit is a small computing device for children. One of the languages it understands is the popular Python programming language. The version of Python that runs on the BBC micro:bit is called MicroPython.
This documentation includes lessons for teachers and API documentation for developers (check out the index on the left). We hope you enjoy developing for the BBC micro:bit using MicroPython.
If you're a new programmer, teacher or unsure where to start, begin with the :ref:`Tutorials <Tutorials>` and use the micro:bit Python Editor to program the micro:bit.
Note
The MicroPython API will not work in the MakeCode editor, as this uses a different version of Python.
Projects related to MicroPython on the BBC micro:bit include:
- micro:bit Python Editor - A simple browser-based code editor, developed by the Micro:bit Educational Foundation and designed to help teachers and learners get the most out of text-based programming on the micro:bit.
- Mu - A simple offline code editor for kids, teachers and beginner programmers.
- uFlash - A command line tool for flashing raw Python scripts onto a BBC micro:bit.
.. toctree:: :maxdepth: 2 :caption: Tutorials tutorials/introduction tutorials/hello tutorials/images tutorials/buttons tutorials/io tutorials/music tutorials/random tutorials/movement tutorials/gestures tutorials/direction tutorials/storage tutorials/speech tutorials/network tutorials/radio tutorials/next
.. toctree:: :maxdepth: 2 :caption: API Reference microbit_micropython_api.rst microbit.rst accelerometer.rst audio.rst ble.rst button.rst compass.rst display.rst filesystem.rst i2c.rst image.rst machine.rst micropython.rst music.rst neopixel.rst os.rst pin.rst radio.rst random.rst speech.rst spi.rst uart.rst utime.rst
.. toctree:: :maxdepth: 2 :caption: Developer Guide devguide/flashfirmware devguide/repl devguide/hexformat devguide/contributing
.. toctree:: :maxdepth: 2 :caption: Indices and tables