This is the cutest product name ever.
Since 1992, Mr. SQUID has been the standard educational demonstration system for undergraduate physics lab courses.
YBCO device, runs on liquid nitrogen.
This is how electronic circuits are normally prototyped!
Once you validate them like this, the next step is usually to move on to printed circuit boards for more reliable production setups.
Breadboards are a thing of beauty and wonder.
Point-to-point constructions on woden boards
. Source. Predecessors to breadboards from where the name came. A thing of beauty, so vintage. You could actually write stuff on those with a pencil!Breadboards - Trash or Treasure? by Keysight (2020)
Source. Microbit simulator using some Microsoft framework.
TODO the Python code from there does not seem to run on the microbit via
uflash, because it is not MicroPython.support.microbit.org/support/solutions/articles/19000111744-makecode-python-and-micropython explains.
forum.makecode.com/t/help-understanding-local-build-options/6130 asks how to compile locally and suggests it is possible. Seems to require Yotta, so presumably compiles?
When plugged into Ubuntu 22.04 via the USB Micro-B the Micro Bit mounts as:e.g.:for username
/media/$USER/MICROBIT//media/ciro/MICROBIT/ciro.Loading the program is done by simply copying a The file name does not matter, only the
.hex binary into the image e.g. with:cp ~/Downloads/microbit_program.hex /media/$USER/MICROBIT/.hex extension. Compile MicroPython code for Micro Bit locally on Ubuntu 22.04 with your own firmware by
Ciro Santilli 40 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'Identification: kitronik.co.uk/blogs/resources/explore-micro-bit-v1-microbit-v2-differences The easiest thing is perhaps the GPIO notches.
- microbit/micropython/uart.py: the Micro BIt comes with a UART simulator via the USB connection, it is very convenient: support.microbit.org/support/solutions/articles/19000022103-outputing-serial-data-from-the-micro-bit-to-a-computer To output data to the computer simply use Python
print. To receive you can e.g. use GNU screen:It appears to be very unreliable however, some times it shows up, sometimes it doesn't.screen /dev/ttyACM0 115200
Many devborads require a 5V power supply.
For battery power you need a transformer.
Raspberry Pi Battery Power by ExplainingComputers (2021)
Source. The algorithm is completely analogous to Diffie-Hellman key exchange in that you efficiently raise a number to a power times and send the result over while keeping as private key.
The only difference is that a different group is used: instead of using the cyclic group, we use the elliptic curve group of an elliptic curve over a finite field.
Elliptic curves by Computerphile (2018)
Source. youtu.be/NF1pwjL9-DE?t=143 shows the continuous group well, but then fails to explain the discrete part.Variant of Diffie-Hellman key exchange based on elliptic curve cryptography.
Many/most microcontroller boards have analog-to-digital converters built into them, it is very convenient. E.g. it is the case for the Raspberry Pi Pico.
Generally, prizes that pay big lumps of money to well established individuals are a bit useless, it would be better to pay smaller sums to struggling beginners in the field, of which there are aplenty.
The most important part about prizes should not be the money, nor the recognition, but rather explaining better what the laureates did. In this, most prizes fail. Thus Ciro Santilli's project idea: Project to explain each Nobel Prize better.
Both are harmonic oscillators.
In the LC circuit:
- the current current may be seen as the velocity and containing the kinetic energy
- the charge stored in the capacitor as the potential energy
You can kickstart motion in either of those systems in two ways:
Pinned article: Introduction to the OurBigBook Project
Welcome to the OurBigBook Project! Our goal is to create the perfect publishing platform for STEM subjects, and get university-level students to write the best free STEM tutorials ever.
Everyone is welcome to create an account and play with the site: ourbigbook.com/go/register. We belive that students themselves can write amazing tutorials, but teachers are welcome too. You can write about anything you want, it doesn't have to be STEM or even educational. Silly test content is very welcome and you won't be penalized in any way. Just keep it legal!
Intro to OurBigBook
. Source. We have two killer features:
- topics: topics group articles by different users with the same title, e.g. here is the topic for the "Fundamental Theorem of Calculus" ourbigbook.com/go/topic/fundamental-theorem-of-calculusArticles of different users are sorted by upvote within each article page. This feature is a bit like:
- a Wikipedia where each user can have their own version of each article
- a Q&A website like Stack Overflow, where multiple people can give their views on a given topic, and the best ones are sorted by upvote. Except you don't need to wait for someone to ask first, and any topic goes, no matter how narrow or broad
This feature makes it possible for readers to find better explanations of any topic created by other writers. And it allows writers to create an explanation in a place that readers might actually find it.Figure 1. Screenshot of the "Derivative" topic page. View it live at: ourbigbook.com/go/topic/derivativeVideo 2. OurBigBook Web topics demo. Source. - local editing: you can store all your personal knowledge base content locally in a plaintext markup format that can be edited locally and published either:This way you can be sure that even if OurBigBook.com were to go down one day (which we have no plans to do as it is quite cheap to host!), your content will still be perfectly readable as a static site.
- to OurBigBook.com to get awesome multi-user features like topics and likes
- as HTML files to a static website, which you can host yourself for free on many external providers like GitHub Pages, and remain in full control
Figure 3. Visual Studio Code extension installation.Figure 4. Visual Studio Code extension tree navigation.Figure 5. Web editor. You can also edit articles on the Web editor without installing anything locally.Video 3. Edit locally and publish demo. Source. This shows editing OurBigBook Markup and publishing it using the Visual Studio Code extension.Video 4. OurBigBook Visual Studio Code extension editing and navigation demo. Source. - Infinitely deep tables of contents:
All our software is open source and hosted at: github.com/ourbigbook/ourbigbook
Further documentation can be found at: docs.ourbigbook.com
Feel free to reach our to us for any help or suggestions: docs.ourbigbook.com/#contact






