Releases: fede2cr/cpy-meshtastic
Release list
v0.0.3
Firmware
| board | image | bootloader |
|---|---|---|
| Muzi Base Duo | circuitpython-muzi_base_duo-*.uf2 |
ships with one |
| Meshnology W12 | circuitpython-meshnology_w12-*.uf2 |
tinyuf2-meshnology_w12-*.zip, flash once |
Both images are CircuitPython from fede2cr/circuitpython@cpy-rust
with the board added, and CIRCUITPY_ENABLE_MPY_NATIVE=1 set.
They do not carry the pin-interrupt or _bleio read-queue patches,
so repl.py collects packets only when asked (listen(),
poll()), and the Bluetooth phone link does not work. The modules
below are xtensawin only, so the Base Duo image has none to run
yet.
Base Duo: double-tap reset, drag the .uf2 onto the drive
that appears.
W12, the first time: it has no UF2 bootloader. Hold BOOT, tap
reset, release BOOT, and write TinyUF2 over USB:
esptool.py --chip esp32s3 write_flash 0x0 combined.bin
combined.bin is in tinyuf2-meshnology_w12-*.zip. This erases
what was on the board, so it then comes up as W12BOOT by itself
at every start until the .uf2 is dragged onto it once. To update
later: tap reset, and while the LED is lit press BOOT, then drag
the new .uf2 onto W12BOOT. Double-tap reset does not work on this
board. update-tinyuf2-meshnology_w12-*.uf2 updates a TinyUF2
that is already installed, dragged onto W12BOOT.
Modules
Unzip onto the CIRCUITPY drive: code.py, repl.py and
settings.toml at the root, lib/meshtastic/ beside them.
Built for xtensawin — the ESP32-S3. A native .mpy is machine
code, so this will not load on any other CPU.
The firmware must be built with CIRCUITPY_ENABLE_MPY_NATIVE=1.
The images above are. Official CircuitPython builds do not set
it — at 10.3.1 only five boards across every port do, and none of
them are Espressif — so
lib/meshtastic/__init__.mpy fails to import on a stock image with
"native code in .mpy unsupported". That file is the Rust half the
rest of the library is built on, so the whole package needs it.
The radio driver is not in here. Take the .mpy for the part your
board carries from its own release and copy it into lib/:
| radio | release |
|---|---|
| LR2021 | cpy-lr2021 |
| LR1121 | cpy-lr1121 |
MESH_RADIO in settings.toml chooses which adapter is used.
Full Changelog: v0.0.2...v0.0.3
v0.0.2
Firmware
| board | image | bootloader |
|---|---|---|
| Muzi Base Duo | circuitpython-muzi_base_duo-*.uf2 |
ships with one |
| Meshnology W12 | circuitpython-meshnology_w12-*.uf2 |
tinyuf2-meshnology_w12-*.zip, flash once |
Both images are CircuitPython from fede2cr/circuitpython@cpy-rust
with the board added, and CIRCUITPY_ENABLE_MPY_NATIVE=1 set.
They do not carry the pin-interrupt or _bleio read-queue patches,
so repl.py collects packets only when asked (listen(),
poll()), and the Bluetooth phone link does not work. The modules
below are xtensawin only, so the Base Duo image has none to run
yet.
Base Duo: double-tap reset, drag the .uf2 onto the drive
that appears.
W12, the first time: it has no UF2 bootloader. Hold BOOT, tap
reset, release BOOT, and write TinyUF2 over USB:
esptool.py --chip esp32s3 write_flash 0x0 combined.bin
combined.bin is in tinyuf2-meshnology_w12-*.zip. This erases
what was on the board. After that, and for every update: tap
reset, and while the LED is lit press BOOT. W12BOOT appears;
drag the .uf2 onto it. Double-tap reset does not work on this
board. update-tinyuf2-meshnology_w12-*.uf2 updates a TinyUF2
that is already installed, dragged onto W12BOOT.
Modules
Unzip onto the CIRCUITPY drive: code.py, repl.py and
settings.toml at the root, lib/meshtastic/ beside them.
Built for xtensawin — the ESP32-S3. A native .mpy is machine
code, so this will not load on any other CPU.
The firmware must be built with CIRCUITPY_ENABLE_MPY_NATIVE=1.
The images above are. Official CircuitPython builds do not set
it — at 10.3.1 only five boards across every port do, and none of
them are Espressif — so
lib/meshtastic/__init__.mpy fails to import on a stock image with
"native code in .mpy unsupported". That file is the Rust half the
rest of the library is built on, so the whole package needs it.
The radio driver is not in here. Take the .mpy for the part your
board carries from its own release and copy it into lib/:
| radio | release |
|---|---|
| LR2021 | cpy-lr2021 |
| LR1121 | cpy-lr1121 |
MESH_RADIO in settings.toml chooses which adapter is used.
Full Changelog: v0.0.1...v0.0.2
v0.0.1
Unzip onto the CIRCUITPY drive: code.py, repl.py and
settings.toml at the root, lib/meshtastic/ beside them.
Built for xtensawin — the ESP32-S3. A native .mpy is machine
code, so this will not load on any other CPU.
The firmware must be built with CIRCUITPY_ENABLE_MPY_NATIVE=1.
Official CircuitPython builds do not set it — at 10.3.1 only five
boards across every port do, and none of them are Espressif — so
lib/meshtastic/__init__.mpy fails to import on a stock image with
"native code in .mpy unsupported". That file is the Rust half the
rest of the library is built on, so the whole package needs it.
The radio driver is not in here. Take the .mpy for the part your
board carries from its own release and copy it into lib/:
| radio | release |
|---|---|
| LR2021 | cpy-lr2021 |
| LR1121 | cpy-lr1121 |
MESH_RADIO in settings.toml chooses which adapter is used.
Full Changelog: https://github.com/fede2cr/cpy-meshtastic/commits/v0.0.1