Skip to content

Commit 58b2f77

Browse files
committed
Electrical/Keyboard: Add pinout
Signed-off-by: Daniel Schaefer <dhs@frame.work>
1 parent 2e9c2ec commit 58b2f77

File tree

1 file changed

+106
-0
lines changed

1 file changed

+106
-0
lines changed

Electrical/Keyboard/README.md

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# Framework Laptop 16 Keyboard
2+
3+
We are shipping 4 different keyboard types:
4+
5+
- RGB ANSI Keyboard
6+
- White backlight ANSI/ISO Keyboard
7+
- White backlight Numpad
8+
- RGB Macropad
9+
10+
All of them are powered by a Raspberry Pi RP2040 microcontroller.
11+
12+
## Pinouts
13+
14+
Below are the pinouts of the mass production units.
15+
16+
### RP2040 MCU
17+
18+
| Pin | Name | To | Direction | Config | Modules |
19+
|----------|------------|---------------|-----------|--------------------|------------------------|
20+
| GPIO0 | Sleep | EC | IN | Pullup, low active | All |
21+
| GPIO1 | MUX_A | SGM48751 Mux | OUT | | All |
22+
| GPIO2 | MUX_B | SGM48751 Mux | OUT | | All |
23+
| GPIO3 | MUX_C | SGM48751 Mux | OUT | | All |
24+
| GPIO4 | MUX_ENABLE | SGM48751 Mux | OUT | | All |
25+
| GPIO5 | BOOT_DONE | | | | All |
26+
| GPIO6 | Reserved | KSI5 | High-Z | Unused | All |
27+
| GPIO7 | Reserved | KSI5 | High-Z | Unused | All |
28+
| GPIO8-23 | KSO1-15 | | | | All |
29+
| GPIO24 | CAPS_LED | Capslock LED | OUT | High Active | RGB & White Keyboard |
30+
| GPIO25 | BACKLIGHT | Backlight LED | OUT | High Active | White Keyboard, Numpad |
31+
| GPIO26 | I2C1_SDA | IS31FL3743A | IN/OUT | | RGB Keyboard, Macropad |
32+
| GPIO27 | I2C1_SCL | IS31FL3743A | OUT | | RGB Keyboard, Macropad |
33+
| GPIO28 | ANALOG_IN | ISGM48751 Mux | IN | KSI scan ADC Input | All |
34+
| GPIO29 | SDB | IS31FL3743A | OUT | High active | RGB Keyboard, Macropad |
35+
36+
37+
### IS31FL3743A LED Controller
38+
39+
[Documentation](https://www.lumissil.com/applications/industrial/appliance/major-appliances/range-hood/is31fl3743a)
40+
and [Datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3743A_DS.pdf)
41+
of this controller are publicly available.
42+
43+
On the RGB keyboard two controllers are needed to drive all LEDs. The Macropad only has a single one.
44+
45+
| Pin | To | Direction | Config |
46+
|-----------|-------------|-----------|-----------------|
47+
| SDA | RP2040 | IN/OUT | |
48+
| SCL | RP2040 | IN | |
49+
| SDB | RP2040 | IN | High active |
50+
| ISET | | | |
51+
| ADDR | | | |
52+
| SW1-SW9 | LED | OUT | See table below |
53+
| SW10-SW11 | NC | | Unused |
54+
| CS1-CS18 | LED | OUT | See table below |
55+
| SYNC | IS31FL3743A | IN/OUT | |
56+
57+
I2C Addresses:
58+
59+
- RGB Keyboard: 0x20 and 0x23
60+
- Macropad: 0x20
61+
62+
Below is the table describing how the LEDs are placed on the matrix
63+
and how they are wired up to the LED controller.
64+
65+
- X is the X location in the matrix (from left to right)
66+
- Y is the Y location in the matrix (from bottom to top)
67+
- ID is the numerical identifier of the LED
68+
- I2C is the address of the controller, either 0x20 or 0x23
69+
- Address and Page describe the memory location in the IS31FL3743A's registers
70+
- SW and CS are the pins
71+
72+
Please refer to the controller's datasheet for additional information about how to
73+
program it.
74+
75+
###### RGB Keyboard
76+
77+
Please refer to the reference code:
78+
79+
- [LED Mapping](https://github.com/FrameworkComputer/qmk_firmware/blob/lotus/keyboards/framework/laptop16/ansi/ansi.c)
80+
81+
###### Macropad Keyboard
82+
83+
- [LED Mapping](https://github.com/FrameworkComputer/qmk_firmware/blob/lotus/keyboards/framework/laptop16/macropad/macropad.c)
84+
85+
### Keyboard Matrix
86+
87+
Please refer to the reference code:
88+
89+
- ANSI
90+
- [Matrix](https://github.com/FrameworkComputer/qmk_firmware/blob/lotus/keyboards/framework/laptop16/ansi/info.json)
91+
- [Keymap](https://github.com/FrameworkComputer/qmk_firmware/blob/lotus/keyboards/framework/laptop16/ansi/keymaps/default/keymap.c)
92+
- ISO
93+
- [Matrix](https://github.com/FrameworkComputer/qmk_firmware/blob/lotus/keyboards/framework/laptop16/iso/info.json)
94+
- [Keymap](https://github.com/FrameworkComputer/qmk_firmware/blob/lotus/keyboards/framework/laptop16/iso/keymaps/default/keymap.c)
95+
- JIS
96+
- [Matrix](https://github.com/FrameworkComputer/qmk_firmware/blob/lotus/keyboards/framework/laptop16/jis/info.json)
97+
- [Keymap](https://github.com/FrameworkComputer/qmk_firmware/blob/lotus/keyboards/framework/laptop16/jis/keymaps/default/keymap.c)
98+
- Numpad
99+
- [Matrix](https://github.com/FrameworkComputer/qmk_firmware/blob/lotus/keyboards/framework/laptop16/numpad/info.json)
100+
- [Keymap](https://github.com/FrameworkComputer/qmk_firmware/blob/lotus/keyboards/framework/laptop16/numpad/keymaps/default/keymap.c)
101+
- Macropad
102+
- [Matrix](https://github.com/FrameworkComputer/qmk_firmware/blob/lotus/keyboards/framework/laptop16/macropad/info.json)
103+
- [Keymap](https://github.com/FrameworkComputer/qmk_firmware/blob/lotus/keyboards/framework/laptop16/macropad/keymaps/default/keymap.c)
104+
105+
## License
106+
Input Modules © 2023 by Framework Computer Inc is licensed under CC BY 4.0. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/

0 commit comments

Comments
 (0)