keybrd library is an open source library for creating custom-keyboard firmware.
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
このリポジトリはアーカイブされています。 ファイルの閲覧とクローンは可能ですが、プッシュや、課題・プルリクエストのオープンはできません。

tutorial_4c_split_keyboard_with_IOE_notgit.md 3.4KB

keybrd Tutorial 4 - split keyboard with I/O Expander

When you finish this tutorial you will be able to be able to modify a 2-matrix keybrd sketch to suite your own split keyboard design.

Overview of split keyboard with I/O Expander

The breadboard in this picture models a split keyboard. breadboard keyboard with 2 rows and 4 columns of keys

The breadboard’s four bus strips are used as rows. Two rows (blue bus strips) are connected to the microcontroller. Two rows (red bus strips) are connected to the shift registers.

The breadboard’s four bus strips are used as rows. Two rows connect to a microcontroller, and two rows connected to a I/O expander.

The I/O expander has a small notch on one end, which identifies pin 1. In the picture, pin 1 is on the right end.

The microcontroller and I/O expander are connected by 4 jumper wires:

  • ground
  • power
  • Serial CLock signal (SCL)
  • Serial DAta signal (SDA)

A decoupling capacitor on the power pin dampens noise coming in through the power and ground wires.

The microcontroller and I/O expander communicate via I2C bus, which consists of two signals: SCL and SDA. Two resistors pull-up voltage on the SCL and SDA.

I/O expander I2C address is configured by hardware pins. The MCP23018 with all address pins grounded has an I2C address of ?? todo.

The I/O expander has two ports. Each port has eight pins. One port is connected to the matrix’s rows. The other port is connected to the matrix’s columns.

Building a split keyboard with I/O Expander

We will build a split keyboard adding parts to the basic breadboard keyboard described in tutorial_1_breadboard_keyboard.md

todo add schematic

Continuing from the basic breadboard keyboard instructions:

  1. Insert the I/O expander

  2. Install I/O expander power

    • ground
    • power
    • capacitor
  3. Install I2C bus

    • SCL
    • SDA
    • pull-up resistors on SCL and SDA
  4. configure I2C address

  5. Assemble key matrix as shown in the picture.

  6. Connect I/O expander ports to matrix rows and columns

Sketch for split keyboard with I/O Expander

The keybrd_4_split_with_IOE_annotated.ino sketch explains how the I/O Expander works on a keyboard.

Creative Commons License
keybrd tutorial by Wolfram Volpi is licensed under a Creative Commons Attribution 4.0 International License.
Permissions beyond the scope of this license may be available at https://github.com/wolfv6/keybrd/issues/new.