

Controller
An open source replacement keyboard controller for 4th generation IBM/Lexmark keyboards, and for some Unicomp keyboards
- Size
- 69.6 × 37.3 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 65
- Nets
- 69
- Pads
- 244
- Tracks, vias
- 1,000, 276
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 25 Apr 2021
- Updated
- 26 Mar 2023
Overview
Controller is an open-source printed circuit board by purdeaandrei, from the purdeaandrei/overnumpad_controller_1xb repository on GitHub. It is a 2-layer board of 69.6 × 37.3 mm with 65 parts on 69 nets, routed with 1,000 tracks and 276 vias.
It is built around the 24LC64(LX), AMS1117-3.3 and TPS2553DBVR-1, with the USBLC6-2SC6 among its other parts. Its parts include 20 capacitors, 18 resistors, 6 diodes, 5 ICs and 5 connectors. It belongs with the keyboards and input boards and the STM32 boards of this library.
Main components
424LC64(LX)
SOP-8-40℃~+85℃ 1,000,000 cycles 1.8V~5.5V 100 Years 1MHz 5ms 64Kbit Hardware write protection function、Noise suppression function I2C SOP-8 EEPROM ROHSlingxingicEEPROMAMS1117-3.3
SOT-223-40℃~+125℃ 0.003%Vout 1 1.1V@(800mA) 15V 1A 3.3V 5mA 72dB@(120Hz) Fixed Over Current Protection、Short Circuit Protection、Thermal shutdown Positive SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSAdvanced Monolithic SystemsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsTPS2553DBVR-1
SOT-23-6-40℃~+150℃ 1 1.5A 2.5V~6.5V 85mΩ Active High High Side Switch 过压保护、软启动、欠压锁定、反向电压保护、集成电荷泵、Overcurrent Protection、Over temperature protection、锁存保护、Short-Circuit Protection、反向电流阻断 SOT-23-6 Power Distribution Switches ROHSTexas InstrumentsPower Distribution SwitchesUSBLC6-2SC6
SOT-23-60.35pF、0.8pF 100nA 150W@8/20us 15V 2 5V 6A@8/20us 6V ESD SOT-23-6 ESD and Surge Protection (TVS/ESD) ROHSUMWESD And Surge Protection (TVS/ESD)
README
README.mdOverNumpad Controller
This is a replacement keyboard controller, for 4th generation IBM/Lexmark Model M keyboards, and Unicomp keyboards that use the same mounting style over the numpad.
Licensed under CERN-OHL-P v2 or later
Images

Keyboards supported
Only some of the listed supported keyboards has been tested at the time of release. Some keyboards may require additional software work for support. This list may change in the future.
-
IBM/Lexmark 4th generation Model M keyboards See here for more detail on IBM Model M keyboard generations. The easiest way to identify IBM/Lexmark keyboards supported by this controller is to look at the lock lights led alignment. Top-aligned leds means that the controller is located over the numpad, and may be replaced by this controller. However this controller also provides a solder jumper option, for a set of leds that are compatible with bottom-aligned locklight stickers.
-
Various Unicomp keyboards, that use the same mounting mechanism, including:
- Spacesaver M keyboards
- Ultra Classic keyboards
- Classic keyboards
- New Model M keyboards
- PC122 keyboards
- The following exceptions apply:
- The Mini M uses a bottom-mounted controller, therefore it's not supported
- This controller may be used on keyboards that include additional input devices, such as trackballs, and pointing sticks, and card readers, but the controller will not support the additional devices.
Two versions are available
The mounting holes on the controller can come in two variants:
3.2mm mounting holes version
- Used by IBM/Lexmark 4th generation Model M keyboards
- Used by some Unicomp keyboards, generally the older, the more likely that it uses a small-hole controller
- The small-hole variant will not fit on keyboards that use big-hole controllers
4.3mm mounting holes version
- Used by some Unicomp keyboards, generally the newer, the more likely that it uses a big-hole controller
- The big-hole controller will not be securely held in place, and will likely not work correctly if it is mounted on a keyboard with a small-hole controller.
How to order from JLCPCB:
- Go to http://jlcpcb.com , sign in to your account (create one if you don't have one)
- Click Order Now
- Upload the .zip file from the "order" subfolder. Make sure to select the correct version.
- Select PCB Qty you wish to build
- Set "Remove Order Number" to "Specify a location"
- Scroll down, turn on the "SMT Assembly" option
- Select "Assemble top side"
- Select "Tooling holes" = "Added by Customer"
- Click "I agree to the Terms and Conditions..."
- Click "Next" on the right side
- Click "Add BOM File", upload the "*_bom_jlc.csv" file from the "order" subfolder.
- Click "Add CPL File", upload the "*_cpl_jlc.csv" file from the "order" subfolder.
- Click "Next"
- Make sure that all parts say "Confirmed" with a little check box in the final column. If it shows a greyed out "confirm", or a yellow "Inventory shortage", or there is a red "No parts selected" in the Matched Part Detail column, then some parts may be out of stock. (If parts are out of stock then your options are Wait until it's back in stock / Find equivalent replacement with correct footprint, if it is in the JLCPCB parts library / Redesign the board with a different component / Order the missing part from another supplier and solder it yourself )
- Click "Next"
- Double-check components look correctly rotated (this is expected to be correct unless JLCPCB makes changes to their system)
- Double-check again, that Selected Parts has the correct number of items (21 items for v1.1b), and that Unselected Parts has 0 items.
- Save to Cart, Check Out.
Components of this design that have to be ordered separately:
The connectors for the USB cable, and for the solenoid driver need to be ordered separately. Compatible connectors are available from a variety of manufacturers, and distributors, one example:
- Through-hole male connector: https://www.tme.eu/en/details/ds1066-4mrw6sa/raster-signal-connectors-2-00mm/connfly/
- Female connector (for USB cable, or for ribbon cable): https://www.tme.eu/en/details/i-ds1066-scw04/raster-signal-connectors-2-00mm/connfly/
- Crimp pins for the female connector: https://www.tme.eu/en/details/t-ds1066-sc600/raster-signal-connectors-2-00mm/connfly/
Firmware
Currently QMK firmware, and VIAL-QMK firmware are available.
For VIAL-QMK please see here: https://github.com/purdeaandrei/vial-qmk-overnumpad-and-aristides-2862/releases/latest
For plain QMK please look for keyboards called unicomp/*/overnumpad_1xb, and ibm/*/overnumpad_1xb in upstream QMK.
Parts
65| Qty | Value | Footprint | References |
|---|---|---|---|
| 10 | 100nF | Capacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolder | C1, C2, C3, C4, C10, C11, C12, C15, C16, C19 |
| 8 | 62k | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R2, R6, R7, R8, R9, R10, R11, R12 |
| 6 | LED | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D1, D2, D3, D4, D5, D6 |
| 5 | 2k | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R13, R14, R15, R17, R18 |
| 3 | 1uF | Capacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolder | C6, C14, C20 |
| 3 | 47 | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R3, R4, R5 |
| 3 | MountingHole | controller:tooling_hole | H1, H2, H3 |
| 2 | 10pF | Capacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolder | C8, C9 |
| 2 | 22uF | Capacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolder | C13, C17 |
| 2 | 390 | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R1, R16 |
| 2 | 4.7uF | Capacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolder | C7, C18 |
| 2 | Q_NMOS_GSD 2N7002 | Package_TO_SOT_SMD:SOT-23 | Q2, Q3 |
| 1 | 10nF | Capacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolder | C5 |
| 1 | 16MHz | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm_HandSoldering | Y1 |
| 1 | 24LC64 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U5 |
| 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U1 |
| 1 | Conn_01x01 | controller:PinHeader_1x01_P1.27mm_Vertical_mod_no_courtyard_no_ref | J4 |
| 1 | Conn_01x04 | Connector_JST:JST_PH_S4B-PH-K_1x04_P2.00mm_Horizontal | J2 |
| 1 | Conn_01x06 | Connector_PinHeader_1.27mm:PinHeader_1x06_P1.27mm_Vertical | J6 |
| 1 | Conn_01x25_Membrane | controller:membrane_connector | J1 |
| 1 | Conn_Solenoid_Driver | Connector_JST:JST_PH_S4B-PH-K_1x04_P2.00mm_Horizontal | J3 |
| 1 | Ferrite_Bead | Inductor_SMD:L_0805_2012Metric_Pad1.15x1.40mm_HandSolder | FB1 |
| 1 | Q_PMOS_GSD AO3401A | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | STM32F446RETx | Package_QFP:LQFP-64_10x10mm_P0.5mm | U2 |
| 1 | SW_Push | controller:switch_K2-1187SQ-A4SW-06 | SW1 |
| 1 | SolderJumper_2_Bridged | controller:shortable_shorted | JP1 |
| 1 | SolderJumper_2_Open | controller:shortable | JP2 |
| 1 | TPS2553DBVR | Package_TO_SOT_SMD:SOT-23-6_Handsoldering | U3 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-666 | U4 |
Similar boards
- 4 layers369.6 × 158.7 mm

- 2 layers435 × 123 mm

Nec pc-8801-type a
djvs/nec-pc-8801-type-a
NEC PC 8801 Type A keyboard PCB (work in progress)
268 parts2CC-BY-SA-4.0 - 4 layers130 × 130 mm

Smart Metering
frahncky/Smart-Metering
Analisador trifásico de energia e qualidade de energia com interface gráfica touchscreen.
230 parts - 4 layers54 × 84 mm

StepperLockingSystem
netz39/Stepper-Locking-System
Contains encoder & processor boards for closed-loop stepper motor angle control. Steering the key/door knob with the might of stepper motors.
107 partsMIT - 4 layers48.5 × 69.9 mm

- 4 layers100 × 68.3 mm

EL Load Digital
fietser28/EL-Load
The DCL8010 electronic load module features a DC Electronic Load with several modes and protections. This project is the for the development boards for this project. There is a seperate git project for the firmware.
89 parts15 - 2 layers148.7 × 104.3 mm

- 4 layers53 × 42 mm

MioLink
Misaka0x2730/MioLink
ARM JTAG/SWD debugger (BlackMagic port) based on RP2040.
117 parts30GPL-3.0
Questions
How big is the Controller PCB?
It measures 69.6 × 37.3 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Controller use?
65 parts, built around the 24LC64(LX), AMS1117-3.3, TPS2553DBVR-1 and USBLC6-2SC6. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Controller KiCad files?
From the purdeaandrei/overnumpad_controller_1xb repository on GitHub, at the commit this page was made from: the board is controller/controller.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Controller design in my own project?
Its repository states no licence, so its author keeps all rights: ask purdeaandrei before reusing the design.