

Egpad
discipad with rotary encoders i guess
- Size
- 111.1 × 133.4 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 67
- Nets
- 50
- Pads
- 266
- Tracks, vias
- 743, 3
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 9 May 2021
- Updated
- 22 Jan 2024
Overview
Egpad is an open-source printed circuit board by ohkiba, from the ohkiba/egpad repository on GitHub, published under the MIT licence. It is a 2-layer board of 111.1 × 133.4 mm with 67 parts on 50 nets, routed with 743 tracks and 3 vias.
Its parts include 20 diodes, 12 resistors, 6 capacitors, 3 switches and 1 IC. It belongs with the AVR (ATmega, ATtiny) boards of this library.
README
README.mdegpad
walmart discipad with rotary encoders i guess
build log!
part 1: prep
Some prepwork for this project involved researching various PCB CAD software that I could use to design my PCB. Eventually, I decided on using KiCAD to design the pcb, thanks to ai03's PCB Designer Guide and ruiqimao's Keyboard PCB Guide. The footprint libraries used in this project also came from those guides. I also opted to use the Arduino Pro Micro microcontroller to power the board as its quite popular for DIY boards and its QMK compatible.
part 2: schematic design
Next, I had to learn how to use KiCAD, which mostly came from ai03's guide. First, I created the schematic which is the most important part of the design. Overall a pretty easy step, it was similar to the circuit design software Multisim so I had some knowledge going into this.
One problem that I ran into right off the bat was there wasn't a lot of information on how to implement a rotary encoder (specifically an EC11 encoder), so I had to search quite a while to find anything useful. Luckily, I came across this comment thread which contained lots of helpful graphics and theory for implementing your own rotary encoder.
Now that I knew how to implement all the components required for the board, I came up with this schematic:

part 3: PCB design
This part was probably the most time consuming out of the entire project, because I wanted to make sure that it looked exactly how I wanted. For context, I'm basing this board off of the Discipad, which is a design that I really like.
The PCB design process was relatively straightforward. Since I created the schematic first, all I needed to do was arrange all the components to look proper:

Now its time to route the traces or essentially wire the components of the PCB together. This is the most time consuming part of the PCB Design process, as it also
involves a lot of planning as well as trial and error. The top of the board was especially difficult due to the density of the components and lack of space for the traces:

My first attempt at routing the traces for the board was quite messy:

I figured since I now knew how routing traces worked, I could use the Discipad routing to make mine look better:

A side by side comparison:

Now that I've completed the PCB design, I created some renders to see how the board would look IRL:
part 4: manufacturing
Now that all aspects of the design have been completed, I started looking for vendors to print the PCB, as well as places to buy the components (caps, resistors, switches etc.). For the PCB, I decided to go with JLCPCB since I've heard good things about them and you can print various coloured PCBs (thanks matthew). All the other components I decided to buy from various aliexpress vendors since its cheap and I'm in no real rush to build this thing. I compiled all the costs into an excel sheet for a very primitive bill of materials (BoM) which is also included in this repo:

I decided to skip the TS80 and just borrow my friend's setup (thanks matthew).
At the time, I completely forgot to purchase stabs so rip 2u keys.
Parts came in around 2-4 weeks later:

part 4.5: assembly
Since I had some prior experience soldering this wasn't too troublesome to complete. The hardest parts were probably the SMD capacitors since they were so small, and the Pro Micro pins since the pins didn't have much support to hold them, I had to get my friend to do most of them for me (thanks matthew):

After a couple hours of soldering, here is the finished build:

part 5: programming
Now that the physical board has been completed, I began working on writing the firmware for the board. Using the QMK wiki, I rewrote the files on an existing board to implement the rotary encoder functions so I wouldn't have to worry too much about formatting and all that:

The firmware is included in this repo if you want to explore it in detail. All files were edited on Sublime Text Editor.
Throughout the process, I had to flash the firmware to make sure it worked as I added more functions. This was done through QMK MSYS and QMK Toolbox.
Finally, the finished product:
afterword!
This has been a very fun project from start to finish, I highly recommend anyone reading this to try creating your own board from scratch, theres a lot you can learn from this project alone. Overall I'd consider this a success, might need a longer cable though. Thanks tanman for helping me throughout the entire project <3.
Parts
67| Qty | Value | Footprint | References |
|---|---|---|---|
| 20 | D_Small | Keebio Footprints:D_DO-35_SOD27_P5.08mm_Horizontal | D1, D2, D3, D4, D5, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20 +4 |
| 14 | MX-NoLED | MX Alps Hybrid Footprints:MX-1U-NoLED | MX1, MX2, MX3, MX4, MX6, MX7, MX8, MX9, MX10, MX11, MX12, MX13, MX14, MX15 |
| 12 | 10k | Keebio Footprints:Resistor | R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12 |
| 8 | MountingHole_2mm | MountingHole:MountingHole_2mm | M2, M2, M2, M2, M2, M2, M2, M2 |
| 6 | 10nF | Keebio Footprints:C_0603 | C1, C2, C3, C4, C5, C6 |
| 3 | MX-NoLED | MX Alps Hybrid Footprints:MX-2U | MX5, MX16, MX17 |
| 3 | Rotary_Encoder_Switch | Keebio Footprints:RotaryEncoder_EC11 | SW1, SW2, SW3 |
| 1 | ProMicro | Keebio Footprints:ArduinoProMicro-Mini-USB | U1 |
Similar boards
- 2 layers138.1 × 114.3 mm

- 2 layers133.1 × 53.8 mm

- 2 layers160 × 100.1 mm

Ardumower mega shield svn
Ardumower/ardumower
Develop an open source robotic lawn mower (HW+SW reference platform)
67 parts282 - 2 layers65 × 56 mm

Zpui shld wg12864b
CRImier/MyKiCad
My KiCad boards. Can't be bothered uploading individually anymore, so here you go.
67 parts253GPL-3.0 - 2 layers138.1 × 89.7 mm

- 2 layers51 × 30 mm

- 2 layers93.5 × 55 mm

- 2 layers58.4 × 101.6 mm

Questions
How big is the Egpad PCB?
It measures 111.1 × 133.4 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Egpad use?
67 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.
Where can I download the Egpad KiCad files?
From the ohkiba/egpad repository on GitHub, at the commit this page was made from: the board is EGPad.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Egpad design in my own project?
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).