Skip to main content

A module and utility to flash Python onto the BBC micro:bit.

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

A community fork of uFlash.

A utility for flashing the BBC micro:bit with Python scripts and the MicroPython runtime. You pronounce the name of this utility “micro-flash”. ;-)

It provides three services:

  1. A library of functions to programatically create a hex file and flash it onto a BBC micro:bit.

  2. A command line utility called uflash that will flash Python scripts onto a BBC micro:bit.

  3. A command line utility called uextract that will extract Python scripts from a hex file created by uFlash.

Several essential operations are implemented:

  • Encode Python into the hex format.

  • Embed the resulting hexified Python into the MicroPython runtime hex.

  • Extract an encoded Python script from a MicroPython hex file.

  • Discover the connected micro:bit.

  • Copy the resulting hex onto the micro:bit, thus flashing the device.

  • Specify the MicroPython runtime hex in which to embed your Python code.

Installation

To install simply type:

$ pip install uflash3

NB: You must use a USB data cable to connect the micro:bit to your computer (some cables are power only). You’re in good shape if, when plugged in, the micro:bit appears as a USB storage device on your file system.

Linux users: For uflash to work you must ensure the micro:bit is mounted as a USB storage device. Usually this is done automatically. If not you’ve probably configured automounting to be off. If that’s the case, we assume you have the technical knowledge to mount the device yourself or to install the required kernel modules if they’re missing. Default installs of popular Linux distros “should just work” (tm) out of the box given a default install.

Command Usage

To read help simply type:

$ uflash --help

or:

$ uextract --help

Development

The source code is hosted in GitHub. Please feel free to fork the repository. Assuming you have Git installed you can download the code from the canonical repository with the following command:

$ git clone https://github.com/blackteahamburger/uflash.git

To locally install your development version of the module into a virtualenv, run the following command:

$ pip install -e ".[dev]"

This also ensures that you have the correct dependencies for development.

There is a Makefile that helps with most of the common workflows associated with development.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uflash3-3.0.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uflash3-3.0.0-py3-none-any.whl (1.5 MB view details)

Uploaded Python 3

File details

Details for the file uflash3-3.0.0.tar.gz.

File metadata

  • Download URL: uflash3-3.0.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for uflash3-3.0.0.tar.gz
Algorithm Hash digest
SHA256 9f81a27c2ee521060bfce1a7b1c3a410968de30fdccfdb5768daec56e213c698
MD5 6029c4454469fdea0d30d87e4b98a8e4
BLAKE2b-256 594af3360af6c8756095a172dfc07bd09b00329c658a1fbd2d61124e0b742632

See more details on using hashes here.

File details

Details for the file uflash3-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: uflash3-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for uflash3-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bb9b19ae03488b40929a16dc5a5f7cdc863ba9178e3f4f36a585946c9b0ab396
MD5 bc50aaa3f10d0d85c8540b39982ffd0f
BLAKE2b-256 93d1ceb2622a2d64ab2154ae606c5da9065202190acba58cb86cd4a399790cb5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page