How to make a numeric keyboard using XIAO RP2040
Source: InternetPublisher:消失的歌 Keywords: pcb keyboard Updated: 2024/06/07
This keyboard is more of an art project to me. And a chance to learn how things work. What is the underlying code and history! Arouse curiosity.
background
The medieval number system was invented by the Cistercians in Europe in the 13th century. The Cistercians were a Catholic religious order of monks and nuns. They used a secret number notation among each other. No one really knew about it until about 20 years ago, when an English Orientalist and historian, David A. King, wrote a book about it. It was used by various different groups for all kinds of medieval ciphers and secret number systems. It was a system that could only write every number from 0 to 9999. It couldn't write any other numbers, but was easily used for dates and page numbers in books.
Hardware Components
SeeedXIAO-RP2040
Custom PCB. Made by SeeedFusion
Keyboard switches (20 pcs)
USB-C to USB-A cable
Homemade keyboard case (birch plywood, screws)
Homemade keycaps (solid oak and birch plywood)
XIAORP2040 Features:
Small size 20x17.5 mm
USB-C
11 pins + power pin
reset button
Power button
RGB LED (user programmable)
Power LED (2 colors)
User LEDs
264KB SRAM and 2MB Flash
Dual-core ARM Cortex M0+ processor, 133MHz
3.3V!
Custom PCB
My design contains four columns and five rows of switches.
This is the first time I ordered a yellow PCB. I think it will be perfect for my wooden mechanical keycaps and housing.
The PCBs are made by SeeedFusion. I ordered five and had two assembled. I think they look nice. The pads are gold plated. Only one of the PCBs has some kind of color dripping off.
software
First, I planned to use PlatformIO with the Arduino framework, but PlatformIO doesn't support this board (XIAO-RP2040) yet. So I used the ArduinoIDE.
There are several programming options:
CircuitPython/MicroPython和Thonny
ArduinoIDE (install XIAORP2040 board)
Raspberry Pi Pico C/C++ SDK
PlatformIO with Arduino framework (not supported yet!)
design concept
The main components are the keycaps, and everything else is as minimal as possible:
- Homemade bidirectional reversible length measuring device for rubber tubes
- SN75370 Dual MOS Memory Interface Circuit
- Interface circuit between intelligent temperature sensor TCN75 with two-wire serial interface and 89C51 single-chip microcomputer
- Interface circuit based on 8155 and single chip microcomputer
- How to make a smart mirror using Raspberry Pi
- How to make a simple quadcopter using ESP8266
- How to use ESP32 to implement the design of air quality monitoring system
- A safe and reliable IC card reader/writer system circuit
- Microcontroller test board circuit 1
- Usb mouse circuit diagram
- Do you know the advantages of laying copper on the bottom layer of PCB?
- Comparison between hard board PCB and soft board FPC
- PCB board interconnection method
- Reasons why optoelectronic components on PCB do not work
- How to connect the components in PCB?
- Basic principles of thermal design in PCB layout
- PCB schematic diagram reverse derivation step method
- Keyboard-display interface circuit
- General frequency converter display-keyboard
- 8279 keyboard with button functionality