VS Code extension for uploading code and managing libraries on CircuitPython devices.
This extension was created as a tool for MakerClass courses 🎓
Follow me on X (Twitter) for the latest tips and tricks in programming and electronics!
Note: The resources are primarily in Czech language
- 🚀 Quick Upload - Upload current Python file as
code.py
(Ctrl+Alt+U) - 📁 Upload as Filename - Upload file keeping its original name
- 🔍 Auto-detection - Automatically find connected CircuitPython devices
- 📊 Device Info - Shows CircuitPython version and board type with copyable output
- 📚 Library Management - Auto-install libraries from official bundle
- 💾 Backups - Automatic backup of existing code.py before overwriting

- VS Code 1.74.0 or higher
- CircuitPython 9.x or 10.x device
- Internet connection for library bundle download (first use)
- Go to Releases
- Download the latest
.vsix
file - Open VS Code → Extensions (Ctrl+Shift+X)
- Click "..." → "Install from VSIX..." → Select the file
- Download this repository as ZIP
- Extract and rename folder to:
makerclass.circuitpython-uploader-1.0.1
- Copy to VS Code extensions directory:
- Windows:
%USERPROFILE%\.vscode\extensions\
- macOS/Linux:
~/.vscode/extensions/
- Windows:
- Restart VS Code
Upload as code.py (default behavior):
- Open a Python file
- Press
Ctrl+Alt+U
(Windows/Linux) orCmd+Alt+U
(Mac) - File uploads as
code.py
to the device
Upload with original filename:
- Open a Python file
- Use command:
CircuitPython: Upload as filename
- File keeps its original name (e.g.,
main.py
,sensor_test.py
)
Fix Libraries - Automatically install all libraries imported in code.py:
- Command:
CircuitPython: Fix Libraries
Upload Library - Install a specific library:
- Command:
CircuitPython: Upload Library
- Enter library name when prompted
Libraries are downloaded from the official Adafruit bundle and cached for 1 week.
CircuitPython: Upload as code.py
- Upload file as code.py (default)CircuitPython: Upload as filename
- Upload file keeping original nameCircuitPython: Auto-detect Device
- Find and set device pathCircuitPython: Set Device Path
- Manually set device pathCircuitPython: Show Device Info
- Display device information (version, board, path)
VS Code settings:
circuitpython-uploader.devicePath
- Path to CircuitPython devicecircuitpython-uploader.createBackup
- Create backup before upload (default: true)
- ✨ Added "Upload as filename" command to preserve original file names
- 🔧 Improved backup logic - backups only created when overwriting existing files
- 🧹 Refactored code to eliminate duplication between upload functions
- Initial release with basic upload and library management features
- Bundle not found: Update to CircuitPython 9.x or newer
- Library not in bundle: Check if it's a built-in module or needs manual installation
- Clear cache: Delete
/tmp/circuitpy-bundle-cache
(contains all bundle versions)
MIT