What is SpaceFN and why you should give it a try
The SpaceFN concept - setting up your space key as a layer switch when held - is probably one of the most useful tweaks in the keyboard hobby. Let me explain how it works. My SpaceFN article on kbd.news made some rounds recently - quite surprisingly given the age of this concept. This piece you're reading is a condensed version of the full post. If you're left with unanswered questions, you'll most likely find the info you're looking for in the original write-up. On my imaginary top list of the most useful keyboard features, tweaks and hacks, SpaceFN would deserve a podium finish for sure. But what makes it so special? In short: SpaceFN is easy to implement, easy to learn, costs nothing, can be used with any keyboard, and can improve your productivity instantly. I will list its benefits below, but can state right at this point that the SpaceFN concept, setting up your space key as a layer switch when held, is clearly one of the most useful tweaks in the keyboard hobby....
Apr 30, 2024
PCB: http://dirtypcbs.com/view.php?share=14162&accesskey=f429cad9a82d1292b1013e43a49ba001
Firmware: https://github.com/VinnyCordeiro/tmk_keyboard
The PCB provided on this buy (or at least the one on the previous buy) is based on Microchip's PIC architecture. I have used the ATmega32U2 microcontroller, which uses Atmel's AVR architecture. They are not compatible with each other.
1x ATmega32U2 TQFP32 16x 1N4148 SMT Diodes 4x 0805 SMD resistors -R1&2 - 22 Ohms -R3 - 10k Ohms -R4 - Not connected (I think), see note 1x 16Mhz through-hole crystal 1x button switch 4x Capacitors SMD: -C1 - 10uF -C2 - 1uF -C3&4 - 20uF 2x 20pf 0805 SMD capacitors 1x Mini USB 5 pin female Jack Plug
Note: R4 is connects to pin PD7 on the ATmega Functions of this pin from the datasheet: -HWB/TO/INT7/CTS, Bit 7 HWB, Hardware Boot : The PD7 pin can serve as TO, Timer/Counter0 counter source. INT7, External Interrupt source 7: The PD7 pin can serve as an external interrupt source to the MCU. CTS, USART1 Transmitter Flow Control. This pin can control the transmitter infunction of its state.
Here's a picture of the board: https://i.imgur.com/9ZKQ9Mr.jpg?1