DIY Keyboard Ep.4 - Software
Вставка
- Опубліковано 28 чер 2024
- Big thanks to PCBWay for sponsoring this video. Check them out here and get a $5 coupon: www.pcbway.com/setinvite.aspx...
If you always wanted to build your own keyboard but didn't know where to begin, this series is for you. In this video, I go over the different options you have to get your keyboard talking to the computer. I show both how you can code a simple firmware yourself, as well as how to configure QMK to do the heavy lifting for you.
PCBWay 8th-anniversary sale: www.pcbway.com/activity/anniv...
Project on PCBWay: www.pcbway.com/project/sharep...
All the files on GitHub: github.com/datulab/Keyboard_T...
Arduino Keyboard Documentation: www.arduino.cc/reference/en/l...
Arduino special characters: www.arduino.cc/reference/en/l...
QMK Documentation: docs.qmk.fm/#/
QMK GitHub: github.com/qmk/qmk_firmware
QMK Toolbox: github.com/qmk/qmk_toolbox
QMK MSYS: msys.qmk.fm
Buy the parts online (affiliate links):
Plate mount stabilizers: s.click.aliexpress.com/e/_DEO...
PCB mount screw-in stabilizers: s.click.aliexpress.com/e/_DDB...
PCB mount clip in stabilizers: s.click.aliexpress.com/e/_Dk8...
Switches: s.click.aliexpress.com/e/_ALHz1f
Arduino Pro Micro: s.click.aliexpress.com/e/_9wc5dP
Diodes: s.click.aliexpress.com/e/_A20xL3
SK6812 mini-e LEDs: s.click.aliexpress.com/e/_9IoeIz
WS6812 3535 LEDs: s.click.aliexpress.com/e/_AUtpzB
USB-C Port: s.click.aliexpress.com/e/_9vWz2h
My reflow and solder station: s.click.aliexpress.com/e/_9uwP45
Want to support me directly and look extra stylish? Check out my merch: merch.datulab.tech
Support me (for free) while shopping online (affiliate links):
-----------------------------------------------------------------------------------------------------------------
Aliexpress: s.click.aliexpress.com/e/b3a0ISl6
GearBest: www.gearbest.com/?lkid=11143361
Banggood: www.banggood.com/custlink/D3G...
Amazon (US): amzn.to/2pJVveJ
Amazon (DE): amzn.to/2pK1YFx
eBay.com: ebay.us/xd6vPa
eBay.de: ebay.us/AwHtLQ
CDKDeals: www.cdkdeals.com/ap/cdkey-home
Madethebest: www.madethebest.com?aff=40
-----------------------------------------------------------------------------------------------------------------
My links:
-----------------------------------------------------------------------------------------------------------------
Instagram: / datulabtech
Website: datulab.tech
Store: store.datulab.tech
Builds.gg: builds.gg/users/datulabtech-8...
Thingiverse: www.thingiverse.com/DatulabTech
Github: github.com/datulab
E-Mail: info@datulab.tech
-----------------------------------------------------------------------------------------------------------------
00:00 Intro
00:31 PCBWay
01:10 Overview
02:34 Arduino Firmware Basics
15:39 QMK Overview
18:27 What you need
19:22 QMK Structure
20:31 config.h
23:03 Keyboard.c
23:56 Keyboard.h
24:50 Rules.mk
25:55 Keymaps
29:31 Compiling
31:07 Programming
34:18 Outro - Наука та технологія
Great video, I learned a lot! I dug a bit into the QMK source code, and can offer some further context to the custom_keycodes enum. Deep in the builtin Quantum libraries a bunch of unique keycode IDs for unusual keys (music buttons, RGB, joysticks, pianos, etc.) are already defined, with "safe_range" being the last element. When you say "my_key1 = safe_range, my_key2, my_key3,..." that generates a sequence of unique keycode IDs (n,n+1,n+2,...) which starts counting from the end of that section, essentially appending your custom keycode IDs to the list of already known IDs. That way you can reference them the same as any other key and you're guaranteed not to have two key definitions overlap each other
Always enjoy your enthusiasm and realistic comments. Keep going!
Seems like RGBLIGHT_LIMIT_VAL corresponds to VALUE in HSV colour space. Is there any calculation we can perform to work out the theoretical total current load for n number of RGB LEDs in a KB?
Is it something like "(RGBLIGHT_LIMIT_VAL / 255) * MAX_AMPS_PER_LED * n "? That assumes that the amps is linear with brightness, which is not the case. Like a 50% brightness will be < 50% current draw of the LED right?