diff --git a/README.md b/README.md index 6af5de2..e4bc859 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,19 @@ Custom ergonomic mechanical keyboard with low-profile (Choc) switches. ## Versions - **eepyBoard v1.0: Hardware revision 1** - - Mostly ortholinear layout with 13 columns - - Bottom row: two regular keys + four thumb keys (per side, symmetrical) - - Partial F-key row (Esc, F1-F8) and rotary encoder - - RP2040 controller board in upper right corner + - Mostly ortholinear layout with 13 columns (73 keys + rotary encoder) + - Bottom row: two regular keys + four thumb keys (per side, symmetrical) + - Partial F-key row (Esc, F1-F8) and rotary encoder + - RP2040 controller board in upper right corner + +- **eepyBoard v1.1: Hardware revision 2** + - Column staggered split layout (single board) with a total of 15 columns and 6 rows (88 keys + 2 rotary encoders) + - Each side has 7 columns by 5 rows (not counting function keys and arrow keys) + - Bottom row: three regular keys + four thumb keys on each side, and an additional centered thumb key + - Full F-key row (Esc, F1-F12) + - 4 arrow keys in the center + - 2 pressable rotary encoders (one in the center of the keyboard, one in the upper right) + - Compact RP2040 "Pico Mini" controller board in the center ## Repository structure @@ -36,31 +45,35 @@ Copy the file to `kicad/eepyboard.kicad_pcb`. Open the file in KiCad (create a project if non exists yet). Finalize the PCB in KiCad. -1. Run the Design Rules Checker. Check the errors. Most of them can be ignored/excluded. +1. Round off the bottom corners of the board outline: + - Remove the bottom center line and the two small fillet arcs next to it. + - Select the two remaining bottom lines. Right click them and use "Shape Modification -> Extend Lines to Meet". + - Right click the two angled lines again. Use "Shape Modification -> Fillet Lines..." with a 200mm radius. +2. Run the Design Rules Checker. Check the errors. Most of them can be ignored/excluded. - All "Footprint not found in libraries" can be ignored completely. This is due to how Ergogen generates the PCB. -2. Add VCC and GND planes. +3. Add VCC and GND planes. - Menu: `File -> Board Setup` - On "Physical Stackup", change the copper layer number to 4. - On "Board Editor Layers", change the type of `In1.Cu` and `In2.Cu` to "power plane". - NOTE: `In1.Cu` will be the VCC plane, `In2.Cu` will be a GND plane. -3. Add filled zones to the VCC and GND planes. +4. Add filled zones to the VCC and GND planes. - Select the `In1.Cu` layer. - Use the "Add a filled zone" tool and draw a rectangle that contains the entire board. Assign the zone to VCC. - Repeat the same process for the `In2.Cu` layer and assign the zone to GND. - The zones don't need to be filled just yet. -4. Add another filled zone on the `B.Cu` layer and assign it to GND. -5. Route all signal traces (no VCC or GND yet). Recommended order: +5. Add another filled zone on the `B.Cu` layer and assign it to GND. +6. Route all signal traces (no VCC or GND yet). Recommended order: - Matrix rows (on `B.Cu`) - Matrix columns (with vias on `F.Cu`) - NeoPixel data pins - Connect everything to the MCU. -6. Route VCC traces. +7. Route VCC traces. - Connect the VCC traces between the NeoPixel chips and the capacitors with a 0.750 mm track. - Place free-standing vias (Ctrl+Shift+V) in the middle of the just created VCC traces. -7. Route GND traces. +8. Route GND traces. - Draw short GND traces with a 0.750 mm track and a via at the end next to the GND pads of the NeoPixel chips. -8. Fill all zones by pressing B. Make sure that all nets are routed. -9. Run the Design Rules Checker and make sure there are no (relevant) violations. +9. Fill all zones by pressing B. Make sure that all nets are routed. +10. Run the Design Rules Checker and make sure there are no (relevant) violations. #### Export Gerber files