Close
0%
0%

Keyboard Development Boards (QMK-VIA)

STM32F411 (LQFP64) and RP2040 Modules for QMK and VIA Keyboard Software Development

Similar projects worth following
Keyboard Development Modules:

Development boards to assist in development of QMK/VIA based keyboards from scratch using either an STM32F411 (LQFP64 72mm x 32mm) or RP2040 (42mm x 49mm) Revision 2 is 49x24.5mm with 34 pin connector.

Optional:
A bare-bones basic Keyboard which includes, HS Connectors, Diodes, RGB Leds, Caps Lock Led, Rotary Encoder and RGB leds (∼80%, 98 keys including 10 macro keys), is included in the project. It can be used with any development module having enough GPIOs. The basic Keyboard PCB prototypes have been tested and are perfect, see GitHub link for files.

Module to Keyboard connection via a 30 pin 1.27mm pitch connector or 30 pin FFC / FPC ribbon connector. The second revision removed the test RGB leds and updates connector to 34 pin. Two of the extra pins are to supply additional current as a single ribbon strand is a little lacking.

Fully functioning... 19 Feb 2025

Hardware: Micro, Keys, etc...

Micros: STM32F411RETx & RP2040

Software Support: QMK/VIA

Switches: MX type hot-swappable

Keys: 98 Keys + Encoder Switch (includes 10 Dedicated Macro Keys)

Rotary Encoder: Volume / RGB.

Tools:

  • Kicad version 8.0.6+1, release build...
  • Plugins: KLE Placer (saves so much time with layout, a must have).
  • QMK Configurator

Other references:

keyboard-layout-editor.com

See GitHub Kicad files and Code...

Added a 3d printed case (in two parts), tweaking before uploading. It has a section to hold the module board secure and should be the most economical solution. Files for a FR4 plate are also available, they cost about €5 from PCB Way...

stm32_64pin_dev_board.kicad_pcb_bom.csv

Current BOM (may change)...

Comma-Separated Values - 2.54 kB - 12/26/2024 at 14:39

Download

  • Final Design Module PCB (Module34C)

    Michael O'Toolea day ago 0 comments

    The original module with the built in RGB test Leds is perfect for developing code but the two different connectors aren't really necessary if after the development you then use it to control/make an actual keyboard.

    I have upgraded the module to use a single 34 pin connector and replaced the two switches with pin headers. The extra pins also allow adequate current for the RGB Leds, considering your PC's USB supplies 2 Amps Max @ 5V.

    In tests at full brightness, the keyboard draws just under 1.2 Amps from the USB. Each pin on the connector is rated at about 1 Amp (we now use 3 pins for supply and ground). 

    There are two major advantage to using a Module and Basic (bare-bones) Keyboard as apposed to getting a fully assembled keyboard...

    1. Reduced Costs as Keyboard can be assembled by hand (parts are easy enough to solder)...
    2. The fully assembled Module is relatively inexpensive, hand assembly would be very difficult...

  • RP2040 Keyboard Development Module and Basic Keyboard Test Results

    Michael O'Toole02/13/2025 at 15:32 0 comments

    As the new Basic Keyboard PCB arrived I set about testing it with the Keyboard Development Module (RP2040version), and I can report a complete success, both worked perfectly...

    1. Tested current Software ✓
    2. The new "Basic Keyboard PCB" ✓ (change code to reverse volume up/down)...
    3. RP2040 Development Module ✓
    4. Keyboard Functionality ✓
    5. Macros ✓
    6. RGB ✓ (need to edit code to change RGB position)...

    I tested the basic keyboard functionality with various programs and VIA support on the usevia web site...

  • Another Dev Module

    Michael O'Toole02/11/2025 at 00:09 0 comments

    Base on Minimal Design Example REV2 on raspberrypi.com

    I added USB-C and 30 pin keyboard to attach to my basic keyboard PCB.

    What can I say, I like tinkering ... :)

  • New ISO Layout

    Michael O'Toole01/27/2025 at 15:23 0 comments

    Testing the new RP2040 Module in usevia.app

    Note, encoder in now on the  right, it replaces the pause keyboard button as it is never used...

  • RP2040 Keyboard Development Module

    Michael O'Toole01/25/2025 at 17:52 0 comments

    Assembled boards arrived today (from PCBWay). A quick test reveals I didn't screw up as they worked perfectly, including the RGB.

    The 2040 having more available GPIO's simplifies the design process and with the driver:vendor option RGB is a breeze and the flashing is easy with drag and drop, definitely the way to go for your first keyboard project.

    One thing for certain, without a microscope or camera with zoom, hand soldering these tiny devices would be a major challenge for anyone and not recommended for your average hobbyist or old engineers like me.

    The cost of 5 boards (3 completely assembled and 2 empty), including courier amounted to $87.34. That's about $22 per assembled board which is as good as it gets... I should have got all the boards assembled, I will in future.

    Next Step:

    It would be tempting to just add the electronics from the dev board to the main keyboard PCB and call it a day, but as I now have 3 perfectly good RP2040 Keyboard Modules, I think I go with a basic keyboard PCB, that is a board with only the switches, diodes, RGB leds and the 30 pin connector. This also has the advantage of being able to repurpose it for use with other modules.

    There is no difficulty in hand assembling the bare-bones board as the diodes, hot-swappable connectors and RGB are easy enough to hand solder, thereby reducing the overall cost.

  • Bare-bones Keyboard II

    Michael O'Toole12/27/2024 at 07:19 0 comments

    Working on a new version of the bare-bones board

    Improvements:

    • Changed RGB to SK6812MINI RGB (much easier to hand solder).
    • Moved Rotary Encoder to right side in place of the pause button (as it is rarely, ever ever used).
    • Pin compatible connector, serves both STM32 and RP2040 development modules.

    Reasoning:

    The bare-bones keyboard PCB is intended for development along with either the STM32 or RP2040 development modules. My main aim was to simplify development and limit potential problems by separating development into two parts, then combine to create the final keyboard.

    Nothing is wasted, as I can combine any module with a bare-bone board to create a working keyboard.

    I will update this log when I complete the new board...

  • Additional Images

    Michael O'Toole12/26/2024 at 14:27 0 comments

    Place holder for additional images 

    Cols/Rows numbering from keyboard-layout-editor.com and usevia app (encoder on left)

  • Keyboard Expander

    Michael O'Toole12/21/2024 at 01:50 0 comments

    Expands the 1.27" connector to 2.54" for ease of testing (the 1.27" connector is too small to safely probe). The expander board also includes an optional 30 pin FFC / FPC ribbon connector as an optional method to connect future boards. All Kicad files will be published after validating operation.

  • RP2040 Keyboard Development Module

    Michael O'Toole12/14/2024 at 11:13 0 comments

    Added an RP2040 Development Board to project.

    Fully functioning prototype, used in all my testing up to end of February 2024.

    This module is for testing RP2040 based keyboards and supports all the available GPIO's. It includes four RGB leds for general testing of RGB code but can drive a led strip or the keyboard RGB via the 3 pin connector. 

    A 30 pin 1.27" pitch connector connects to the test keyboard consisting of 99 MX Switches, 99 Matrix Diodes, 99 RGB leds and no processor... it is used for testing both STM32F411 and RP2040 modules. 

    Note, the 1.27"connector is too small for real world testing, so I have added an expansion/conversion board to convert from 1.27" to 2.74" and also include a 0.1" ribbon cable connector as an alternate connection method.

    In an ideal world, the keyboard connector would  have the same pin-out for both STM32F411 and RP2040.

    Revision 2.0 of the module removes RGB test leds as it intended to be used with the Basic Keyboard (no smarts/processor)...

    Revision 2.0 with 34 pin connector for more current (VBUS & GND doubled)...

  • usevia.app and other update

    Michael O'Toole11/17/2024 at 22:50 0 comments

    Echo Keyboards

    As I'm working on several keyboards, I grouped them under the brand name Echo Keyboards...

    Models are:

    • Ayla80 (10x10 matrix and Blackpill Module ... 80%)
    • Ayla II : 6x17 matrix and an STM32F411 (64 pin) Micro. 80%
    • Cashel: 6x20 matrix and an STM32F411 (64 pin) Micro. 100%
    • Mioke: 10x10 matrix STM32411 (48 pin) Micro. Number Pad with Macros.

    News:

    Finally worked out how to use keyboard-layout-editor.com correctly to generate the required code, I was just copying the raw data instead of downloading the json file which made life more difficult...

    This link solved most of my problems: https://www.caniusevia.com/docs/layouts

    I have created a new git repo for the current code: here

View all 12 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates