projects:electronics:mechanical_keyboard

Mechanical Keyboard

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.

StatusDate
Start 04.03.2016
NameRole
t42 Initiator
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

* CANCEL Choose if include an usb hub

* CANCEL Find USB Hub x2

[✓ t42, 2016-07-03] Design Electronic schema

[✓ t42, 2016-07-03] Command componnents

  • [✓ t42, 2016-07-03] All keyswitchs (65)
  • [✓ t42, 2016-07-03] All keycaps (65)
  • [✓ t42, 2016-07-03] All diode (65)
  • [✓ t42, 2016-07-03] All LEDs (65)
  • [✓ t42, 2016-07-03] Transistor and resistance
  • [✓ t42, 2016-07-03] The arduino

[✓ t42, 2016-07-03] Design the PCB

[✓ t42, 2016-09-08] Command the PCB

[✓ t42, 2016-09-08] 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

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
  • de t42