Custom Touch HMI: Tri-Mode Virtual Keyboard Engine
Modern embedded appliances and industrial control terminals demand fluid, intuitive input systems without consuming excessive memory overhead. Developing on customer-specified STM32 target hardware, this project focused on designing, implementing, and optimizing three application-specific virtual keyboard layouts to handle versatile operational workflows.
Tri-Mode Keyboard Architecture
- Full Alphanumeric QWERTY Layout: Complete standard input interface with dynamic shift-state toggling, multi-tap key debouncing, and sub-pixel glyph alignment for operator credential entry and text setup.
- High-Density Numeric & Math Keypad: Large-target layout featuring elevated tactile response zones and boundary checking for high-speed parameter programming, pin entry, and batch value overrides.
- Symbol & Specialized Technical Panel: Quick-toggle secondary pane mapping domain-specific syntax, punctuation, and control characters without cluttering the primary operator workspace.
Core Engineering Highlights
- Customer Hardware Bring-Up & Display Pipeline: Calibrated the display driver and capacitive touch panel controller over SPI/FMC and I2C, ensuring jitter-free touch sampling and minimal input latency.
- Zero-Flicker Framebuffer Management: Utilized partial dirty-rectangle invalidation and internal SRAM layout caching to sustain fluid touch feedback and dynamic key-state animations.
- Decoupled Event Handling: Separated GUI event queues from core application logic via FreeRTOS message queues, preventing input delays during background communication and task processing.