element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Project Videos
  • Challenges & Projects
  • element14 presents
  • Project Videos
  • More
  • Cancel
Project Videos
Documents How to Build an Open Source Bluetooth Mechanical Keyboard -- Episode 619
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Project Videos to participate - click to join for free!
Related
Recommended
Engagement
  • Author Author: tariq.ahmad
  • Date Created: 6 Sep 2023 9:05 PM Date Created
  • Last Updated Last Updated: 7 Sep 2023 11:00 PM
  • Views 12750 views
  • Likes 12 likes
  • Comments 19 comments

How to Build an Open Source Bluetooth Mechanical Keyboard -- Episode 619

In this video, Clem creates a truly unique and open-source wireless keyboard from scratch. He emphasizes the importance of customization for true keyboard enthusiasts. Starting with the choice of mechanical switches, Clem opts for flat low profile KS27 Gateron Blue switches , showcasing his passion for the tactile feedback of mechanical keyboards.

Watch the Video:

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

Clem uses KiCad to design a custom PCB. Bluetooth connectivity is achieved by utilizing an ESP32-S3 as the main MCU. USB-C acts as the charging port and Serial output. 4 colorful LEDs provide feedback about the current state of the Keyboard and visually indicate if SHIFT-Alt/AltGr or SUPER/FN/GUI are pressed. The keyboard therefore has 4 freely programmable layers available for heavy customization. 

To ensure modularity, Clem integrates a flexible interconnect system between two PCBs, one holding the keyboard switches and the other housing the LiPo charging circuit. Both PCBs are interconnected via a universal bus, broken out on a Molex Premo-Flex connector and connected with a simple flat flex ribbon cable. The Premo-Flex connectors break out all power traces and UART connections so the keyboard can easily be used in future projects. He even offers the option for hot-swappable switches, making it adaptable to various preferences. 

image

The keycaps of this keyboard are unique, designed in FreeCAD to accommodate the low-profile switches. Clem prints them with raised letters and symbols on the inside for durability and visibility, even after extensive use. 

image

Finally, Clem dives into the firmware, which he codes from scratch using the Arduino IDE, with the help of the ESP32-BLE keyboard library and the Adafruit keypad library. The code allows for easy customization of the keyboard layout, providing a personalized typing experience. He also adds LED indicators for modifier keys, enhancing the user experience. 

image

One of the distinctive features of Clem's keyboard is its low-profile design, akin to laptop keys, resulting in a compact layout of around 60 keys. He also combines elements from both English and German keyboard layouts to suit his daily needs. The keyboard is powered by a LiPo battery with onboard charging circuit. 

image

Despite facing challenges, like voltage drop issues with LEDs, Clem perseveres and successfully creates an open-source Bluetooth keyboard with a custom layout, 3D-printed keycaps, and unique lighting features. 

Bonus Content:

  • GitHub:  https://github.com/mayermakes/00Keyboard
  • Download Code, ECAD and CAD

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

Bill of Material:

Product Name Manufacturer Quantity Buy Kit
MULTICOMP PRO Zero Ohm Resistor, Jumper, 0603 [1608 Metric], Thick Film, 100 mW, 1 A, Surface Mount Device Multicomp pro 60 Buy Now
BOURNS Small Signal Schottky Diode, Single, 40 V, 300 mA, 500 mV, 2 A, 125 °C BOURNS 60 Buy Now
MOLEX USB Connector, USB Type C, USB 3.1, Receptacle, 24 Ways, Surface Mount, Right Angle MOLEX 1 Buy Now
STMICROELECTRONICS ESD Protection Device, 17 V, SOT-23, 6 Pins, USBLC STMICROELECTRONICS 1 Buy Now
MOLEX FFC / FPC Cable, Premo Flex Jumper, 10 Core, 1 mm, Same Sided Contacts, 6 ", 152 mm, White MOLEX 1 Buy Now
MOLEX FFC / FPC Cable, Premo Flex Jumper, 10 Core, 1 mm, Same Sided Contacts, 2 ", 51 mm, White MOLEX 1 Buy Now
MOLEX FFC / FPC Board Connector, 1 mm, 10 Contacts, Receptacle, Easy-On 52207, Surface Mount, Top MOLEX 1 Buy Now
MOLEX FFC / FPC Board Connector, ZIF, 1 mm, 10 Contacts, Receptacle, Easy-On 52271, Surface Mount, Bottom MOLEX 1 Buy Now
MIKROELEKTRONIKA Rechargeable Battery, 3.7 V, Lithium Polymer, 2 Ah, JST MIKROELEKTRONIKA 1 Buy Now
 

Additional Parts:

ESP32-S3-Wroom1
Keycaps 3d printed with MAYER MAKES ENGINEERING RESIN + Blue Dye
PCB provided by Aisler.net use code „thanks_mayermakes_23“ for a discount.
Switches used are Gateron Blue KS27,  sockets are random parts i found by searching for the switches.

element14 presents

element14 presents  |  About Clem  |  Project Videos

  • Low-profile keyboard
  • firmware development
  • Personalized typing experience
  • no qmk
  • keyboard
  • Keycap customization
  • ESP32 S3 microcontroller
  • Wireless keyboard project
  • Maker's journey
  • 3D-printed keycaps
  • Keyboard layout customization
  • diy bluetooth keyboard
  • Mechanical switches
  • Electronics project tutorial
  • DIY form scratch
  • mechanical keyboard
  • mechanical keyboard diy
  • friday release
  • DIY keyboard
  • Custom PCB design
  • friday_release
  • eps32s3
  • Open-source Bluetooth keyboard
  • Keyboard enthusiast
  • keyboard firmware
  • e14p_CMM
  • Share
  • History
  • More
  • Cancel
Actions
  • Share
  • More
  • Cancel
  • Sign in to reply

Top Comments

  • scottiebabe
    scottiebabe over 1 year ago +3
    I'll let you in on a little secret from the cheapskate queen. Search "bargains" on newark.com A few years ago you would see nothing but the "Red Stars" then just choose something close enough for your…
  • mayermakes
    mayermakes over 1 year ago +1
    Don't forget to watch the 3 bonus video if you are interested in the details of each section! What keyboard layout is your favourite?
  • kmikemoo
    kmikemoo over 1 year ago +1
    mayermakes Really cool keyboard. I really like that the key symbols will never wear off! That's brilliant.
Parents
  • iLikeDarbo
    iLikeDarbo over 1 year ago

    Great project Clem and thanks for sharing!

    For keycaps, there is a great OpenSCAD tool put together by riskable. It's on github at Keycap Playground

    The keycaps are fully customisable and there are presets for different profiles and switch stems

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Comment
  • iLikeDarbo
    iLikeDarbo over 1 year ago

    Great project Clem and thanks for sharing!

    For keycaps, there is a great OpenSCAD tool put together by riskable. It's on github at Keycap Playground

    The keycaps are fully customisable and there are presets for different profiles and switch stems

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Children
  • mayermakes
    mayermakes over 1 year ago in reply to iLikeDarbo

    great ,thanks for the link!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube