Compile MicroPython code for Micro Bit locally on Ubuntu 22.04 with your own firmware Updated 2025-07-27
TODO didn't manage from source Ubuntu 22.04, their setup bitrotted way too fast... it's shameful even. Until I gave up and went for the magic Docker of + github.com/bbcmicrobit/micropython, and it bloody worked:
git clone https://github.com/bbcmicrobit/micropython
cd micropython
git checkout 7fc33d13b31a915cbe90dc5d515c6337b5fa1660
docker pull ghcr.io/carlosperate/microbit-toolchain:latest
docker run -v $(pwd):/home --rm ghcr.io/carlosperate/microbit-toolchain:latest yt target bbc-microbit-classic-gcc-nosd@https://github.com/lancaster-university/yotta-target-bbc-microbit-classic-gcc-nosd
docker run -v $(pwd):/home --rm ghcr.io/carlosperate/microbit-toolchain:latest make all
# Build one.
tools/makecombinedhex.py build/firmware.hex examples/counter.py -o build/counter.hex
cp build/counter.hex "/media/$USER/MICROBIT/"
# Build all.
for f in examples/*; do b="$(basename "$f")"; echo $b; tools/makecombinedhex.py build/firmware.hex "$f" -o "build/${b%.py}.hex"; doneThe pre-Docker attempts:
sudo add-apt-repository -y ppa:team-gcc-arm-embedded
sudo apt update
sudo apt install gcc-arm-embedded
sudo apt install cmake ninja-build srecord libssl-dev
# Rust required for some Yotta component, OMG.
sudo snap install rustup
rustup default 1.64.0
python3 -m pip install yottaThe line:warns:and then the update/
sudo add-apt-repository -y ppa:team-gcc-arm-embeddedE: The repository 'https://ppa.launchpadcontent.net/team-gcc-arm-embedded/ppa/ubuntu jammy Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.sudo apt-get install gcc-arm-embedded fails, bibliography:Attempting to install Yotta:or:was failing with:Running:did not help. Bibliography:
sudo -H pip3 install yottapython3 -m pip install --user yottaException: Version mismatch: this is the 'cffi' package version 1.15.1, located in '/tmp/pip-build-env-dinhie_9/overlay/local/lib/python3.10/dist-packages/cffi/api.py'. When we import the top-level '_cffi_backend' extension module, we get version 1.15.0, located in '/usr/lib/python3/dist-packages/_cffi_backend.cpython-310-x86_64-linux-gnu.so'. The two versions should be equal; check your installation.python3 -m pip install --user cffi==1.15.1From a clean virtualenv, it appears to move further, and then fails at:So we install Rust and try again, OMG:which at the time of writing was
Building wheel for cmsis-pack-manager (pyproject.toml) ... error
error: [Errno 2] No such file or directory: 'cargo'sudo snap install rustup
rustup default stablerustc 1.64.0, and then OMG, it worked!! We have the yt command.However, it is still broken, e.g.:blows up:bibliography:
git clone https://github.com/lancaster-university/microbit-samples
cd microbit-samples
git checkout 285f9acfb54fce2381339164b6fe5c1a7ebd39d5
cp source/examples/invaders/* source
yt clean
yt buildannot import name 'soft_unicode' from 'markupsafe' WhatsApp Updated 2025-07-16
Claimed to remove metadata from servers unless legally obliged to collect it: www.quora.com/Does-WhatsApp-store-messages-on-its-servers-or-is-all-deleted-after-delivery-and-only-stored-on-recipients-phones/answer/Ciro-Santilli
They claim to delete metadata: www.quora.com/Does-WhatsApp-store-messages-on-its-servers-or-is-all-deleted-after-delivery-and-only-stored-on-recipients-phones/answer/Ciro-Santilli
Congee Updated 2025-07-16
Marketing Updated 2025-07-16
Microcontroller Updated 2025-07-16
Song Jiang Updated 2025-07-16
The Capital (Water Margin location) Updated 2025-07-16
"The Capital" is what now is Kaifeng in Shandong, and it used to be the capital during the (Northern) Song dynasty.
Ungulate Updated 2025-07-16
Water Margin translation by Sidney Shapiro (1980) Updated 2025-07-16
www.cns.gatech.edu/~predrag/courses/PHYS-6124-12/StGoChap6.pdf 6.1 "Classification of PDE's" clarifies which boundary conditions are needed for existence and uniqueness of each type of second order of PDE:
Zhu Bajie Updated 2025-07-16
Old illustration of Zhu Bajie
. Source. Needs better identification: en.wikipedia.org/wiki/Talk:Zhu_Bajie#Illustration_date_wrong:_15h_century? Grand Commander Hou Updated 2025-07-16
Lin Chong Updated 2025-07-16
Lu Zhishen Updated 2025-07-16
Lu Zhishen scene Updated 2025-07-16
Mount Liang Updated 2025-07-16
Mouse Updated 2025-07-16
Tape drive Updated 2025-07-16
One of the most enduring forms of storage! Started in the 1950s, but still used in the 2020s as the cheapest (and slowest access) archival method. Robot arms are needed to load and read them nowadays.
Web camera mounted insite an IBM TS4500 tape library by lkaptoor (2020)
Source. Footage dated 2018. White paper Updated 2025-07-16
White papers are a form of advertisement. They are not peer reviewed papers and are generally not reproducible; their value lies entirely in trust of their publisher rather than being able to verify their claims.
Unlisted articles are being shown, click here to show only listed articles.
