Create a Multi-Functional Keyboard with ESP32-S3

Create a Multi-Functional Keyboard with ESP32-S3

Project Name: SmartKB32_v2

Project Author: Jia Jiawen JJW

1. What are the highlights of this keyboard?

Created a unique keyboard that is rarely seen in the market!

This is a 32-key smart keyboard, using ESP32-S3 as the main control design.

Create a Multi-Functional Keyboard with ESP32-S3

With a custom knob, it can handle4 major application scenarios! It has7 major functions!

Applicable Scenarios
  • Writing code, designing, etc. work scenarios

  • Remote control of home devices, etc. lifestyle scenarios

  • Can control various DIY devices,increasing playability

  • Daily app switching, gaming, work and entertainment switch in 1 second

Function Description
  • The keyboard hasthree layers of default key mapping tables, each layer can achievecustom macros: Pre-set dozens of APP shortcuts and game shortcuts, with pop-up prompts on the screen during switching

  • Supportssmart home devicewireless control(supports control of self-developed devices)

  • Supportsfingerprint recognition: One-click input of account passwords, computer boot passwords

  • One-click sleep function

  • One-click boot function

  • Supportsmusic control to start, pause, previous and next songs, etc.

  • Also added a buzzer, audio chip, etc., to achieve multi-control functionality

Additionally designed as a gaming keyboard, can trigger combos with one click.

Create a Multi-Functional Keyboard with ESP32-S3

2. Why did I make this keyboard?

Create a Multi-Functional Keyboard with ESP32-S3

Problems I Noticed

Keyboards on the market, the number of macro definitions cannot fully meet the needs of each software.

Many customized keyboards have knob functions, but most only adjust computer volume, screen brightness, etc., and feel that they have not maximized the efficiency of the knob

So I thought

I combined the Bluetooth keyboard with the SmartKnob design, merging them into one.

Also integrated the Surface dial, using a left-hand design to improve the utilization rate of the smart knob.

Finally, combined with the mouse and keyboard’s multiple key mapping tables to meet faster work demands.

The hardware and software designs are as follows.

3. Hardware Part
Design Diagram

Create a Multi-Functional Keyboard with ESP32-S3

Peripheral Schematic Diagram

Create a Multi-Functional Keyboard with ESP32-S3

Control Schematic Diagram

Create a Multi-Functional Keyboard with ESP32-S3

PCB Diagram with Color Silk Screen Process

Create a Multi-Functional Keyboard with ESP32-S3

2804 Motor Schematic Diagram

Create a Multi-Functional Keyboard with ESP32-S3

2804 Motor PCB Diagram

Create a Multi-Functional Keyboard with ESP32-S3

GC9A01 Screen Schematic Diagram

Create a Multi-Functional Keyboard with ESP32-S3

GC9A01 Screen PCB Diagram

Create a Multi-Functional Keyboard with ESP32-S3

Key Area Introduction

Create a Multi-Functional Keyboard with ESP32-S3

UI Interface Part Display

Scroll up and down to view the complete design drawings

Including keyboard area introduction + UI interface

Hardware Parameters
  • Main control adopts ESP32-S3, auxiliary control ESP12F design.

  • Realized communication with self-made devices throughespnow

  • UtilizedMPU6050 for foc knob closed-loop control

  • UtilizedWM8978 for audio functionality

  • Utilized74HC165 chip to sample the state of each key

  • Utilized74HC595 chip to control the status indicator lights

  • UtilizedDS1302 chip for timing function accuracy

  • UtilizedMax4466 for audio sampling

  • Adopteddual Type-C ports design, one port for 12V power supply, the other port has a reversible design with one as the main control OTG interface and the other as the auxiliary control serial to USB interface, both ports have corresponding indicator lights for distinction

  • Communicated with computers viaBluetooth, achieving Bluetooth keyboard functionality.

  • Throughwifi and lighting technology to achieve remote control via mobile phone, as well as interaction with Xiaomi devices, and supports voice control via Xiao Ai speaker

4. Software Part

The keymap.cpp defines a dual-layer default mapping table:

  • One layer for APP shortcut key mapping

  • One layer for game shortcut key mapping

  • One layer for function shortcut key mapping

The source code is open-sourced, refer to the end of the article for the 【Open Source Material Download Guide】 section.

5. Burning Method

Create a Multi-Functional Keyboard with ESP32-S3

Create a Multi-Functional Keyboard with ESP32-S3

6. DIY Precautions
  • Keyboard PCBboard thickness: 1.6mm

  • Screen and motor driver board PCBboard thickness: 1.0mm

  • Keyboard positioning platethickness: 1.5mm

  • Motor is fixed usingM2.5*27mm copper pillars

  • Cost details can be found in Chapter 8

7. Open Source Material Download Guide

This project is open-sourced: 3D models, schematics, PCBs, program code, burning files.

If you needProject source files + video demonstration files, please “scan” or “copy the link” to enter the open-source page to view.

Create a Multi-Functional Keyboard with ESP32-S3

Scan to enter the open-source page
Get 【circuit and other source files】

Copy the open-source URL, open it in any browser: https://oshwhub.com/szszj/SmartKB32v2

Create a Multi-Functional Keyboard with ESP32-S3

If you have any questions, you can comment and consult the original author under the open-source project!

8. Cost Explanation

The total cost of this project is around 2400 yuan, but!

The author participated in the event held by Lichuang called Spark Plan Activity, which reimbursed the author 2000 yuan of material costs.

Therefore, the author actually spent: around 400 yuan.

Is this considered spending a small amount of money to do great things? Create a Multi-Functional Keyboard with ESP32-S3

If you also want to sign up for the Spark Plan, reimburse materials, and “earn extra money” through open source, then click the image below to learn more!
Create a Multi-Functional Keyboard with ESP32-S3
Create a Multi-Functional Keyboard with ESP32-S3

*This article reprints user creations from the “Lichuang Open Source Hardware Platform.” If there is infringement, please contact us for deletion.

If you see this, please give me a thumbs up!
Create a Multi-Functional Keyboard with ESP32-S3
Click here to view the original project

Leave a Comment