
C128SX mx
sjgray/CBM-MX-Keyboards
Replacement and enhanced keyboards for Commodore machines

Replace locking key switches with momentary switches
Mxlock is an open-source printed circuit board by mnaberez, from the mnaberez/mxlock repository on GitHub, published under the BSD-3-Clause licence. It is a 2-layer board of 77.6 × 44.2 mm with 26 parts on 34 nets, routed with 361 tracks and 23 vias.
It is built around the CD4066BM. Its parts include 6 resistors, 6 connectors, 4 diodes, 4 switches and 3 capacitors. It belongs with the keyboards and input boards and the AVR (ATmega, ATtiny) boards of this library.
MXLock is a two-chip circuit that allows up to four mechanically locking keys (push-on, push-off) to be simulated using regular momentary key switches.
Many older computer keyboards have mechanically locking keys. For example, the Commodore 128 has three locking keys: SHIFT LOCK, CAPS LOCK, and 40/80. The MXLock circuit can be included on the PCB of replacement keyboard projects, such as those using Cherry MX keys, so that the entire keyboard can be made from momentary key switches.
Features:
40/80)/RESET low if the LOCK0 key is held downThe hardware/ directory in this repository contains the schematic and a PCB layout for the demonstration board pictured above. It can be used to test the MXLock circuit.
The circuit is intended to be integrated directly onto the PCB of a keyboard. Steve Gray's C128SX keyboard is an example of a keyboard using the circuit.
The firmware is written in AVR assembly language. It can be assembled and flashed using open source software and inexpensive hardware. See firmware/ for the source code and instructions.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | 330 | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R1, R2, R3, R4 |
| 4 | Conn_01x02 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J1, J2, J3, J4 |
| 4 | LED | LED_THT:LED_D5.0mm | D1, D2, D3, D4 |
| 4 | SW_MX | Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB | SW1, SW2, SW3, SW4 |
| 2 | 0.1uF | Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mm | C1, C2 |
| 2 | 1K | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R5, R6 |
| 1 | 10uF | Capacitor_THT:CP_Radial_D6.3mm_P2.50mm | C3 |
| 1 | 2N3904 | Package_TO_SOT_THT:TO-92_HandSolder | Q1 |
| 1 | ATMEL-ICE-10 | mxlock:PinHeader_2x05_P1.27mm_Shrouded_Vertical_SMD_Handsolder | J6 |
| 1 | ATtiny214/414/814 | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U1 |
| 1 | CD4066BM | Package_SO:SO-14_3.9x8.65mm_P1.27mm | U2 |
| 1 | Conn_01x04 | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J5 |
It measures 77.6 × 44.2 mm and has 2 copper layers, 1.6 mm thick.
26 parts, built around the CD4066BM. 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.
From the mnaberez/mxlock repository on GitHub, at the commit this page was made from: the board is hardware/kicad/mxlock/mxlock.kicad_pcb and its schematic hardware/kicad/mxlock/mxlock.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the BSD-3-Clause licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

sjgray/CBM-MX-Keyboards
Replacement and enhanced keyboards for Commodore machines

jimbro1000/DIY-Video
General purpose video system for 8-bit computers using 74LS logic

L0czek/pikvm-atxboard-switch
The need for this hardware arose when I bought a PIKVM v4 mini and wanted to control 2 PCs. I really wanted to be able to forward the POWER, RESET buttons and LEDs to the chosen computer for easy control of the target.

velvia-fifty/AudioThings
DIY audio-related projects of questionable quality and dubious utility; delivered in 30 minutes or less or the next one is free

TiebeDeclercq/Munt-sorteer--en-opslagsysteem
A coin-counting, storing, and dispensing system. View the blog »


hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
