A lean Python 3 implementation that runs on microcontrollers and other resource-constrained devices, with hardware access modules.
CoretechR/PicoLab
Browser-based embedded bring-up multitool for the Raspberry Pi Pico: a scope, logic analyzer, power supply and bus tools served from the board over USB.
- Stars
- 322
- Forks
- 35
- Open issues
- 1
- Last commit
- 5 days ago
What is it?
Pico.Lab turns a Raspberry Pi Pico or Pico 2 (RP2040/RP2350) into a debugging instrument. The firmware presents the board as a virtual USB Ethernet adapter and serves a window-based web interface from flash, so it can be used from any modern browser at pico.lab without installing host software or drivers.
The toolset includes a 4-channel oscilloscope, an 8-channel logic analyzer with UART, I2C and SPI decoders, a GPIO controller, a data logger that exports CSV, a UART terminal, and I2C and SPI bus masters. A serial CLI is also available for scripting. A custom Pico.Lab board adds analog inputs, adjustable rails, current measurement and protection circuitry, though the other tools run on a standard Pico.
The project is written in C on the Pico SDK, using TinyUSB and lwIP for networking. The author notes that the hardware's bandwidth is far below dedicated lab instruments, so it targets quick checks such as finding why an I2C sensor does not respond.
Key features
- 01Browser-based interface served from the board, with no drivers or host software needed.
- 024-channel oscilloscope using overclocked ADC and DMA, with roughly 400 kHz bandwidth.
- 038-channel logic analyzer with up to 100 MS/s capture and UART, I2C and SPI decoders.
- 04GPIO control, data logger with CSV export, UART terminal, and I2C/SPI bus masters.
- 05Serial CLI for automation over a virtual COM port.
Use cases
- Diagnosing why an I2C or SPI device does not respond on a prototype.
- Measuring the current draw of a module such as a Wi-Fi chip during bring-up.
- Capturing and decoding UART or bus traffic between two embedded devices.
- Logging slow analog and digital signals to CSV for later analysis.
Quick start
- 1
Download the .uf2 file for your RP2040 or RP2350 board from the project's releases
- 2
Put the board into BOOTSEL mode and drop the .uf2 file onto its volume to flash it
- 3
Connect the board via USB, then open http://pico.lab in your browser (or http://192.168.7.1 if local DNS does not work)
Things to know
- Performance is limited by the RP2350 and USB 1.1, so it will not match dedicated oscilloscopes or logic analyzers.
- The power supply controller only works with the custom Pico.Lab board, not a standard Pico.
- Licensed under GPL-3.0, a copyleft license that requires derivative works to be open-sourced under the same terms.
In collections
Topics
FAQ
- What is PicoLab?
- Browser-based embedded bring-up multitool for the Raspberry Pi Pico: a scope, logic analyzer, power supply and bus tools served from the board over USB. Pico.Lab turns a Raspberry Pi Pico or Pico 2 (RP2040/RP2350) into a debugging instrument. The firmware presents the board as a virtual USB Ethernet adapter and serves a window-based web interface from flash, so it can be used from any modern browser at pico.lab without installing host software or drivers.
- Is PicoLab free to use? What license does it have?
- PicoLab is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is PicoLab still maintained?
- Actively maintained. The last commit to PicoLab was on Nov 2, 2026.
- What can I use PicoLab for?
- Diagnosing why an I2C or SPI device does not respond on a prototype. Measuring the current draw of a module such as a Wi-Fi chip during bring-up. Capturing and decoding UART or bus traffic between two embedded devices. Logging slow analog and digital signals to CSV for later analysis.
- How do I install PicoLab?
- Download the .uf2 file for your RP2040 or RP2350 board from the project's releases Put the board into BOOTSEL mode and drop the .uf2 file onto its volume to flash it Connect the board via USB, then open http://pico.lab in your browser (or http://192.168.7.1 if local DNS does not work)
- Where can I get PicoLab?
- The source code and installation instructions are on GitHub: https://github.com/CoretechR/PicoLab
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open source SDKs and firmware for building your own Muse gadgets on ESP32 boards and Linux devices like Raspberry Pi.
An open-source, 3D-printable mini quadruped robot built on the ESP32 with an OLED face and servo-driven walking.
Open-source board that replaces the circuit board in a classic Casio F-91W watch, letting you run your own programs on your wrist.
Cross-platform command-line tool and build system for embedded development, covering library management, multiple boards and frameworks, debugging and unit testing.
A tiny JavaScript debugging utility that prints namespaced debug output in Node.js and web browsers, toggled via the DEBUG environment variable.