EdLlLVuVn

Smart Home Keyboard SmartKB32_v2

 
Overview
Please like and save if you like it!!!
Preface:
As an embedded systems enthusiast, my needs for various design software applications differ, and so does my usage of keyboard shortcuts. Most keyboards on the market don't fully support the number of macro definitions required by every software. Many custom keyboards have knobs, but these are mostly for adjusting computer volume, screen brightness, etc., and the knobs are located on the right side of the keyboard, which isn't convenient for design needs. Therefore, I combined the design of a keyboard and SmartKnob, integrating them into one unit. I also integrated a Surface dial and adopted a left-handed design to improve the utilization of the smart knob. Combined with the mouse and the multi-key mapping table on the keyboard, this achieves faster work. Furthermore, this design can control some smart home devices (including smart lamps, desktop power supplies, etc.).
Open Source License (GPL3 Open Source License):
This project open-sources all hardware and software.
The open-source program source files will be updated with firmware from time to time.
This is for personal learning and replication only; commercial use is prohibited without the author's permission. Reproduction or citation must credit the original author and project link.
(2024.8.15) Update Highlights!!!

The newly added Bluetooth wired dual-mode connection
source code supports over 200 key trigger conditions.
A built-in web server allows for real-time updates of the key mapping table, preset smart home control settings, wireless USB drive and keyboard control, etc. Additional
attachments include a flashing tutorial and the latest firmware.

Project-related functions


: Smart Home Controller:
Controls smart desk lamps and desktop charging stations, enabling desktop device linkage for one-button on/off functionality.
Designer Keyboard:
Allows adding and modifying mapping tables via SD card; can pre-store shortcuts for hundreds of apps and quickly switch between three apps.
Game Player Physical Hack:
Can pre-store multiple game mapping tables, supporting single-key rotation or simultaneous triggering of multiple keys.
Webpage Mapping Table Generation:
Utilizes a built-in server to modify key mapping tables in real time, compatible with computers, mobile phones, tablets, etc.
Fingerprint Recognition Module Modification:
Automatically recognizes the login fingerprint and password. Login "Slacking Off"
Mode:
Allows customization of key mapping tables to define which keys are "slacking off" keys.
Computer Media Controller:
Supports background music switching, play/pause.
================================


Jump Address
Video Address:
The source code for the Smart Home Controller (SmartKB32) is available at: [link to Smart Home Controller (SmartKB32)
firmware with programmer, 3D printing files, and SD card configuration file: see attachment (updated to the latest firmware on August 15, 2024).
For more questions, join the group: QQ group (559484463).
Project innovations:

Utilizing an SD card to store key mapping tables, theoretically, hundreds of APP mapping tables can be pre-stored. The keyboard has a dedicated mapping table switching button, allowing quick switching to the desired mapping table.
SD card storage of server data enables operations such as adding, modifying, and deleting mapping tables via a computer connected to the ESP32S3 via Wi-Fi.
The left column of keys on the keyboard, when long-pressed, has the same output control as a normal full layout; clicking a key switches the mapping table (e.g., the lower left key, when long-pressed, outputs Ctrl; clicking the key switches the mapping table).

Project description:
Control of smart home devices: The color temperature and brightness of the smart desk lamp can be controlled via the buttons in the smart desk lamp control area; fine-tuning of color temperature and brightness can be achieved using the knob. Desktop power can be controlled via buttons in the desktop power control area, supporting multiple triggering methods to achieve different functions.
I. The function description of each button in the function area can be viewed on the server's welcome page.
II. Clicking the corresponding button will jump to the corresponding function.
Next update direction:
1. Improve web server functionality
2. Create a web server for smart home control
3. Create a web server for wireless USB flash drives
4. Create a web server for keyboard settings
5. Integrate artificial intelligence, add voice input, audio output, etc.
Physical demonstration:
Web page mapping table generator
Mapping table generator 3.0: After three iterations, the mapping table generator has been successfully integrated into the built-in web server. Computers or mobile phones connected to the ESP32S3 hotspot or connected to the same network as the keyboard can access the built-in server by opening a browser and entering 192.168.4.1 to make modifications, or by accessing the server through the IP address displayed on the knob.
Project attributes:
This project is being publicly disclosed for the first time and is my original work. This project has not won any awards in other competitions.
Software Description:
I. Built-in device information for version control, etc.
II. Over 230 preset key trigger events for different controls.
Hardware Description :
I. Exploded view of assembly structure .
Design Principles
: Main Control Section: Communicates with the computer via Bluetooth to achieve Bluetooth keyboard functionality.
Communicates with self-made devices via ESPnow.
Utilizes MPU6050 for closed-loop control of the fork knob.
Utilizes WM8978 for sound effects.
Secondary Control Section: Enables remote control via Wi-Fi and LED technology, as well as linkage control with Mi Home devices and support for Xiao Ai speaker voice control.
Utilizes 74HC165 chip for sampling the state of each key.
Utilizes 74HC595 chip for controlling status indicator lights.
Utilizes DS1302 chip for accurate timing function
. Utilizes Max4466 for sound sampling.
Replica Notes:
The accessories include two types of knobs: one for the 2804 motor version and one for the 3205B motor version. Choose one.
The keyboard PCB thickness is 1.6mm.
The screen and motor driver PCB thickness is 1.0mm (the 3205B gimbal motor without limiters has a 1.6mm thickness).
The keyboard positioning plate thickness is 1.5mm.
The motor is fixed in the middle using M2.527mm copper pillars (the 3205B gimbal motor without limiters uses M2.52mm copper pillars).
The radial magnets for the 2804 or 3205B gimbal motor without limiters are
: outer diameter 10mm, inner diameter 6.3mm, thickness 2mm (not required for the 3205B gimbal motor without limiters).
Don't forget to like and save this post!
Other functions will be gradually improved later, please stay tuned!
Other milestones: July
2023: Prototyping and testing of various modules
begins; September 2023: Functional framework architecture and UI interface design begins ; October
26, 2023: Verification of various modules completed and integrated circuit design completed, prototyping begins; October
27, 2023: Shell design
completed; November 13, 2023: Prototype testing completed;
December 5, 2023: Sample assembly and testing completed;
May 6, 2024: Added replacement design for the 2804 motor with the 3205B limit-removing version motor, redesigned the key mapping table generator.
参考设计图片
×
 
 
Search Datasheet?

Supported by EEWorld Datasheet

Forum More
Update:2026-03-26 14:15:00

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
community

Robot
development
community

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号