V3.250814.0
Based on commit d42d556
.
Use the *.hex
and *.eep
files to flash. *.hex
is for the firmware itself, and *.eep
is for the default 75% keymap EEPROM.
The *.lss
file is the assembly listing file for manual machine code inspection.
Breaking Changes
Hardware
none
Software
none
New Features
- Transition from 32KRO to True NKRO by using bitfields to represent each key.
Fixes
- CRITICAL: The keyboard may violate 1000 Hz polling rate when all 81 keys are physically installed.
- Fixed "by itself" when transitioning to True NKRO as operations are more efficient with bitfields than appending each keycode byte to the HID report array.
Known Issues
none
Technical Details
Pin Assignments
AVR | Pro Micro | Function | Notes |
---|---|---|---|
PD0 | TXO | Row Mux S0 | |
PD1 | RXI | Row Mux S1 | |
PD2 | 2 | Row Mux S2 | |
PD3 | 3 | Row Mux S3 | |
PF4 | A3 | Key Mux S0 | |
PF5 | A2 | Key Mux S1 | |
PF6 | A1 | Key Mux S2 | |
PF7 | A0 | Key Mux S3 | |
PD4 | 4 | Knob "CLK" | aka signal "A", pulled high |
PD7 | 6 | Knob "DT" | aka signal "B", pulled high |
PC6 | 5 | Knob Button | pulled high |
PE6 | 7 | Caps Lock LED | |
PB4 | 8 | Num Lock LED | |
PB5 | 9 | Scr Lock LED | used as debug bit ifDEBUG_BITS is defined. |
PB6 | 10 | SPI /SS | |
PB3 | 14 | SPI MISO | |
PB1 | 15 | SPI SCLK |
Memory Usage
Section | Bytes | Usage |
---|---|---|
Flash | 12768 | 44.5% of 28672 |
SRAM | 1452 | 56.7% of 2560 |
Binaries are compiled with the following platformio.ini
:
[env:sparkfun_promicro16]
platform = atmelavr
board = sparkfun_promicro16
build_flags =
# Compilation Criticals
-D F_CPU=16000000UL
-D F_USB=16000000UL
-D BOARD=BOARD_MICRO
-D USE_STATIC_OPTIONS=0
# Warnings/Errors
-Wall
-Wextra
-Wno-unused-parameter
# Optimization
-Ofast
# Development/Debug
# -D PROTO_BOARD
# -D DEBUG_BITS
upload_flags =
# Erase EEPROM
# -e