# QMK-based firmware for Zenith Z-150 keyboard
![Z-150](https://imgur.com/jayyyvJ.jpg)
Zenith Z-150 keyboard conversion project: direct connection of Black Pill to the matrix.
* Keyboard Maintainer: [DmNosachev](https://github.com/DmNosachev)
* Hardware Supported: [Zenith Z-150 keyboard, 100-1860 version with white logo](https://deskthority.net/wiki/Zenith_Z-150), Black Pill STM32F103C8T6 MCU board. Alternatevely you can use any MCU which is supported by QMK and has 22 or more IO pins: Arduino Micro, Teensy 2.0, Teensy 2.0++, Blue Pill, etc.
Earlier 100-1886 version with black logo has different PCB.
Make example for this keyboard (after setting up your build environment):
make handwired/z150:default
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
# Modding
## Matrix
Z-150 has 11x8 matrix. It's ghost-free thanks to the diodes.
Columns are located under NEC D8049HC MCU IC:
![Z-150 columns](https://imgur.com/XiOsrnh.jpg)
Rows are connected to unmarked 24-pin MUX IC:
![Z-150 rows](https://imgur.com/Wu8rHY0.jpg)
## LEDs
LEDs (from left to right): NumLock, CapsLock, ScrollLock:
![Z-150 LED cathodes](https://imgur.com/MO5NLlZ.jpg)
Their anodes are connected to VCC through 220Ω resistors.
![Z-150 LED anodes](https://imgur.com/w1MfjRN.jpg)
You can keep the original resistors, but with Black Pill or any other 3.3V controller the LEDs may seem a little dim. Try 150Ω or close value if you want to fix that.
## Black Pill
Suggested mount position for the Black Pill (view from the bottom side of the PCB):
```
R0 R1 R2 R3 R4 R6 R9 LC LN LS
,--------------------------------------------------------------------,
|B12 B13 B14 B15 A8 A9 A10 A11 A12 A15 B3 B4 B5 B6 B7 3V3 GND |---,
| |USB|
|B11 B10 B1 B0 A7 A6 A5 A4 A3 A2 A1 A0 RST C13 B9 B8 GND |---'
'--------------------------------------------------------------------'
C0 C1 C2 C3 C4 C5 C6 C7 R5 R8 R7 RA
```
1. Desolder all ICs, crystal oscillator, capacitors and resistors except R0–R2 (they connect LEDs to VCC).
1. Solder 12-pin header to the Black Pill (pins B11–A0 on the left side).
2. Solder two 3-pin headers for boot jumpers.
3. Solder 4-pin SWD header.
4. Burn [STM32duino bootloader](https://github.com/rogerclarkmelbourne/STM32duino-bootloader/blob/master/bootloader_only_binaries/generic_boot20_pb12.bin) to Black Pill.
5. Compile and flash the firmware: `make handwired/z150:default:flash`
5. Align Black Pill pins B11–A4 with columns 0–7 and solder them.
6. Connect rows, LEDs, ground and VCC traces to the corresponding pins of the BlackPill using additional wires.