Chihuahua|
Projects

Custom Driver & UI for Chinese Mini Keyboard

Team member 1
July 12, 2023

Created a custom driver and configuration UI for a Chinese mini keyboard that lacked proper software support, making it fully functional and customizable.

The SayoDevice 02C is a popular budget mini keyboard from China that ships with:

  • No English documentation
  • Buggy proprietary software
  • Limited customization options
  • Compatibility issues

I reverse-engineered the device protocol and created:

  • Custom driver for Windows/Linux
  • User-friendly configuration UI
  • Macro programming support
  • RGB lighting control
  • ⌨️ Key Remapping

    • Any key to any function
    • Multi-key combinations
    • Layer support
    • Media controls
  • 🎨 RGB Control

    • Custom lighting effects
    • Per-key RGB
    • Animation speeds
    • Brightness control
  • 🎯 Macro System

    • Record macros
    • Timing control
    • Complex sequences
    • Game profiles
  • 💾 Profile Management

    • Save/load profiles
    • Import/export
    • Cloud sync
    • Auto-switching
  • Languages: C++, Python
  • UI Framework: Qt/PyQt
  • Protocol: USB HID
  • Reverse Engineering: Wireshark, USB analysis
  • Platform: Windows, Linux
  1. Protocol Analysis

    • Captured USB packets
    • Decoded communication protocol
    • Identified command structure
  2. Driver Development

    • Implemented USB HID communication
    • Created command library
    • Built abstraction layer
  3. UI Design

    • User-friendly interface
    • Real-time preview
    • Drag-and-drop configuration
  • 1000+ downloads on GitHub
  • Featured in mechanical keyboard communities
  • Requests for support of other devices
  • Inspired similar projects
  • Made unusable hardware fully functional
  • Saved users from buying expensive alternatives
  • Created better software than original manufacturer
  • Open-sourced for community benefit
  • Windows 10/11
  • Linux (Ubuntu, Arch, Fedora)
  • Full RGB spectrum
  • 50+ macro slots
  • Unlimited profiles
  • No internet required

The project is open source and accepts contributions:

  • Bug fixes
  • New features
  • Device support
  • Translations

Get the driver and UI: github.com/Avzolem/MiniKeyboard-SayoDevice-02C-Config

  • macOS support
  • Mobile app
  • More device models
  • AI-powered layouts