MacroPad
MacroPad copied to clipboard
Yet another MacroPad but remotely configurable/scriptable/executable over Wi-Fi
⌘
MacroPad
Yet another MacroPad but remotely configurable/scriptable/executable over Wi-Fi.
Most importantly, it uses much cheaper solutions than the other existing ones.
🚧
Hardware
![]() |
![]() |
|---|---|
![]() |
![]() |
PCB
-
Exported EasyEDA Project
-
Schematic (PDF)
-
Manufacturing Files (Gerber)
-
BOM (CSV)
3D Printing Parts
There's 2 parts you can print
- Body: The stand or case whatever you call it, shown in the picture above.
- Spacer: To align the keys while soldering. This is optional.
3D Printing Parts (STL/AMF/FreeCAD)
It's recommended to place 4 Silicone Rubber Feet with diameter of 10mm underneath the body to prevent slipping.
Web Interface
http://macropad.local/

The web interface is a Vue.js application.
See /web for more information.
API
| Method | URL | Description | Done |
|---|---|---|---|
GET |
/api/config |
read config | ✅ |
POST |
/api/config |
write config | ✅ |
DELETE |
/api/config |
delete config | ✅ |
GET |
/api/restart |
restart | ✅ |
GET |
/api/reset |
earase all settings | ✅ |
Build / Development
TODO: Add more information about development.
Clone this project
git clone [email protected]:RayPS/MacroPad.git
Open this project in PlatformIO
Update upload_port
Update monitor_port (optional, if you want to see debug messages from SoftwareSerial, otherwise remove this option)
Finally, upload to the board.
Web Interface Development
cd MacroPad/web
yarn install
yarn run dev to start web development or yarn run build to build the html PROGMEM for the firmware.
(After yarn run build, you can perform an upload in PlatformIO again)
Macro Script Proposal
| Syntax | Feature | Done |
|---|---|---|
# This is a comment @ CTRL SHIFT CMD F1 $ Hello world! ! 1200 ~ 50 + WIN R - WIN R . |
comment shortcut string wait (ms) interval (ms) press key release key release all keys |
✅ ✅ ✅ ✅ ❌ ✅ ✅ ✅ |
Todo
- Hardware
- PCB
- [ ] Use USB-C instead of Micro USB 😅
- 3D Prints
- [ ] Design the top case
- [ ] Printable potentiometer cap, maybe
- PCB
- Software
- Firmware
- [ ] Decide the functionality for the potentiometer
- [ ] Fix the SW0 (IO9) crash
- [ ] Implementation of ~Interval, don't see any use case yet
- Web Interface
- [x] Add a "usage/reference" page
- [ ] Syntax highlighting. is this necessary?
- [x] Config saving guard (macro syntax validation)
- Firmware
Features Roadmap:
- Remote execution (Already done but wont add to current version)
- Multi-configs



