Keyboard firmwares for Atmel AVR and Cortex-M
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
di0ib ac70ea56ae Update 3 jaren geleden
pcb Update 3 jaren geleden
FLASH.bin mf68 3 jaren geleden
GNAP.jpg GNAP keyboard 3 jaren geleden
LED_FastGPIO.ino GNAP keyboard 3 jaren geleden
Makefile GNAP keyboard 3 jaren geleden
config.h GNAP keyboard 3 jaren geleden
gnap.bin mf68 3 jaren geleden
keymap_common.h i75, cleanup keymaps 3 jaren geleden
keymap_gnap.c update keymap 3 jaren geleden
led.c mf68 3 jaren geleden
matrix.c i75, cleanup keymaps 3 jaren geleden
pcb-front.png GNAP keyboard 3 jaren geleden Update readme 3 jaren geleden
schematic.png GNAP keyboard 3 jaren geleden

GNAP! keyboard firmware

GNAP! 1.0 Assembled

GNAP! dual matrix, dual controller. Per key LED control, reactive lighting. GNAP! 1.0 PCB Front GNAP! 1.0 PCB Schematic

Dual Pro Micro’s. One running TMK, the other running an Arduino sketch driving the LEDs. Pro Micro’s are connected to each other via hardware serial UART.


Rows D1, D0, D4, C6 
Cols D7, E6, B4, B5, B6, B2, B3, B1, F7, F6, F5, F4

keymap_gnap.c contains functions to send bytes to the LED controller. The Arduino code interprets these to change modes or brightness.

//GNAP keymap functions
void gnaplight_step(void) {

void gnaplight_toggle(void) {

\tmk_core\common\keyboard.c was modified to send the row/column of the key being pressed encoded as as single byte over the serial link to the LED controller.

                //send single byte with value of row column

The example Arduino sketch LED_FastGPIO.ino uses the fastGPIO and TimerOne libraries. These can be installed with the Library manager.

FastGPIO TimerOne