Outils pour utilisateurs

Outils du site


Mechanical Keyboard

Intro

This project have the goal to design and build a 5×13 mechanical keyboard. In the menu: Free (libre) firmware, Full BÉPO, macros, (auto-)backlight, USB Hub, Open Hardware main PCB and Open Hardware case.

Status, Peoples and Roles

StatusDate
Start 04.03.2016
NameRole
t42 Initiator

sources

Specifications

Size 5x13
Keymap Bépo
Keys switchs Cherry MX Brown
Keycaps 63 x "Row 4, Size 1x1" + 1 x "Row 4, Size 1x2.00"
Backlight 1 led by keys, auto-adjustment, pulse on type
USB hub NZXT IU01 ?
Captor Light sensor, for auto-backlight
Firmware GPL, reprogrammable
Main PCB and caseOpen Hardware Design: CERN Open Hardware Licence
Embeded chip Arduino Micro

Todos

* CANCEL Choose if include an usb hub

* CANCEL Find USB Hub x2

Design Electronic schema

Command componnents

  • All keyswitchs (65)
  • All keycaps (65)
  • All diode (65)
  • All LEDs (65)
  • Transistor and resistance
  • The arduino

Design the PCB

Command the PCB

Command case materials

Design the case

Build a prototype

Test electronical part of the prototype

Write the firmware

Print the layout on keycaps

Test laser printing for keycaps layout

Choose a font for printing

Design each key printing

Print the bépo layout with laser and paint it

Long running test (2 weeks

Write the build manual

Check the documentation and publish it officially

Notes

Use 1N4148 Diodes

Arduino Keyboard library: About keys

For simulate a key press, you call method “press()” from keyboard object. As input, you pass a char (ex: 'v') or a constant vulue for special key (ex: Shift Left). You don't use directly the scancode of the key you simulate. For exemple: You want to simulate the press of the key with scancode '10'. This key is 'q' on a US keyboard, but it is 'a' on a FR keyboard. When you call method “press()” from keyboard object, you don't call “keyboard.press(10)”. You call “keyboard.press('q')”. Arduino will get the corresponding scan code of the 'q' key on a US keyboard (10) and send it to host computer through USB cable. If the computer has FR keyboard as settings, “keyboard.press('q')” on the Arduino result with the char 'a' on the computer screen.

projects/electronics/mechanical_keyboard.txt · Dernière modification: 2017/10/10 05:18 par t42