Multifunctional open source custom macro keyboard
[Copy link]
This post was last edited by qwert1213131 on 2022-10-22 20:21
1. Introduction of the work (100-200 words)
Multifunctional open source custom macro keyboard
Most macro keyboards on the market require recording by memorizing or sticking notes, which lacks flexibility.
If there is no label, its specific function may be forgotten after a long time;
The design of this project is different from this type of macro keyboard. It mainly combines the display screen with the mechanical switch. The required pattern or text can be customized according to the needs of the user to indicate the specific meaning of the key. It not only has the display function, but also has the touch of the mechanical switch;
The project has built a framework, and users can implement the functions they need on this basis and play more tricks;
The functions currently implemented are:
- Full keyboard emulation
- Music playback control
- Quickly open common web pages
- CV engineer special keys (select all, copy, paste)
- B station shortcut keys
- Network clock
- weather
- Computer operation status monitoring
- Pomodoro
2. System Block Diagram (Combined Graphics and Text)
Hardware
Main components used:
- ESP32-S3: master controller, responsible for communication and display control
- TPS61040: Provides 10V power supply for display module
- 0.95 inch RGB OLED display
- Mechanical switch buttons
- Rotary encoders
Software
The software mainly switches to different function pages according to the different states of the buttons to realize the functions;
It mainly consists of key scanning, page management, and network tasks.
3. Functional description of each part (combined with pictures and text)
Main control module
The ESP32-S3-DevKitC-1 development board is used as the core. The ESP32-S3 chip supports WiFi, Bluetooth, USB, and powerful resource peripherals, which is very suitable for developing this project. The OLED screen display is controlled through SPI and GPIO, and the time, computer status and weather forecast are updated through WiFi; BLE is used to simulate the keyboard. At the same time, 3.3V power is provided for other modules.
Mechanical button display module
Since the function of the macro keyboard may change, the keys and display screen are integrated to facilitate the definition and display of keys according to different functions. A 0.95-inch RGB OLED screen is used, and three modules of this are required;
Rotary encoders
Used to obtain user input to facilitate the switching of page functions
Power supply module
Since the oled screen needs an additional 10v power supply in addition to the 3.3v power supply, the tps61040 boost chip is used
connect
Finally, connect the development board to each module through the wiring
4. Source Code
download.eeworld.com.cn/detail/qwert1213131/625234
app is mainly responsible for the implementation of common modules
Fonts contains font files
Manager is responsible for page management switching
Pages contains various functional pages, which are easy to add
The source code directory structure is shown below:
5. Demonstration video of the work’s functions
Macro keyboard based on esp32s3 - Macro keyboard based on esp32s3 - EEWORLD University
6. Project Summary
First of all, I would like to thank Digi-Key and eeworld for organizing this event, which gave me the opportunity to participate and get in touch with the esp32s3 chip.
I used to use ordinary keyboards, but after I came into contact with mechanical switches, I fell in love with them and had the idea of DIYing myself. In the process of exploration, I found that there are still many directions that can be combined together to derive new things.
This project has gone through several versions of evolution from mechanical design, schematic diagram, PCB proofing, program coding, 3D printing, and spraying. I am very satisfied with the current presentation; of course, there are still many areas that need improvement, such as adding a USB method, and I will continue to work hard.
It is a pity that some materials cannot arrive and some functions cannot be realized.
This project has a lot of expandable functions, such as practicing Morse code, playing fruit games, etc.
[Multi-function open source custom macro keyboard] Material unboxing - ESP32-S2-KALUGA-1 and ESP32-S3-DEVKITC-1-N8
【Multi-function open source custom macro keyboard】Bluetooth keypad project construction and experiment
【Multi-function open source custom macro keyboard】OLED display test
VII. Others
|