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:
- Temperature and clock display
- Interface circuit composed of photocoupler
- Using 89C2051 to make a four-way digital display water level controller circuit
- Digital frequency meter made with ATmega8 microcontroller
- FPGA and DAC0832 interface circuit
- Make a capacitive soil moisture sensor using ESP32
- Circuit design analysis of smart car image recognition system
- Circuit principle and production of dot matrix Chinese character LED display
- Circuit diagram: 8051
- PC infrared interface
- How to design a switching power supply?
- A brief analysis of the working principle of bipolar power supply providing current
- Reasons why optoelectronic components on PCB do not work
- PCB circuit board heat dissipation method
- PCB schematic diagram reverse derivation step method
- PCB layout and routing rules analysis
- Keyboard-display interface circuit
- Development system using ASCII code keyboard
- General frequency converter display-keyboard
- Scanning keyboard entry circuit