Which Controllers Are Compatible With Qmk Firmware?

Which Controllers Are Compatible With Qmk Firmware?

Common controllers for keyboard building 2021

Inexpensive controllers are 1 main factor in making keyboard building accessible and affordable for people. From this aspect, a Chinese Pro Micro from Aliexpress is hard to beat with its price tag of virtually
3$
$v. However, on larger keyboards you may run out of the available pins and you have to consider other controllers.

Hither is a list of the most mutual controllers used by keyboard builders (whorl for caption and details):

Name Pins Price Ali MCU Mem Avail. RAM ROM Desc.
Pro Micro xviii(+2) twenty$ three$ Atmega32U4 32K 28K 2.5K 1K
Puchi-C 23? €17 Atmega32U4 32K 28K 2.5K 1K
Teensy two 25 9$ 7.five$ Atmega32U4 32K 28K 2.5K 1K 30×18
Teensy 2.0++ 46 24$ 7$ Atmel90USB1286 128K 120K 8K 4K 51×18
Raspberry Pi Pico 26 4$ RP2040 (dual-core Arm Cortex-M0+) 256K ?Grand ?K ?K ?
Adafruit KB2040 Keeboar 18+2 nine$ RP2040 (dual-core Arm Cortex-M0+) 256K ?M ?K ?K ?
RP2040-Zero 20+9 $v $11 RP2040 (dual-cadre Arm Cortex-M0+) 256K ?K ?1000 ?K ?
Proton C 23+ane 18$ STM32F303CCT6 256K 248K 40K 4K 3.3V!
Aristocracy C 24 18$ Atmega32U4 32K 28K ii.5K 1K
C Pro Micro ? ? Atmega32U4 32K 28K 2.5K 1K
nice!nano 25 25$ nRF52840 256K 1M ? wireless with charging option, 3.3V
ShiroMicro ? ? Atmega32U4 32K 28K ii.5K 1K Mid-mount USB-C
Arduino Nano 14 22? 15$ 2$ Atmega328P 32K 28K 2K 1K 45×18 – just for reference
Goldfish 23 Atmega32U4 32K 28K 2.5K 1K

“Controller”

The term “controller” is used quite ambiguously in keyboard building. Both
microcontrollers
and
evolution boards
are referred to by this proper noun.

Read:  How to Update Firmware on My Router

Microcontroller

The microcontroller is the cardinal chemical element of your circuit. The brain of your project, a really fascinating little thing.

A microcontroller is similar a computer on its own with integrated CPU, memory and storage space all in a tiny socket (7x7mm). It runs the
firmware
(your program) to find keypresses.

The nigh popular microcontrollers for keyboard projects present are the
Atmega32U4
and the
RP2040.

The
Atmega32U4
was the get-go popular ane offering integrated USB connectivity. An electronic project can be recognized as an bodily keyboard by your Bone without the need for an external USB interface to program it.

The
RP2040
is a very affordable chip. It’s quite an overkill for a keyboard but it’s able to run
CircuitPython and KMK
(eastward.m.
you lot can set it up in like two minutes).

Other microcontrollers are also available, but their features (higher frequency, larger memory, more pins) are more often than not
overkill
for a small keyboard project.

Development lath (too “controller”)

Development boards brand programming the microcontroller and access of I/O pins very easy.

Colloquially known as “controllers”, they are microcontrollers put on a pocket-size slice of PCB surrounded by all the necessary stuff (USB connector, voltage regulator, clock crystal, status LEDs, resistors, capacitors etc.) to be able to piece of work and communicate with information technology right out of the box.

There are several development boards for keyboard building with
Pro Micro
being the cheapest ($3) and probably well-nigh popular. For years, the Teensy family was your option when you ran out of the pins of a Pro Micro (Pro Micro vs. Teensy).

Read:  How to Fix Hp Laserjet 2605dn After Firmware Update
Teensy 2.0 (left) vs. Pro Micro (right)
Teensy ii.0 (left) vs. Pro Micro (right)

More expensive development boards (east.m. Elite-C, Proton C) differ mostly in the connector blazon (USB micro vs. USB-C) and the number of pins.

However, early 2021, a new contender entered the stage: the Raspberry Pi Pico board and the RP2040 microcontroller, plus the
Sparkfun
and
Adafruit boards
using the same
RP2040 bit.

Raspberry Pi Pico with RP2040
Raspberry Pi Pico with RP2040

The RP2040 is cheap, feature-rich and style more powerful than an Atmega32U4. At start sight it may seem an overkill for a keyboard project. Nevertheless, combined with CircuitPython and KMK firmware, information technology allows a different workflow for people regularly updating their keymaps.

The Pico lacks QMK support at the moment.

Pins

The number of easily accessible GPIO pins is probably the about crucial property of a controller/evolution lath in a custom keyboard project.

The number of pins defines the
maximal number of keys
in the keyboard matrix. While the Atmel32U4 has 26 I/O pins, merely 18 of those are hands accessible on Pro Micro.

To build
larger keyboards
you may demand to
hack the Pro Micro
or choose some other development board with more than pins.

Pinout

A pinout is a map of pin names and functions.

Pins are referenced by names (eg. A2, E5) in your firmware lawmaking, in documentations and data sheets.

Confusingly, pin names of the microcontroller and markings on the development board’s PCB may differ. Fortunately, nice pinouts are there to help.

Here is a
Atmel32U4 pinout
with pin names.

Trends & History

2019-2020

Diverse kits and builds appeared with
exposed through-pigsty components
featuring the good old
Atmega328P. Because of the lack of integrated USB support, these projects utilize
5-USB
and
USBaspLoader
to integrate the USB interface part in the bootloader.

Read:  Tp Link Archer C5 Says Wrong Password After Update Firmware

2021

Raspberry entered the microcontroller scene with their
RP2040
and the Pi Pico board. Several boards followed (by Sparkfun and Adafruit) featuring this bit.

Open source development boards

Pro Micro

The SparkFun version.

C Pro Micro

An
USB-C Pro Micro version
available at
booth.pm.

Goldfish

Some other Pro Micro pinout compatible board with mid-mounted USB C, this time past Dr_Derivative:
geekhack thread
and
GitHub repo.

23 IO pins, sturdy through-hole USB C connector, Pro Micro compatible pin footprint.

nRFMicro

Added Li-Po charger, USB Type-C and a physical ON/OFF switch.
GitHub repo

ShiroMicro

ShiroMicro
is a ProMicro clone with Mid-Mount USB Type-C connector by /u/elfmimi.

Moving picture:
https://imgur.com/a/7PU1Kje

Other alternatives:https://github.com/joric/nrfmicro/wiki/Alternatives

Alvaro

Pro Micro-uniform 32u4 Breakout Board. A heavily-modified Goldfish Rev. C. While the schematic, basic layout, pinout is essentially the aforementioned, information technology uses 0603 components instead of 0402 and has another changes.

https://geekhack.org/alphabetize.php?topic=109111.0


Which Controllers Are Compatible With Qmk Firmware?

You May Also Like