Install PlutoBlocks
Download the desktop build for your machine and launch it. No account is needed to open the editor.
To improve your experience on our site. Change this any time from the footer. Privacy Policy
Drag, connect and fly. Your blocks become the firmware your Pluto runs, with no syntax to learn before your first project and the C++ right there when you want it.
Version v4.1.1 · Windows 10+ · macOS 11+ on Apple Silicon · Free
No coding experience
Start with visual logic
Real hardware output
Compiles and flashes firmware
Beginner to missions
Guides, videos and projects
Pluto 1.2 and Pluto X
PrimusX, V5 and PrimusX2
Try it first
A real program, already on the canvas: take off, blink while it hovers, land. Change it, open the Code View to see the C++ it becomes, and compile it. This is the same Blockly the desktop app is built on, running the app's own blocks, so what you read there is the file the compiler takes.
Arm the drone first
Running this firmware from Pluto Controller, arm the drone before you press the Dev button. Developer Mode only starts on an armed drone, so pressing Dev first looks exactly like a program that does not work.
Runs once when Developer Mode is switched on. Set your starting colours here.
Runs every LoopTime milliseconds. A TOGGLE in here is what makes an LED blink.
Runs once when Developer Mode is switched off. Clean up here.
New to PlutoBlocks?
One path instead of a scattered hunt across downloads, guides and videos. Start with a visible LED project, then move into flight when the workflow is second nature.
Download the desktop build for your machine and launch it. No account is needed to open the editor.
Choose PrimusX, Primus V5 or PrimusX2. The block palette and the generated code follow that choice.
Snap blocks into on start, pluto loop and on stop. Those three hooks are your whole program.
Build compiles your blocks to firmware. Flash writes it to the drone over USB. Then fly it.
Features
Your account, your saved projects, the board you are writing for, the compiler, the flasher and the live monitor. Every picture below is the app's own interface.

Flight, LEDs, sensors, motors, peripherals, logic and variables.

Open Code View to see exactly what your blocks generate.

The blocks and generated code adapt to PrimusX, Primus V5 or PrimusX2.

Compile locally and transfer the program to your Pluto.

Read printed values and export monitor data as CSV.

Save locally, sync through your account, import projects and export firmware.
Project journey
Each project turns a programming concept into a drone doing something. Lights and movement first, then sensors, accessories and logic of your own.
One block inside the loop, flipping every 100 ms. The smallest program that proves the whole chain works, from your blocks to a light on the drone.
You learn: Sequence, loop time, and what "runs every pass" really means.
Learn to BuildPrint a line from each lifecycle hook, then build it and run it in PlutoBlocks on your computer with Show Monitor open. Watching those lines arrive is how you find out what a program is really doing.
You learn: Reading the drone back through the monitor, and the habit you reach for when a program misbehaves.
Learn to BuildSix ranges of yaw angle, each lighting a different combination of the red, green and blue LEDs. Turn the drone in your hands and it mixes primaries into secondaries as it goes. Nothing arms and nothing flies.
You learn: Chained conditions, reading the magnetometer, and mapping a continuous angle onto discrete states.
Read in the project bookA three second timer walks the desired yaw round by ninety degrees at a time, and the LEDs name the direction it settles on. Once the magnetometer is calibrated, zero degrees really is north.
You learn: Repeating timers, the difference between desired and current angle, and turning a sensor reading into a direction.
Read in the project bookTip it one way and the red LED blinks, tip it the other and the green one does, and a roll angle within three degrees of flat holds all three steady. A 30 ms loop time is what sets the blink rate.
You learn: Thresholds on a live angle, and loop time used deliberately as a tempo rather than left at its default.
Read in the project bookThe barometer is sampled every pass and held against a smoothed average of itself. Blow across the drone, the pressure jumps past the threshold, and it takes off. It replaces the Take Off button in the controller app, though you still arm the drone first.
You learn: Sampling a noisy sensor, keeping a running average, and triggering real flight from a spike.
Read in the project bookThe controller app streams the phone's heading, the drone compares it with its own, yaws until the two agree and then pitches forward. A return to pilot with no GPS anywhere in it.
You learn: Variables and a flag, closing a loop between two headings, and commanding pitch on a drone in the air.
Read in the project bookThe Hooter Module is a buzzer add-on. It plugs into the RC port, GND to GND and signal to VCC, and GPIO_1 drives it: the pin starts low, a one second timer flips it high and back, and the drone beeps. The first project here that adds hardware to the drone.
You learn: Driving an add-on over a GPIO pin, and using a repeating timer as the clock that paces it.
Read in the project bookProject book
Six of the projects above come from the book, which opens each one with the challenge, then shows the program that solves it and the reason it works. Nine of the thirteen left are basics, one idea at a time. The rest carry on past where this ladder stops.
Compatibility
Pick the drone you own when you create a project. The flight controller name is shown alongside it so you can confirm you chose the right one before you build.
Not sure which version you have? Contact support
Beginner-friendly DIY nano drone
PrimusX flight controller

Camera and expansion-ready drone
PrimusX2 flight controller
Keep learning
Start with the setup course, and watch it done when reading is not enough.
Common questions
No. PlutoBlocks is drag and drop, so you meet sequence, conditions, loops and variables as things that happen to a drone rather than as syntax to memorise. The C++ is always visible in Code View when you are ready for it.
Pluto 1.2 and Pluto X, across the PrimusX, Primus V5 and PrimusX2 flight controllers. You choose the board when you create a project and the palette adapts to it.
LED Blink, the project in the sandbox above. It gives you a result you can see across the room without ever spinning a motor, which makes it the safest place to learn the workflow.
Start with the setup course and the project book. If you are still stuck, contact Drona Aviation support and tell us which flight controller you have.
Start building
You have already built the first project. Download PlutoBlocks to unlock the other fourteen block categories, save your work, and flash it onto a drone that is sitting in front of you.