2021-06-18 Update:
1. The default firmware correctly limits the maximum RGB brightness to 200 (max: 255), so that some motherboards with insufficient power supply can be used normally.
2. Re-uploaded the source code and firmware for QMK update.
Some issues may not have been explained clearly when the project was first open sourced. In addition, it may be due to personal indiscretion. Here is a supplementary explanation in advance:
1. All component models, resistance values, and capacitance values are subject to the markings on the schematic diagram. There must be something wrong with directly exporting the BOM. (All resistors are packaged in 0805, capacitors are packaged in 0603)
2. Due to the first reason, if the PCB I made is directly used for SMT, there will definitely be problems. It is recommended to hand-solder it yourself.
3. There must be a certain threshold for a newbie to DIY this. Take your time and read more official QMK documents.
4. On the basis of being familiar with QMK firmware, modify the code yourself. If there are problems with compilation, it is most likely because the development environment is incomplete.
5. The total current of 100 pieces of 2812 all-white maximum brightness exceeds 2A. Pay attention to the capabilities of the wire and USB interface. The sample firmware limits the maximum brightness of RGB.
First of all, I would like to thank Sister Dao from the front row: https://lceda.cn/alixzhang for leading me into the pit.
text:
This time the configuration has been improved, and the threshold has been raised to a certain extent compared to V1, but it is also more complete.
Please see the attachment for all relevant documents. Here are some brief instructions:
Firmware: QMK open source firmware (the firmware and reference source code are attached), does not support VIA, and you need to build your own development environment to modify all functions.
MCU: STM32F303CCT6 (I chose this just because QMK official RPOTON C uses this master, which is relatively simple)
OLED: 0.96-inch I2C OLED↵↵RGB: Exactly 100 WS2812 are used (axis light: reverse 3528 or front 3535 stacked tin, around the knob and bottom light are 5050 front.)
Shell: Acrylic stacked CAD drawings are provided, as well as 3D printing STL.
For information about QMK, please refer to: https://docs.qmk.fm/#/
First picture: PCB:
3D printing shell rendering: 3D printing shell actual picture: ↵Assembly completed:↵
OLED content (the code is borrowed and modified from the QMK open source project./myskeeb/oled.c ) : After 20 seconds of no input, the OLED switches to a magical standby screen saver animation, and turns off the screen after 60 seconds.
KEYMAP I use:
Note: This LAYOUT uses 7U spaces! ! !
Default layer (layer 0):
The black font in the picture above needs to be explained: press the knob to mute, press CAPSLOCK briefly to switch between upper and lower case, long press to temporarily switch to layer 2, QMK key value is: LT(2, KC_CAPS), long press CAPLOCK+WASD = Up, down, left and right, convenient for moving the input pointer in some cases.
Game layer (layer 1):
FN+left WIN key switch, this layer only blocks the WIN key and CAPSLOCK long press layer cutting function.
FN layer (layer 2):
The red font in the picture above needs explanation:
RESET: Put the keyboard into DFU mode, required for firmware update.
AUTOSHIFT_TOG (KC_ASTG): FN+right shift switches the AUTOSHIFT function. It is turned off by default. After it is turned on, it is convenient to quickly input uppercase characters. For example: when CAPSLOCK is turned off, short press the a key to enter a, hold down the a key for more than 150ms, and enter A. After turning on AUTOSHIFT, you cannot press and hold to input a string of characters continuously. You can flexibly switch on and off to use this function.
RGB_TOG: RGB switch.
RGB_MOD: Switch RGB lighting effects.
Knob related:
Layer 0: The knob executes the ALT_TAB macro by default, right SHIFT+knob = volume adjustment, right CTRL+knob = page zoom in and out.
layer 1: volume size.
layer 2: RGB brightness adjustment. ↵↵There are 4 WS2812s under the transparent knob cap used as status indicators: CAPSLOCK (red), AUTOSHIFT (green), game layer/LAYER 1 (blue), priority from left to right.
See the attached video for RGB lighting effect demonstration. Please check the source code for other functions. Details will not be explained here.
All reference designs on this site are sourced from major semiconductor manufacturers or collected online for learning and research. The copyright belongs to the semiconductor manufacturer or the original author. If you believe that the reference design of this site infringes upon your relevant rights and interests, please send us a rights notice. As a neutral platform service provider, we will take measures to delete the relevant content in accordance with relevant laws after receiving the relevant notice from the rights holder. Please send relevant notifications to email: bbs_service@eeworld.com.cn.
It is your responsibility to test the circuit yourself and determine its suitability for you. EEWorld will not be liable for direct, indirect, special, incidental, consequential or punitive damages arising from any cause or anything connected to any reference design used.
Supported by EEWorld Datasheet