whatisgithub

What is esp32macropad?

incipiens/esp32macropad — explained in plain English

Analysis updated 2026-05-18

15C#Audience · vibe coderSetup · moderate

In one sentence

A DIY 15-button touchscreen macro pad: the panel just sends button taps over WiFi, while a Windows app decides what each button actually does.

Mindmap

mindmap
  root((repo))
    What it does
      Touchscreen macro pad
      Sends button taps over WiFi
      Desktop app runs the action
    Tech stack
      C# and .NET 10
      Avalonia UI
      ESP32 firmware
      PlatformIO
    Use cases
      Launch programs
      Open URLs
      Trigger OBS hotkeys
    Audience
      Hobbyists
      Streamers
      Makers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a physical macro pad for opening websites, launching programs, or triggering OBS hotkeys.

USE CASE 2

Set up a homemade stream deck alternative using cheap touchscreen hardware.

USE CASE 3

Customize button layouts, icons, colors, and brightness from a desktop configurator app.

What is it built with?

C#.NET 10AvaloniaPlatformIOESP32WebSocketmDNS

How does it compare?

incipiens/esp32macropadawp0721/cqyh_serverlogixrcorp/blazordx
Stars151515
LanguageC#C#C#
Setup difficultymoderatehardhard
Complexity4/54/5
Audiencevibe coderdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires flashing custom firmware to specific CrowPanel hardware and building a Windows-only desktop app.

So what is it?

ESP32 Macro Pad is a small hardware and software project that turns a touchscreen panel into a custom set of physical buttons for your computer. It is built around the Elecrow CrowPanel Advance, a 7 inch touchscreen display, paired with a Windows application that does the real work. The panel itself is simple. It only stores the layout: which buttons exist, their titles, colors, icons, brightness, and screen position. When you press a button, the panel sends a button ID to your computer over WebSocket. It does not know what that button is supposed to do. All the actual logic, such as opening a website, launching a program, or sending a keyboard shortcut, lives in a Windows desktop app built with .NET 10 and Avalonia. That desktop app finds panels automatically on your network using mDNS, or you can connect by IP address directly. For each button you can choose to open an HTTP or HTTPS link, start a program, or send a Windows keyboard shortcut, and any image you pick gets resized to fit the panel's small icon format automatically. Because keyboard shortcuts are sent using a Windows only input method, this project only works on Windows machines, and both the macro pad app and the target program, like OBS, need to be running at matching permission levels for the shortcut to actually register. The firmware side runs on the CrowPanel hardware using PlatformIO. On first setup the panel creates its own WiFi access point so you can connect it to your network, after which it advertises itself for the desktop app to find. The project notes that it currently targets a specific hardware revision for the display's backlight control, so anyone using a different board revision should test carefully before relying on it. This is a hobby project originally written to accompany a tech article about building a homemade stream deck alternative, and the repository has a modest 15 stars so far.

Copy-paste prompts

Prompt 1
Explain how the WebSocket protocol between the ESP32MacroPad firmware and desktop app works.
Prompt 2
Help me set up PlatformIO to flash the ESP32MacroPad firmware to a CrowPanel Advance display.
Prompt 3
Walk me through building and publishing the ESP32MacroPad Windows desktop app with dotnet publish.
Prompt 4
Show me how to bind a custom keyboard shortcut in the ESP32MacroPad app to trigger an OBS hotkey.

Frequently asked questions

What is esp32macropad?

A DIY 15-button touchscreen macro pad: the panel just sends button taps over WiFi, while a Windows app decides what each button actually does.

What language is esp32macropad written in?

Mainly C#. The stack also includes C#, .NET 10, Avalonia.

How hard is esp32macropad to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is esp32macropad for?

Mainly vibe coder.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.