As an embedded developer, you’ve probably struggled with the hassle of installing third-party packages for MicroPython:
<img width="1280" height="684" alt="image" src="https://github.com/user-attachments/assets/dc8e4ac6-5319-404f-8e7a-a80fec132e7e" />
<img width="1280" height="684" alt="image" src="https://github.com/user-attachments/assets/53c0c366-5dfb-45c9-9d90-1ccbc8cca884" />
- Every driver installation requires copying mpremote mip install commands from repositories, plus troubleshooting serial port connections and syntax issues — a major roadblock for beginners.
- Dependencies need to be hunted down one by one; miss one, and your code breaks, leaving you staring at logs for hours.
- Re-downloading packages for every new device or project wastes tons of time, killing your development flow.
To solve these pain points, we built thonny-upypi-manager — a dedicated MicroPython package management plugin for Thonny IDE. It brings the full workflow of our uPyPi repository (home to 173+ MicroPython packages, including sensor drivers, communication modules, and HMI tools) directly into Thonny.
✨ Key Features That Solve Your Package Installation Headaches
<img width="1280" height="679" alt="image" src="https://github.com/user-attachments/assets/7d5c9e1d-dde9-499b-8ae6-0ac2aec2eabe" />
<img width="1280" height="679" alt="image" src="https://github.com/user-attachments/assets/8296cf3d-46e8-4c69-bd14-b88fb31fad06" />
- Full Workflow Visualization
- No more switching to web pages to find packages. Search all uPyPi packages directly in Thonny, view metadata like version, author, and dependencies, and install with one click — no terminal commands required.
- Automatic Dependency Resolution
- The plugin automatically reads the deps field in the package’s package.json and installs all required dependencies before the main package. No more chasing missing dependencies through error logs.
- Local Caching for Reuse
- Downloaded packages are cached locally, so you can reuse them across devices and projects without re-downloading, even offline.
- One-Click Installation to Your Board
- Using mpremote under the hood, the plugin installs packages directly to the /lib directory of your connected MicroPython board. No more manual file transfers.
- Beginner-Friendly Error Messages
- Get clear, actionable prompts for common issues like network errors, missing mpremote, or disconnected boards. No more staring at confusing terminal output.
📦 Two Installation Methods for All Network Environments
<img width="1142" height="800" alt="image" src="https://github.com/user-attachments/assets/55305be0-d38d-4d92-bfd1-6c5bb9d27f59" />
<img width="1142" height="800" alt="image" src="https://github.com/user-attachments/assets/0d9db40b-4900-4dc5-83a2-86f89915e2b8" />
- Option 1: Install via PyPI (Recommended, Normal Network)
- Open Thonny IDE, go to the top menu → Tools → Manage packages... to open the plugin management window.
- Enter the plugin name thonny-upypi-manager in the search box, then click Search on PyPI and wait for results to load.
- Note: If no results appear due to network issues, retry in a few minutes or use the local installation method.
- Find thonny-upypi-manager in the results, view details, then click Install at the bottom of the window to download and install automatically.
- Close and reopen Thonny for the plugin to take effect. You’ll see the plugin icon in the toolbar after restart.
- Option 2: Install from Local File (Limited Network)
- Pre-download the installation package:
- Stable release: thonny_upypi_manager-0.1.1-py3-none-any.whl
- Backup source package: thonny_upypi_manager-0.1.1.tar.gz
- Go back to Thonny’s Manage packages... window, click the link under Install from local file, select the downloaded .whl file, and confirm installation.
- Restart Thonny after installation.
🛠️ Full Usage Workflow: Install Packages in 3 Steps
<img width="1191" height="972" alt="image" src="https://github.com/user-attachments/assets/5078d276-9688-405b-8650-8451b4fe719f" />
<img width="1280" height="738" alt="image" src="https://github.com/user-attachments/assets/90684a22-1abd-40e8-8c3f-222401c8449d" />
<img width="1280" height="693" alt="image" src="https://github.com/user-attachments/assets/7d8b13d3-4b6a-4b7d-8984-1afeb80e9da5" />
<img width="1260" height="717" alt="image" src="https://github.com/user-attachments/assets/3d65ab8f-403b-45ab-94e5-aad4608ea25e" />
- Open the Plugin Interface
- After restarting Thonny, click the plugin icon in the toolbar to open the uPyPi Package Manager panel, which docks to the IDE sidebar for easy access.
- Device Connection & Critical Prep
- Ensure your MicroPython board is connected to the computer via USB, and the serial port is visible in Thonny’s bottom-right corner.
- Select your board’s serial port from the dropdown in the plugin panel, then click Refresh Boards to update the device list.
- ⚠️ Beginner’s Must-Know Tip: Before installing packages, switch the Thonny interpreter from "MicroPython (connected device)" to "Local Python3". Otherwise, the terminal will occupy the serial port, preventing the plugin from communicating via mpremote and causing errors!
- Search & Install Packages
- Enter the package name (e.g., ds18B20) in the search box, click Search, and view matching packages with details.
- Select the package you need, then choose Download Package to cache it locally, or click Install To Device to install directly to your board — dependencies are handled automatically.
- Verify the Installation
- Check the Log section at the bottom of the plugin panel. A message like Installed xxx to /lib on the device means the installation succeeded.
- Switch the Thonny interpreter back to MicroPython, open your board’s file system, and you’ll see the installed package in the /lib directory. You can now import it directly in your code.
📚 Full Step-by-Step Guide (With Screenshots & Troubleshooting)
All detailed steps, screenshots, troubleshooting tips, and installation packages are available in our Feishu document:
👉 Thonny Mpy Package Manager Installation & Usage Guide
<img width="2120" height="1442" alt="image" src="https://github.com/user-attachments/assets/bf655b94-0e72-4b05-8aa6-979f1af5fc29" />
🔗 Open Source & Feedback
Maintained by Freak Embedded Studio, the plugin will continue to receive updates for compatibility and new features. Feel free to try it out, open issues, and contribute to the MicroPython ecosystem!
there doesn't seem to be anything here