EMDEX
EMDEX is a modular, programmable control system that combines custom hardware with a web-based control interface to manage displays, keybinds, and device interactions in real time.
It is designed for makers, developers, and power users who want full control over how physical inputs trigger digital actions โ without being locked into proprietary ecosystems.
What is EMDEX?
EMDEX is essentially a configurable macro and display controller.
It allows you to:
Assign keybinds and actions to physical buttons
Upload and manage images for multiple displays
Control and monitor the device via a web interface
Communicate with hardware in real time using WebSockets
Extend functionality through a simple API-based architecture
The system is built to be modular, hackable, and expandable โ both in hardware and software.
Core Components ๐งฉ Hardware
Microcontroller-based macro device
Multiple displays (image + status output)
Physical buttons / inputs
Serial communication with the host system
๐ Software
FastAPI backend
WebSocket-based real-time communication
Static web frontend (HTML / CSS / JavaScript)
File-based storage for images and keybind profiles
Features
๐ Multiple Displays Upload images per display and update them dynamically.
โจ๏ธ Keybind Management Assign custom actions to keys and store them as profiles.
๐ Live Communication Real-time updates between browser and device using WebSockets.
๐ Local File Storage Images and keybinds are stored locally and served by the backend.
๐ง Extensible Architecture Designed to grow with additional modules, inputs, and software features.
Architecture Overview [ Web UI ] โ โ WebSocket / REST โผ [ FastAPI Server ] โ โ Serial โผ [ EMDEX Hardware ]
Project Status
๐ง Work in progress
EMDEX is under active development. The current focus is on:
Reliable hardware communication
Stable upload and keybind handling
Clean separation between API and static frontend
Preparing the system for future modules and features
Breaking changes may occur.
Why EMDEX?
Most macro devices are:
Closed-source
Software-locked
Difficult to extend
EMDEX is built with the opposite philosophy:
You own the hardware. You control the software.
Planned Features
Profile switching
Display animations
Advanced keybind actions
User authentication
Plugin / module system
Cross-platform desktop integration
Getting Started
(Setup instructions will be added as the project stabilizes.)
For now, the project assumes:
Python 3.10+
FastAPI
A supported microcontroller connected via serial
License
License will be defined once the core system stabilizes.
Author
Created by EMDEX Built for experimentation, customization, and control.