CompletedKEYBOARD
License
:MIT License
Description
Soup_pad – 104-Key Custom Mechanical Keyboard with Per-Key RGB
https://youtu.be/te1m4h9dRJE
Project Overview
Soup_pad is a full-size 104-key custom mechanical keyboard built around the Raspberry Pi Pico. The goal of this project is to create a fully custom, manufacturable keyboard that balances cost, performance, and flexibility, while remaining accessible to hobbyists and students.
Unlike typical prebuilt keyboards, Soup_pad is designed from scratch — including PCB, firmware integration, and enclosure — making it a complete hardware development project rather than just an assembly.
Core Features
- Full 104-key layout (includes numpad and function row)
- Per-key RGB lighting using SK6812 Mini-E LEDs (individually addressable)
- USB interface via Raspberry Pi Pico
- Matrix-based key scanning (21 columns × 6 rows)
- Open firmware support (KMK / CircuitPython compatible)
- Cost-optimized design for practical manufacturing
Electronics & Schematic Design
The keyboard uses a matrix scanning architecture to efficiently read all key inputs using limited GPIO pins.
- Controller: Raspberry Pi Pico (RP2040 dual-core MCU)
- Matrix Design: 21×6 configuration using direct GPIO access
- RGB System: SK6812 Mini-E LEDs chained per key for dynamic lighting effects
- Power System:
- Powered directly via USB (5V)
- Decoupling capacitors placed near all major components
- Signal Considerations:
- Clean routing for matrix lines to reduce interference
- Proper grounding for stable LED operation
This design keeps the system simple and avoids unnecessary complexity while still supporting a large key matrix and RGB lighting.
Mechanical Design
- Compatible with Cherry MX-style switches
- Supports standard 104-key keycap sets
- Includes stabilizer mounts for larger keys
- Custom enclosure design provided as STEP files
The case is designed to be:
- Easy to manufacture (CNC / 3D print)
- Modular and repair-friendly
- Suitable for iterative prototyping
Innovative Aspects
While based on a standard microcontroller, the project introduces several practical innovations:
- Full-size keyboard driven directly by a compact microcontroller without expensive custom boards
- Per-key RGB in a cost-conscious design, avoiding premium components
- Open and modifiable platform for firmware experimentation (lighting effects, macros, layouts)
- Designed for learning and replication, not just end-use
- Complete hardware stack included (PCB + enclosure + firmware compatibility)
Project Purpose
Soup_pad is intended as a learning-oriented yet production-capable keyboard platform. It demonstrates how a widely available microcontroller like the Raspberry Pi Pico can be used to build a complex, real-world device.
This makes it valuable for:
- Students learning embedded systems and PCB design
- Hobbyists entering custom keyboard development
- Developers experimenting with firmware and RGB control
Files Provided
- PCB design files (Gerber + EasyEDA project)
- Schematic diagrams
- BOM (Bill of Materials)
- STEP files for enclosure
The system is built around a 21×6 key matrix, allowing 104 keys to be scanned efficiently using limited GPIO pins.
- Matrix Working Principle:
Rows are driven sequentially while columns are read as inputs. This reduces required pins while maintaining responsiveness. - Microcontroller Role:
The Raspberry Pi Pico handles:- Matrix scanning (input detection)
- RGB data transmission (timing-critical SK6812 control)
- USB communication with host system
- RGB Circuit (SK6812 Mini-E):
Each key has an individually addressable LED connected in a daisy chain.
A single data line controls all LEDs, reducing wiring complexity while enabling advanced lighting effects. - Power Distribution:
- USB provides 5V input
- Capacitors are placed near LEDs and MCU for voltage stability
- High-current paths for RGB are separated from logic where possible
- Signal Integrity Considerations:
- Short trace routing for matrix lines
- Ground plane used to reduce noise
- Stable data path for LED chain to prevent flickering
Project Functionality
Soup_pad performs three core real-time operations:
- Key Detection
Continuously scans the matrix to detect key presses with low latency. - RGB Processing
Drives per-key lighting effects such as:- Reactive typing effects
- Layer-based lighting
- Custom animations
- USB Communication
Sends HID signals to the computer while simultaneously updating lighting states.
Innovative Features (Key Section)
This project goes beyond a conventional keyboard in the following ways:
- Dual-purpose Microcontroller Usage
The Raspberry Pi Pico simultaneously handles real-time input scanning and strict-timing RGB control, which is typically separated in commercial designs. - Cost-Optimized Full-Size RGB Design
Achieves per-key RGB on a 104-key layout without expensive driver ICs. - Firmware-Level Experimentation Platform
Designed to support KMK, enabling:- Custom keymaps
- Macros and layers
- Programmable lighting behaviors
- Hardware Designed for Modification
The PCB and enclosure are built to allow:- Easy repair
- Future feature additions (encoders, displays, etc.)
- Matrix Working Principle:





Design Drawing
The preview image was not generated, please save it again in the editor.BOM
Bom empty
CloneProject Members
Intellectual Property Statement & Reproduction Instructions
This is an open-source hardware project. All intellectual property rights belong to the creator. The project is shared on the platform for learning, communication, and research only; any commercial use is prohibited. If your intellectual property rights are infringed on EasyEDA, please notify us by submitting relevant materials in accordance with the Rules for Complaints and Appeals of IPR Infringement.
Users must independently verify the circuit design and suitability when replicating this project. All risks and consequences are borne by the user, and the platform assumes no liability.
Empty


Comment