PyKey44 Ergo Keyboard

by JPConstantineau

Image of Board

The PyKey44 is a custom programmable mechanical keyboard with a compact ergonobic layout similar to the popular Atreus. The PyKey44 uses mechanical switches Kailh Choc type). The keys are hot-swap socketed and have an individual underglow RGB LED which can be turned on.

Since this is a Hot Swappable Switches keyboard, you can choose the Kailh Choc switches as well as the keycaps you prefer. You can even mix and match switches for the ultimate customization.

Features

  • Powered by RP2040
  • Per key RGB LEDs (NeoPixels)
  • Kailh hot-swap switch sockets (for Cherry MX-compatible switches)
  • Included buzzer for audio feedback
  • Powered and programmable via USB-C

About the RP2040

The RP2040 microcontroller is a dual core ARM Cortex M0+ running at up to 133Mhz. It bundles in 264kB of SRAM, 30 multifunction GPIO pins (including a four channel 12-bit ADC), a heap of standard peripherals (I2C, SPI, UART, PWM, clocks, etc), and USB support.

Powered by CircuitPython

It’s not just a keyboard but also a USB drive containing the firmware as CircuitPython files. Its Python code can be changed with any text editor and executed simultaneously, which makes it super easy to customize the keymap, add macros or add a new function. This keyboard is fully programmable via CiruitPython so there’s no software to install, just plug it in, change keymaps and start building macros. Since all of the programming happens on the keyboard Python files, you can plug it into any computer and take your custom layouts wherever you go.

Learn More

Purchase

The PyKey44 is available on the Tindie store if you are interested in getting one.

Contribute

Have some info to add for this board? Edit the source for this page here.

CircuitPython 7.2.0-alpha.1

This is the latest unstable release of CircuitPython that will work with the PyKey44 Ergo Keyboard.

Unstable builds have the latest features but are more likely to have critical bugs.

Release Notes for 7.2.0-alpha.1

Built-in modules available: _bleio, adafruit_bus_device, adafruit_pixelbuf, aesio, alarm, analogio, atexit, audiobusio, audiocore, audiomixer, audiomp3, audiopwmio, binascii, bitbangio, bitmaptools, bitops, board, busio, countio, digitalio, displayio, errno, fontio, framebufferio, getpass, gifio, imagecapture, json, keypad, math, microcontroller, msgpack, neopixel_write, nvm, onewireio, os, paralleldisplay, pulseio, pwmio, qrio, rainbowio, random, re, rgbmatrix, rotaryio, rtc, sdcardio, sharpdisplay, storage, struct, supervisor, synthio, terminalio, time, touchio, traceback, ulab, usb_cdc, usb_hid, usb_midi, vectorio, watchdog

Absolute Newest

Every time we commit new code to CircuitPython we automatically build binaries for each board and language. The binaries are stored on Amazon S3, organized by board, and then by language. Try them if you want the absolute latest and are feeling daring or want to see if a problem has been fixed.

Past Releases

All previous releases are listed on GitHub, with release notes, and are available for download from Amazon S3. They are handy for testing, but otherwise we recommend using the latest stable release. Some older GitHub release pages include the same binaries for downloading. But we have discontinued including binaries as assets on newer release pages because of the large number of files for each release.

BROWSE GITHUB