A micropython device manager.
Project description
FalcoMP
FalcoMP is a terminal-based device manager for MicroPython boards built around mpremote.
It provides a structured interface for interacting with devices over serial, managing files, and streamlining development workflows.
Gratuity is not necessary but may be directed to Buy Me a Coffee
Features
-
Device Discovery
- Automatically detects devices connected via serial on startup
-
Terminal UI (TUI)
- Keyboard-driven interface
-
File Explorer
- Browse device filesystem
- Create and delete files/directories
- Run micropython files directly on the device remotely.
-
Command Abstraction
- Wraps common
mpremoteoperations:- Run scripts
- Open REPL
- File transfer
- Directory management
- Wraps common
-
Smart Sync
- Diff-based synchronization between local working directory and device
- Only modified files are written
- Reduces unnecessary writes
-
Stub Generator
- Generates local type stubs from device modules
- Improves editor support with a custom typing file catered to your specific port
-
Configuration Injection
- Automatically deploys a lightweight JSON config to each device
- Enables:
- Device naming
- Ignore rules
- Sync behavior control
Installation
python -m venv env
env/Scripts/activate
pip install falco-mp
Usage
Start the interface:
env/Scripts/activate
falco-mp
Basic Workflow
- Connect your MicroPython device via USB
- Launch FalcoMP
- Select your device from the menu
- Use available actions:
- Run scripts
- Open REPL
- Sync files
- Manage filesystem
- Generate Typings/Stubs
Configuration
Each device receives a small JSON configuration file on first connection.
Example structure:
{
"name": "MyDevice",
"serial": "<device serial if applicable>",
"verify-on-sync": true,
"preserve-device-files": false,
"print_sync_report": true,
"ignore": ["typings", "__pycache__"],
"notes": []
}
- Stored directly on the device
- Used to control sync behavior and UI display
Design Philosophy
- Pure Python implementation
- Minimal overhead on device
- Deterministic file operations
- Optimized for MicroPython constraints
Requirements
- Python 3.10+
- MicroPython 1.16+
Notes
- FalcoMP does not replace
mpremote— it builds on top of it - Designed for local, direct USB workflows (not network-first)
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file falco_mp-0.1.1.tar.gz.
File metadata
- Download URL: falco_mp-0.1.1.tar.gz
- Upload date:
- Size: 19.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.12.2 Windows/11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64fdf25e3c1540ea3ace0dd630aea1f7cb6f57b318cdfea2a844c93433cfc7b2
|
|
| MD5 |
9df996fae55124748d1ccc70d655cdbd
|
|
| BLAKE2b-256 |
de84b98604b88fa60bb32942bc45e084d0db4ef0078bfa2d8a21284bc2748b36
|
File details
Details for the file falco_mp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: falco_mp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 21.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.12.2 Windows/11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fdd47edfd8a0a3bbf4b7ce35b62253d79e79935643e8410533846d19525193ba
|
|
| MD5 |
0a0d6494fc0504bedd7f8cc8cbcd7a0b
|
|
| BLAKE2b-256 |
6fb60cca1d22d2374cc16e443a4e6e752c226571424578f622b05082a8ab9639
|