
Hydromisc
hydromisc/hydromisc
Open hardware to measure EC and pH, drive pumps, and otherwise manage a mid-size hydroponic grow over Wi-Fi.

This is a hot swappable 84-keys keyboard with an OLED screen. It has Raspberry Pi Pico W as its MCU. Its a cool project.
Keyboard is an open-source printed circuit board by hiralsinghal, from the hiralsinghal/Keyboard repository on GitHub, published under the MIT licence. It is a 2-layer board of 362 × 119.1 mm with 179 parts on 117 nets, routed with 563 tracks and 30 vias.
Its parts include 88 switches, 84 diodes and 1 IC. It belongs with the keyboards and input boards and the RP2040 boards of this library.
This is a hot swappable 84-keys keyboard with an OLED screen. It has Raspberry Pi Pico W as its MCU. Its a cool project. Making my own keyboard, I could choose whether I want the switches to be linear, tactile or clicky, what colour do I want them and keycaps to be. I chose linear because they are quiter compared to clicky. For colours, I decided to do black. That's why everything, including the PCB, is black or in shades of black.
This is the schematic for the keyboard. It has a 16 x 6 matrix for the switches, a symbol for the OLED and the Raspberry Pi pico W.

This is the wiring for the switches. It is arranged in a matrix of 16 x 6 with a diode for each switch to prevent phantom presses.

Raspberry Pi Pico W felt like the best choice. It has the perfect amount of GPIO pins I needed for my 84 keys keyboard.

I had a spare 0.91 inch OLED so I thought why not add it in my custom keyboard.

Some keys such as backspace, enter, left shift and space requires stabilizers as they are 2u or more to balance and support them.

This is my PCB for the keyboard. It has GND pour on both layers-top and bottom. It features some silkscreen art too.
The source files can be found in the PCB folder and the gerbers in the Production folder.

Below is the image of the PCB with no silkscreen art.

This is the pic of the PCB with only the footprints and the routing.

I have two parts-top and bottom. I plan to join them together using magnets. I have 5mm x 2mm circles cut into the corners of the case to glue the magnets and make the case look seamless. Or I can use the bottom case only.
The source files can be found in the CAD folder.

For the items link, please go to BOM.
| Item | Description | Quantity | Unit Price ($) | Total Price ($) |
|---|---|---|---|---|
| PCB | PCB | 5 | 4.92 | 24.6 |
| Akko V3 Cream Black Pro Switch (Pack of 45) | Switches | 2 | 12.51 | 25.02 |
| Veekos Gradient Keycaps (Cherry Profile) (135 keys) | Keycaps | 1 | 13.55 | 13.55 |
| 0.91 inch Blue OLED Display Module | OLED | 1 | 1.55 | 1.55 |
| Raspberry Pi Pico W (wireless) | MCU | 1 | 6.78 | 6.78 |
| 1N4148 1W Zener Diode | Diode | 84 | 0.013 | 1.10 |
| 5mm x 2mm Neodymium Magnet Disc | Magnet | 8 | 0.16 | 1.25 |
| Total | 73.85 |
This was designed in Figma.

I have always wanted a compact keyboard for my desk but with most of the functionality. Making a 75% keyboard fulfils that intention. Everything is custom about it. I can change the firmware whenever I want, swap out the switches or keycaps. It was a fun project.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 84 | 1N4148 | Diode_THT:D_DO-35_SOD27_P7.62mm_Horizontal | D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +68 |
| 74 | SW_Push | Switches:SW_Hotswap_Kailh_MX_Plated_1.00u_With_Switch | SW1, SW2, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21, SW22, SW23 +58 |
| 5 | LOGO | LOGO | G***, G***, G***, G***, G*** |
| 2 | MX_stab | PCM_marbastlib-mx:STAB_MX_2.25u | S2, S3 |
| 1 | Backspace | Switches:SW_Hotswap_Kailh_MX_Plated_2.00u_With_Switch | SW29 |
| 1 | CapsLock | Switches:SW_Hotswap_Kailh_MX_Plated_1.75u_With_Switch | SW46 |
| 1 | ER_OLEDM0.91_1x-I2C | OLED:SSD1306-0.91-OLED-4pin-128x32 | U1 |
| 1 | Enter | Switches:SW_Hotswap_Kailh_MX_Plated_2.25u_With_Switch | SW58 |
| 1 | LCtrl | Switches:SW_Hotswap_Kailh_MX_Plated_1.25u_With_Switch | SW74 |
| 1 | LShift | Switches:SW_Hotswap_Kailh_MX_Plated_2.25u_With_Switch | SW60 |
| 1 | MX_stab | PCM_marbastlib-mx:STAB_MX_2u | S1 |
| 1 | MX_stab | PCM_marbastlib-mx:STAB_MX_6.25u | S4 |
| 1 | RCtrl | Switches:SW_Hotswap_Kailh_MX_Plated_1.50u_With_Switch | SW80 |
| 1 | RShift | Switches:SW_Hotswap_Kailh_MX_Plated_1.75u_With_Switch | SW71 |
| 1 | RaspberryPi_Pico_W | Module:RaspberryPi_Pico_W_SMD_HandSolder | A1 |
| 1 | Space | Switches:SW_Hotswap_Kailh_MX_Plated_6.25u_With_Switch | SW78 |
| 1 | Tab | Switches:SW_Hotswap_Kailh_MX_Plated_1.50u_With_Switch | SW31 |
| 1 | \| | Switches:SW_Hotswap_Kailh_MX_Plated_1.50u_With_Switch | SW44 |
It measures 362 × 119.1 mm and has 2 copper layers, 1.6 mm thick.
179 parts. 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 hiralsinghal/Keyboard repository on GitHub, at the commit this page was made from: the board is PCB/Keyboard.kicad_pcb and its schematic PCB/Keyboard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

hydromisc/hydromisc
Open hardware to measure EC and pH, drive pumps, and otherwise manage a mid-size hydroponic grow over Wi-Fi.




01binary/str1ker
A human-scale mech integrated with Robot Operating System


Cipulot/Chilineko
Hot-swappable version of the Bakeneko 65 with extra layouts support.

niteshkadyan/Hearty-LED-Necklace-Badge
Kicad project files and Android app for the Hearty LED wearable necklace cum badge