Skip to main content

This is a file system plus console plus MQTT plus take-your-pick multiplexer for MicroPython.

On the embedded device, a small single-client server runs in the background. It receives file system commands, REPL input, OTA updates, MQTT messages, and/or any other commands you might want to hook up. It sends MQTT messages, REPL output, and any replies your commands generate.

The other side (Linux, for now) starts a multiplexer which connects to that mini-server and exposes a messaging socket and a bidirectional channel for raw REPL data. It also connects to MQTT.

A FUSE driver links the messaging socket to a convenient place in the file system; it’s also possible to send file system commands directly.

A terminal program (based on pyserial-miniterm) is included.

TODO

  • OTA updates.

  • File system commands from the command line / an async Python program.

  • The msgpack implementation needs improvement; it is crazy inefficient. Sending a console line should eat 50 bytes (one three-element dict to be transmitted) or zero bytes (if we hand-roll the message), not 1700.

  • There is not yet any attempt at reconnecting. (Should there be?)

  • There are occasional MicroPython crashes:

    assertion "ATB_GET_KIND(block) == AT_HEAD" failed: file "…/micropython/py/gc.c", line 591, function: gc_free

    This definitely looks like a MicroPython bug. The problem might be related to bytearray slicing.

Release files for microfuse 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for microfuse 0.2.1
File Size Uploaded
microfuse-0.2.1.tar.gz 66.2 kB Details

Release files / microfuse-0.2.1.tar.gz

Download URL microfuse-0.2.1.tar.gz
Size 66.2 kB
Tags Source
SHA-256 checksum
How to use checksums
fd6aa4744d51390ab9ff460f85f22137b82e4a933c6ba7fb5cea4732f474e5cc
BLAKE2b-256 checksum
How to use checksums
dc88fa61ea4073b2df1394425bdad19598aeadc8be213bf85c8bbadff6383c71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.9.2

Release history Release notifications | RSS feed

This release

0.2.1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page