tuxgo/firmware
woju c4e545555b Initial commit
Version demonstrated on 37 Chaos Communication Congress (37c3),
sans badges, which will be committed after the Congress.
2023-12-25 17:34:16 +01:00
..
src Initial commit 2023-12-25 17:34:16 +01:00
.gitignore Initial commit 2023-12-25 17:34:16 +01:00
README Initial commit 2023-12-25 17:34:16 +01:00
platformio.ini Initial commit 2023-12-25 17:34:16 +01:00

README

BBC:MICROBIT v1
===============

Quickstart
----------

Installing PlatformIO (once per box)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
python3 -m venv --system-site-packages venv-platformio
./venv-platformio/bin/python3 -m pip install -U platformio

Preparing /etc/fstab for uploading (once per box)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sudo mkdir -p /media/microbit
echo 'LABEL="MICROBIT" /media/microbit auto noauto,user 0 0' | sudo tee -a /etc/fstab
sudo systemctl daemon-reload

Compiling
^^^^^^^^^
./venv-platformio/bin/pio run

Uploading
^^^^^^^^^
mount /media/microbit; cp .pio/build/bbcmicrobit-maqueen/firmware.hex /media/microbit; umount /media/microbit


Random notes
------------

- what works:
    - Arduino :(
        - adafruit's microbit library
        - obsolete maqueen library
        - newping
    - platformio
    - bleak

- what does not work:
    - platformio on raspberry pi: insist on embedded srecord, which is compiled
      for eabihf and I couldn't get it to load
    - makecode + bluetooth + maqueen: out of mem (020)
    - dal/codal, yotta, mbed etc.: I coudn't get it to work, and I'm appalled
      by the constant nagging by mbed to sign in
      also plaformio doesn't support mbed for microbit (only arduino and zephyr)
    - didn't try zephyr
    - didn't try micropython, because LU docs say it won't have bluetooth
    - bluezero: confuses tx and rx for some reason (works with makecode,
      probably tested only against that one)
    - didn't try gattlib

References
----------

General microbit description:
    https://tech.microbit.org/hardware/
Error list:
    https://support.microbit.org/support/solutions/folders/19000163393
SoftDevice for microbit v1:
    https://www.nordicsemi.com/Products/Development-software/S110/Download?lang=en#infotabs

Documentation for microbit's mbed ecosystem, couldn't get it to compile:
    https://lancaster-university.github.io/microbit-docs/
Documentation for micropython:
    https://github.com/micropython/micropython-lib/tree/master/micropython/bluetooth/aioble
    Won't work with bluetooth. Maybe I can get it to work on ESP32? Would
    require another robot.

Maybe a source of inspiration:
    https://microbit-challenges.readthedocs.io/

vim: tw=80