Two languages, equal partners
You write real Arduino code and real JavaScript. Neither side is privileged — both get control of the hardware, and both can lead.
Pardalote connects Arduino and JavaScript over WiFi. Write real code on both sides — read sensors, move motors, and build interfaces — with no cables and no server.
One project, two locations: the hardware and the browser respond to each other in real time.
Pardalote was built for design studios and classrooms — places where an idea moves back and forth between a breadboard and a browser tab.
You write real Arduino code and real JavaScript. Neither side is privileged — both get control of the hardware, and both can lead.
One Arduino can talk to many browsers, and one browser to many Arduinos. A whole class can connect to the same device.
Connect at any moment and you're up to date: the Arduino tells every new browser its current state the instant it joins.
Over WiFi, any device on your network can join — laptop, tablet, phone. No router handy? The same code runs over the USB cable instead. Either way, no server and no Node.js.
Built on free and open platforms, and free itself. Published under GPL-3.0-or-later — use it, read it, fork it. It belongs to the people who use it.
One script tag in the browser, one library on the board. No build tools, no toolchain to fight before you can blink an LED.
#include <Pardalote.h> void setup() { Pardalote.begin(); } void loop() { Pardalote.run(); }
const arduino = new Arduino(); arduino.connect('192.168.1.42'); arduino.on('ready', () => { arduino.pinMode(13, OUTPUT); arduino.digitalWrite(13, HIGH); });
The JavaScript API mirrors Arduino's own function names — pinMode, digitalWrite, analogRead — so what you learn on one side carries straight over to the other.
Pardalote grew out of design education: students prototyping IoT ideas need to see cause and effect quickly, on both sides of the link. It plays especially well with p5.js, building on Processing and Wiring's (Arduino) shared heritage.
Use the Pardalote extensions to add servos, steppers, NeoPixels, cameras and sensors, or roll your own extension and make something all together different.