PedalinoMini: an ESP32 foot controller that speaks MIDI, keyboard and mouse
Wireless and Bluetooth MIDI/HID Foot Controller
At a glance
- What is it?
- PedalinoMini turns footswitches into a wireless MIDI, HID and keyboard device configured from a browser at pedalino.local. The hardware story is clear, but the licensing moved to activation and demo mode, which changes who can actually rely on the firmware.
- Who is it for?
- PedalinoMini suits makers who will build a board, flash firmware from the firmware directory and accept an activation key with demo limits, and who need keyboard or mouse emulation rather than plain MIDI. It does not suit anyone expecting a fully open firmware tree or a finished kit off the shelf.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Yes. The repository last received commits 173 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A pedal that pretends to be a keyboard
PedalinoMini is a wireless foot controller built around the ESP32, and its most interesting decision is not the MIDI side. The firmware can emit full keyboard emulation over USB and Bluetooth LE, including shortcuts, hotkeys and media keys, and it also offers mouse emulation. That is why the documented audience reaches beyond guitarists to streamers driving OBS scenes and presenters advancing slides. Because the device appears as an ordinary keyboard, any software that reacts to key presses reacts to a pedal, with no plugin and no dedicated driver. The repository documentation splits that behaviour into separate pages for Keyboard Emulation, Mouse Emulation and Switch Events Logic, which suggests the mapping between a physical switch press and an emitted event is where most of the complexity lives. The switch states themselves are configurable per pedal as momentary or latch, and the README notes switch debouncing and noise suppression as built in, since a mechanical footswitch wired to a microcontroller would otherwise fire multiple times per press.
Configuration happens in a browser at pedalino.local
There is no desktop application and no command line tool. Setup is a mobile friendly web interface served from the board itself, and the README points at http://pedalino.local as the entry point. That address only resolves once the device is on your network, so the documented path is a provisioning step first: the First Steps document covers firmware upload, WiFi setup and first access to the web user interface, and separate sections cover WiFi Provisioning and connecting to the web interface. Everything a performer needs to change, including pedal behaviour, action bindings and interface settings, is edited through that interface and stored on the device, which is a sensible choice for a box that lives under a desk or on a pedalboard. It also means configuration is tied to the running firmware version, and the docs list separate pages for Options, Configurations and Profiles, so the exact set of knobs available to you depends on which release you flash.
Banks, profiles and sequences are three different kinds of state
The feature list packs a lot of state into a small device: 20 banks, one global bank, three user profiles and 32 programmable sequences. The distinction matters more than the numbers. Banks are what a pedal sends, so a bank can hold one set of mappings for a sound rig and another for a talk, and the global bank is the layer that survives a bank change. Profiles sit at a higher level again, letting different people pick up the same board and get their own bank layout without reconfiguring everything. Sequences are the timing layer, letting a single press fire a chain of actions. The README also documents expression pedal handling with linear and logarithmic response shaping, polarity inversion, automatic pedal calibration and resistor ladder calibration, and it says analog expression pedals, jog wheels and triggers are coming soon, meaning the hardware support is not finished. For now the sensor story is limited to what the calibration steps can measure.
The switch budget changes with the ESP32 variant
Capacity is quoted in two numbers: up to 48 switches on an ESP32-S3, or up to 36 switches on a plain ESP32. That ceiling comes from the microcontroller rather than from the footswitch wiring itself, and it is the first thing to check when you design a board. The README also describes connecting up to 8 controller ports, each with up to 6 switches, which is how a multi-pedalboard build is assembled. The hardware side is split across sibling repositories. PedalinoMini 4 is the simplest build, four footswitches and a 1.9 inch color display with WiFi, Bluetooth and USB, powered over USB-C from a computer, an adapter or a power bank, with the README claiming up to 6 hours of run time on a compact power bank. PedalinoMini 6 and PedalinoMini 8 exist for people who need more switches. This repository holds the shared firmware and documentation, and it includes a CIRCUITPY directory and a firmware directory, so the board designs and the code are published together.
Licensing moved away from a plain open source model
This is the part that deserves a close read before you buy parts. The documentation section on Licensing points to pages for Licensing and Activation, how activation works, an About Demo Mode page, an Open Source Notice and a page titled Why Closed Source?, and no license identifier is listed for the repository at all. In other words, the firmware is not simply MIT or GPL distributed, and there is a demo mode whose limits the README does not spell out. For an open hardware project that started as a shared effort, the license arrangement is a genuine constraint: you may be able to read the source, but whether you can use a given build indefinitely, whether you can modify it, and what the demo mode disables are questions the README does not answer and only that licensing document does. Read doc/Licensing.md before treating the firmware as something you can freely build on. The parts list and schematics live in doc/BOM and Schematics.md, and USB MIDI notes for ESP32 boards are in doc/USB MIDI for ESP32.md.
A tagged release every couple of months, with the code in the same tree
Maintenance signals here are decent and easy to read. Releases are published as numbered tags, with 4.1.3 on 2026-05-04, 4.1.2 on 2026-03-19 and 4.1.1 on 2026-02-15, and the last push was on 2026-05-04, matching the newest tag. The project is not archived. The repository is primarily Python, and the top level contains README.md, a doc directory, a firmware directory, a CIRCUITPY directory, a .github directory and .gitignore, with the version history kept in doc/Versions History.md. Tag numbering with three components and dated releases gives you something to pin a build to and to diff between versions. For firmware, that matters more than it does for a web library, because a bad flash on a pedalboard in the middle of a set is an inconvenience you feel immediately, and the release list is short enough to read before you update.
Editorial conclusion
PedalinoMini suits makers who will build a board, flash firmware from the firmware directory and accept an activation key with demo limits, and who need keyboard or mouse emulation rather than plain MIDI. It does not suit anyone expecting a fully open firmware tree or a finished kit off the shelf. Before committing, read doc/Licensing.md to see how activation and the demo mode restrict the version you plan to install, check that your platform accepts the transport you intend to use, and confirm the switch count of your board matches the 36 or 48 switch limit for your ESP32 variant.
Frequently asked questions
What is PedalinoMini used for?
PedalinoMini is a wireless ESP32 foot controller that sends MIDI messages, keyboard shortcuts and mouse events, aimed at musicians switching presets, streamers triggering OBS scenes and presenters advancing slides. Its keyboard emulation is what makes it usable outside music software.
How do I set up PedalinoMini for the first time?
The README points to a First Steps document covering firmware upload, WiFi provisioning and first access to the web user interface. Once the board is on your network you configure it from a browser at http://pedalino.local.
How many footswitches can a PedalinoMini board have?
The README states up to 48 switches on an ESP32-S3 or up to 36 switches on a plain ESP32, and it describes connecting up to 8 controller ports with up to 6 switches each. The smaller PedalinoMini 4 build has four footswitches.
Is PedalinoMini open source?
No license identifier is listed for the repository, and the documentation includes pages on Licensing and Activation, an Open Source Notice, a Why Closed Source page and a Demo Mode explanation. Whether you can modify and redistribute a build depends on those documents rather than on a standard license.
Which wireless connections does PedalinoMini support?
The README lists WiFi, Bluetooth LE, USB and DIN MIDI as connectivity options, and among the supported protocols it names Bluetooth LE MIDI, AppleMIDI over RTP-MIDI, ipMIDI, OSC and legacy DIN MIDI. It says the device works out of the box with macOS, Windows, iOS and Android.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/alf45tar-pedalinomini)Was this useful?