Welcome to PicoForge!
PicoForge is a friendly, browser-based tool designed to make programming the Raspberry Pi Pico (RP2040) accessible and fun. We wanted to bridge the gap between simple visual tools and professional development, so we built a platform where you can drag and drop your logic and instantly get valid, compiled C++ code.
Use it to sketch out ideas, learn how the hardware works, or build full projects without ever installing a compiler on your machine.
Build Visually You don't need to memorize syntax. Just drag blocks for things like GPIO, SPI, I2C, and more. Connect them together to define how your Pico should behave.
See Your System As you build, PicoForge draws a diagram of your system architecture. It helps you visualize how everything connects, making it easier to spot issues before you even build.
Compile Immediately
We handle the heavy lifting. The backend runs a dedicated build environment that compiles your specific setup into a .uf2 file. No toolchains to install, no path configuration headaches.
Learn Real C++ We don't hide the code. PicoForge generates clean, readable C++ code that uses the native Pico SDK. It's a great way to learn by seeing exactly how your visual blocks translate into real implementation.
PicoForge keeps things clean by separating the visual interface from the compilation work.
- You design the logic in your browser.
- We generate the C++ code and CMake files for you.
- We compile it using a standardized, containerized environment.
- You download the ready-to-run firmware and drop it on your Pico.
If you want to poke around the code, here is where everything lives:
web/frontend: The React application you see in the browser. It handles the block building and validation.web/backend: The Node.js service that manages your projects and orchestrates the builds.docker: The definitions for our build environments.workspace: Where your project files and build artifacts are stored.
You will need Docker Desktop and Git installed on your machine.
-
Get the code Clone the repository to your local machine.
-
Start the app Run
docker-compose up -d --build. This might take a moment the first time as it prepares the build environment. -
Start creating Open your browser to
http://localhost:8080.
Try making a simple clear LED blinker:
-
Click "New Project" and name it "Blinky".
-
Grab a GPIO SET block and drop it in the Loop section.
-
Set it to Pin 25 (the onboard LED) and set the level to HIGH.
-
Add a SLEEP block for 500ms.
-
Add another GPIO SET block to set Pin 25 to LOW.
-
Add one last SLEEP block.
-
Hit Build, waiting for the download, and drag the file to your Pico!
-
video.webm
We would love your help making PicoForge better. If you have ideas or fixes, please fork the repository and open a Pull Request.
This project is open source and available under the MIT License.