ModuPad_v2
MacroPad, With 3 Push Button rotattry encoders, 25 Key switches, nice!nano MCU, and 0.91 Inch OLED display.
Created by
lasipK
Tier 3
6 views
0 followers
lasipK
submitted ModuPad_v2 for review ago
lasipK
added to the journal ago
Update BOM
Update BOM based on new display footprint.
Updated BOM.md & BOM.csv based on new odering site and new o.91 OLED Display. Total cost of the pad is now under 100$ including shipping. Every item link is provided with cart screenshots. BOM is also avaliabe inside README.md in GitHub REPO.
links
BOM.md |
BOM.csv |
|---|---|
![]() |
![]() |
Timeline
Start: 10-March-2026 | 4PM
End: 10-March-2026 |5PM
Jornal Entry Written: 11-March-2026 | 4:10 AM
lasipK
added to the journal ago
Routed PCB
PCB Pouting Completed
Routing the PCB is completed, and DRC is also clean with no major errors, just some warning that are safe to be ignored.

Timeline
Start: 09-March-2026 | 4PM (Initializing routing)
End: 10-March-2026 | 3PM (finalizing routing + DRC)
Jorunal Entry Written: 11-March-2026 | 4AM (No-Internet Connection)
lasipK
added to the journal ago
Struggling With SK6812MINI-E LED FootPrint
SK6812MINI-E LED.
"SK6812MINI-E LED" footprint was such a pain in the rear, footprint was not like the one I needed, was having issuse like, different positions of pad, that dosent matches its DataSheet. I some how managed a way by making it according to its datasheet using footprint editor.
Took me alot of time like more than 6 hours just to do it. testing different footprints, re-assigning over and over. It was so frustrating. but somehow I managed to do it.

Start: 08-March-2026 | 6PM
End: 08-March-2026 | 11:30 PM (Was also working on other things, such as positioning of footprints)
Jornal Entry Written: 09-March-2026 | 2:50 AM
lasipK
added to the journal ago
Re-Designing PCB!
PCB
After completing changes in Schematic editor i switched to PCB editor. I created new PCB editor file and moved old one to "OLD-Desing" folder. Then I stared working on placing footprints where it should be. but this time I changed the design slightly by moving everything to each other as close as possible by using "Position Relative To Reference Item" tool. that help alot.
You'll notice that there are no mounting hole at the edge of out PCB, compared to our previous design. Its because I'll pe placing them inside the around the keys and other components, as in previous design they were taking Unnecessary area.

Timeline
Start: 08-March-2026 | 4PM
End: 08-March-2026 | 10PM
Jornal Entry Written: 09-March-2026 | 2:30AM
lasipK
added to the journal ago
Re-Designing !
Main Issue
To reduce the COST of this project, we need to remove nice!view display as it costs +20$. I can remove the display from our project, but here's another issue I'm gonna face if i remove the vice!view, which is that after I remove the nice!view, i'll be no longer eligible for free dlivery from Typeractive, and dlivery it self will cost 15$. and its like digging my own grave.
Solution
To solve the above issue, I'll have to ditch Typeractive shop for my other components in that case, as I can't afford its dlivery fee. In that case I'll need to look somewhere else for my PAD comopents, and I found just the place, which's cheeper and reliable, and that's AliExpress. I researced a lot on it, found each component I require to complete this project. and for Display I'll be using 0.91 inch 128x32 OLED Display, Its Cheep and reliable as a replacement for nice!view.
To proceed with this plan i'll need to re-desig my whole Schematic and PCB, Which I did. In Schematic I removed nice!view and replaced it with 0.91 inch 128x32 OLED, and added another power switch to manually toggle the display and LEDs off.

Timeline
Start: 06-March-2026 | 4PM (AliExpress Research)
Start: 06-March-2026 | 9PM (Schematic Work)
End: 07-March-2026 | 3AM
Project Entry Written: 09-march-2026 | 12:15AM
Shadow
requested changes for ModuPad_v2 ago
Hey! As mentioned in the previous review, this is not a tier 2 project! Please take another look at your BOM - we aren't here to fund USB-C cables and other expensive parts you didn't personally design. Also, please try to find cheaper OLED and the MCU, they shouldn't be costing that much!
lasipK
submitted ModuPad_v2 for review ago
lasipK
added to the journal ago
Optimized BOM !!!
BOM
I optimized the BOM as much as I could and removed unnecessary items, like the USB cable. I didn’t include the heat inserts in the BOM pricing since I’ll be buying those myself. I also double-checked that all the item links are working properly.
Ignore the removed items in the cart screenshot — they won’t be purchased and are no longer part of the project.
The only reason I consider this a Tier 2 project is because of the PCB and shipping cost. A 100 × 100 mm PCB is around $2, but my board is 125 × 105 mm. I can’t realistically shrink it to under 100 × 100 mm because the 5 × 5 key switches already take up about 95 × 95 mm. On top of that, I still need space for 3 encoders and the nice!nano, so reducing the size further isn’t possible.
BOM is avaliabe inthe README.md and also in the BOM folder, i'll also put down link for easy access.
README.md
BOM
Cart_Screenshots

alexren ⚡🚀
requested changes for ModuPad_v2 ago
hey there! I think this macropad is really cool but it's definitely not a tier 2 project. You have a pretty simple case and overall not a lot of complexity in your macropad. Try adding chamfers & layers to it!
i'd also take another look at your BOM - we aren't here to fund USB-C cables and other expensive parts you didn't personally designed.
Recommended tier: 3
lasipK
submitted ModuPad_v2 for review ago
lasipK
added to the journal ago
BOM
Fully Completed the BOM, BOM Includes all the parts that are needed for this project to complete, i've also include the cart images with links of each product.
Project is ready to be submited!!!!
Writting the README for this project in github repo, then i'll submite the Project.

Timeline
Start: 14-Feb 2026 | N/a
End: 17-Feb 2026 | 09:00 PM
Journal Entry Written: 09:00 PM
lasipK
added to the journal ago
CAD Completed!!!
CAD Completed:
Full case CAD is finished.
In the previous version of this project, I made a critical mistake: I did not insert the CAD models of every component and verify the full assembly before finalizing the design. During physical assembly, I discovered a positioning error with the encoder and the display. I managed to work around it, but it was inefficient and avoidable.
This time, I corrected that mistake.
Every component was inserted into the assembly. All dimensions were verified. Clearances were checked. Alignment was confirmed. No assumptions.
Lesson learned: never trust isolated part design. Always validate the full system assembly before calling a revision complete.
Timeline:
Start: 2-Feb-2026
End: 14-Feb-2026 | 5:00 PM
Journal Entry Written: 14-Feb-2026 | 9:40 PM
The large gap between start and end dates was due to ModuPad_v1 being delivered during this period. I shifted focus to debugging its firmware, as it was not functioning correctly.

Ignore the random lines coming out of the case. They are not part of the enclosure.
Those artifacts are from the PCB mesh and were introduced during the KiCad PCB CAD export. It is a known export glitch, not a modeling error in the case itself.
They can be disregarded.
lasipK
added to the journal ago
CASE_Upper-Plate
5x5 Keys Dimentions:
Just finished skecthing the Upper-Plate of my case!

Timeline:
Start: 31 Jan 2026 | 10PM
End: 31 Jan 2026 | 11:59PM
Journal entry written: 31 Jan 2026 | 11PM
lasipK
added to the journal ago
CAD
Bottom Case of ModuPad:
Just finished with the design of my Bottom case and rendered it.
Start: 2PM - 29th Jan 2026
End: 10PM - 28th Jan 2026
Journal entry written:10:20PM 29th Jan 2026
Rendered Image:

lasipK
added to the journal ago
PCB
Final touches:
Just finished the final touches on the PCB—branding is complete and the design rule check has passed. I’m now measuring the board and will move on to sketching it in Autodesk Fusion 360.
Timeline:
Start: 11:30AM - 27 Jan 2026
End: 12:20PM - 27 Jan 2026
Journal entry written: 12:25PM - 27 2026
Branding -

New PCB-Design Measurements:

These measurements are accurate based on KiCad PCB measuring tool!
lasipK
added to the journal ago
New Design
Re-Routed the PCB!
Just finished the new PCB design—phew! That was time-consuming. I had to change a few things I mentioned in my previous journal (interchanging the nice!view and encoder positions). However, in the new design, I had to make additional adjustments. Simply swapping the positions would not have kept the PCB as compact as I intended.
After watching several YouTube tutorials on the nice!view—since I was having issues with its viewing angle due to it being attached directly to the PCB with no support to raise it—I learned how to use the nice!view properly. I managed to place it above the nice!nano, which allows it to be viewed clearly by the user. This turned out to be the best possible placement for the display and also helped keep the PCB as compact as possible, as both the nice!view and nice!nano now share vertical space.
Both the nice!nano and nice!view are connected using headers and socket pins. This lifts them above the PCB and also makes them much easier to remove without using a soldering iron. The idea is similar to using Kailh hotswap sockets for key switches—it eliminates the hassle of soldering when dealing with components that may need to be removed or replaced frequently.
Because the nice!nano is now elevated using headers, the space underneath it is free. I took advantage of this by relocating both the nice!nano reset switch and the power switch to sit underneath the nice!nano. This change made placement much easier and avoided layout issues, while also making better use of the available space.
If you are not fully getting what I am describing, the rendered images should make things much clearer. I have used as many accurate 3D models as possible, based on the actual footprints and components, and rendered them into images to clearly visualize the design. This helps both me and the reader better understand how everything fits together and what I am referring to.
Finally, to fully verify the design, I added the nice!view cutout display cover, which I plan to purchase along with the nice!view and the other components for this project. Once again, the rendered images serve as a visual representation of the entire project.
Timeline
Start: ~11AM — 25 Jan 2026
End: ~6:30PM — 26 Jan 2026
Journal entry written: ~7PM —26 Jan 2026
Images / Renders
| nice!view and nice!nano | nice!view Cover | Swithces |
|---|---|---|
![]() |
![]() |
![]() |
lasipK
added to the journal ago
PCB Layout Redesign
ModuPad PCB Redesign: Lessons Learned from V1
While I was measuring my PCB—component measurements, spacing between components, and overall dimensions—I noticed that the PCB measurements were not symmetric, and it would look ugly if it were not a perfect C-shape. Because of that, I decided to place all the components’ 3D models to take a closer look at the design. I have provided a render so it can be viewed as well.
After carefully reviewing and reanalyzing everything, I came to the conclusion that I will redesign the PCB again, as the current version is not very satisfying and looks quite ugly. The whole point of this project is to improve V1 and make a better version—something I was not able to achieve in my previous design.
So, here is the new plan. I will interchange the positions of the encoders and the nice!view. Currently, the nice!view is hard to see from different angles besides the front. After changing its position, it will be easier to view from other angles, such as from the key side. Previously, the three encoders were in the way, but they will not be in the next PCB design.
Next, I plan to make the entire PCB as compact as possible, because the current design occupies unnecessary desk space. It would be wasteful to have a large macropad when its purpose is to provide efficiency and modularity in a small form factor.
Tomorrow, I will start working on the new design. Right now, it is getting very late, and I need to sleep ASAP—otherwise, my mom will seize my PC and ground me for a week, and then I will not be able to continue this project at its current pace.
See you, folks.
Timeline
Start: ~9PM — 24 Jan 2026
End: ~2AM — 25 Jan 2026
Journal entry written: ~2AM — 25 Jan 2026

lasipK
added to the journal ago
PCB Measurements
PCB Measurements:

Before starting the 3D modeling work in Autodesk Fusion 360, I sketched the PCB measurements for ModuPad_v2. The sketch is not to scale; however, all measurements are accurate and were taken directly using KiCad’s measuring tools. These measurements will be used as the foundation for the 3D modeling process in Fusion 360.
The purpose of defining these measurements early is efficiency. In the previous version of ModuPad, I did not plan ahead because I was following the HackPad blueprint-guided tutorial. In this iteration, I am creating the design from scratch, applying the knowledge gained from my first electronics and development project. I am looking forward to using these measurements to proceed with the CAD work.
Timeline
- Start: ~5:00 PM — 23 Jan 2026
- End: ~8:40 PM — 23 Jan 2026
- Journal entry written: ~8:45 PM — 23 Jan 2026
Planned continuation: Work on the project’s CAD case, improving a lot of things for this new version, really looking forward to it.
lasipK
added to the journal ago
Routed the PCB
Finished with PCB Design

Fully complete my PCB design today, PHEW that was a time sink. Had to dig through so many resources online just to get everything right, but it’s finally done. The design is completely based on the sketch from my first journal, including the 5×5 key matrix (Cherry MX style switches) with each Kilah Hotswap socket and each key having its own LED (SK6812MINI-E).
Also added 3 encoders with push buttons — no LEDs underneath them — each with a specific role: one to change the nice!view display mode, another for messing with the switch LEDs (hue, modes, etc.), and the last to interact with the OS (volume, global mute/deafen). The display (nice!view) is fully integrated for visuals, loop animations, status, and text — controllable via keys or encoders depending on user preference.
The MCU (nice!nano) is set up for flashing via ZMK for Bluetooth connectivity and all the other firmware features. Honestly, it’s wild how much can be achieved from this tiny device.
It took me over 2 days straight — I started right after finishing the schematic and didn’t even realize how much time had passed. I got so deep into the PCB that I skipped games, studies, and even meals. Crazy how focused I got.
Timeline
- Start: ~6:00 PM — 21 Jan 2026
- End: 12:00 PM — 23 Jan 2026
- Journal entry written: ~12:30 PM — 23 Jan 2026
Planned continuation: Work on the project’s CAD case, improving a lot of things for this new version, really looking forward to it.
Current Status
- 5×5 key matrix finalized (Cherry MX style switches, each with Kilah Hotswap socket).
- Each key has its own LED (SK6812MINI-E).
- 3 encoders with push buttons (no LEDs), each assigned specific control functions.
- Display (nice!view) fully integrated, controllable via keys and encoders.
- MCU (nice!nano) ready for ZMK flashing and Bluetooth functionality.
- PCB layout fully matches the original sketch from the first journal.
Next up: CAD case design. Excited to start improving this version.
📸 Images
| Front | Front-Side | Back-Side | Back |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
lasipK
added to the journal ago
Schematic
Finished with Schematic
Wrapped up the schematic work today. This session was smoother compared to the earlier one, mostly focused on cleaning things up and finalizing connections that were left open before. Everything aligned with the original plan, and the schematic now feels solid and readable without second-guessing.
It took about 4 hours to complete after the previous journal. Next step is moving straight into PCB design using the sketch from the very first journal.
Timeline
-
Start: ~2:30 PM — 21 Jan 2026
-
End: ~6:00 PM — 21 Jan 2026
-
Journal entry written: ~7:30 PM
- Planned continuation: PCB design session (based on initial sketch)
Current Status
- 5×5 key matrix finalized.
- 3 encoders with push button added.
- One display (nice!view)
- Each Key has its own LED (SK6812MINI-E) .
- Single resistor at the first LED and a shared capacitor for all LEDs
- MCU wiring clearly defined
Next is PCB. It'll be so fun.

lasipK
added to the journal ago
Schematic
Unfinished Schematic — ModuPad_v2
Today’s work focused on developing the ModuPad_v2 schematic, which proved more challenging than expected. The primary difficulty was locating appropriate schematic symbols and matching footprints, a process that consumed significant time and required multiple revisions. Despite several setbacks and restarts, steady progress was made, and the schematic has reached a workable—though incomplete—state.
After approximately 12 hours of concentrated effort, progress slowed due to fatigue. Work was paused intentionally to avoid errors and will resume after sleep (My mom will kill me if i dont). The schematic is still unfinished and will be continued alongside PCB work in the next session.
Unfinished work is heighlietd through red rectangle.
I'll explain the Schematic after its fully finished. ~next-Journal
Timeline
-
Start: ~9:00 AM — 20 Jan 2026
-
End: ~11:55 PM — 20 Jan 2026 (work paused, not complete)
-
Journal entry written: ~11:40 PM
- Planned continuation: ~9:00–10:00 AM — 21 Jan 2026
Current Status
- Core schematic structure established
- Symbols and footprints partially assigned
- Further verification, cleanup, and completion required

lasipK
added to the journal ago
ModuPad_v2 Initial Planning.
ModuPad v2

Presenting ModuPad v2 improved version of ModuPad v1 with 5x5 (25 keys) Macro-Focused, 3 Encoders with push buttons, nice!nano display for visuals and animations, and an nice!nano MCU for pin constraints and simplify design
Planning
- The project began with a review of my ModuPad V1 project, built using a Seeed XIAO RP2040, including a 3×3 key matrix, one rotary encoder, and an OLED display.
- I was planning on 4x4 key matrix, two (2) encoders, each key with addressable LEDs, and an OLED diplay, But as the project evolved I was limited and forced on using the current ModuPad features (mentioned above).
- Based on XIAO RP2040 pins, I was limited on adding more to my PAD, then i decided that the XIAO RP2040 could not realistically support the desired V2 feature set without expanders.
- Then I chose to move away from the XIAO RP2040 and select the nice!nano instead, for my V2 ModuPad.
- The new V2 hardware plan I proposed is as under:
- nice!nano (MCU)
- 5×5 key matrix (25 keys)
- 3 encoders with push buttons
- nice!view display
- Addressable LEDs under each switch key
- Hot-swap sockets
- 1800 mAh Li-ion battery
- Bluetooth wireless operation
I decided that LEDs and the nice!view display would only be used in wired mode.
Wireless mode would disable LEDs and the display to preserve battery life.
Constraints
- XIAO RP2040 will not be used for V2 (limits me from adding more features into V2.
- nice!nano was chosen to reduce pin constraints and simplify design (Gives me alot of room to add more features in V2).
- V2 will use a 5×5 key matrix (Macro-Focused).
- V2 will include 3 rotary encoders with push buttons (For modularity).
- Each key will have an addressable LED for aesthetics and visuals (Because why not? LEDs are Cool Man, I love them as its make things easir when using keys in Night as the lights are off and you cant see shit! And imagin you could set cool modes that changes its Color and hue automatically).
- Hot-swap sockets will be used for all keys as it removes the hassel of sottring the key switches on the PCB, by using Hot-swap it makes things easir when cleaning and replacing a different key switch.
- nice!view will be used as the display to replace ModuPad-V1 "I²C like SSD1306" - 0.91 inc OLED Display
- A 3.7V 1800 mAh battery will be included.
- Bluetooth will be used for wireless operation (for modularity).
- LEDs and nice!view will be disabled during battery operation (to save battery power).
- LEDs and nice!view will only be active during wired (USB) operation (Again to save battery).
Knowledge Gained
- Firmware is software that defines how hardware behaves and communicates with the computer.
- Mechanical switches bounce electrically when pressed.
- Debouncing filters unstable signals caused by switch bounce.
- Ghosting is caused by unintended current paths in a key matrix.
- Diodes prevent ghosting by enforcing one-way current flow.
- Key matrices reduce GPIO usage by organizing keys into rows and columns.
- Addressable LEDs require only one data pin (GPIO) regardless of LED count.
- Displays and LEDs are major contributors to power consumption (IN BATTERY/BLUETHOOT MODE).
Project Status
- ModuPad V2 currently in planning phase.
- Architecture decisions made so far are recorded.
I'm currently in planing phase, that can improve my fisrt project (ModuPad) in both physically and theoretically sector of the main project.
The main goal of this project (ModuPad V2) is to improve my electronics and improve my ModuPad V1 as much as I can, and learn electronic by building this MacroPAD from scratch with having ZERO knowlage on electronic.
*Everything written in this journal took me about 2-3 hours to research, learn and write it down in this jornal and log everything!*
Project Start Date: 05-JAN-2026 | 3:40PM (After submitting MODUPADv1)
Project Progress Status Record: Everything written in this Journal is the proof of what i've learnd and accomplised so far! 18-JAN-2026 | 9 PM
Project Journal Submit Date: 18-JAN-2026 | 10 PM ( Why this much GAP between PeojectStartDate_ AND ProjectJournalSubmit_Date ??? Answer: I was busy with other things for example: Studies. Gaming and other personal stuff!!!)
lasipK
started ModuPad_v2 ago
1/18/2026 - ModuPad_v2 Initial Planning.
ModuPad v2

Presenting ModuPad v2 improved version of ModuPad v1 with 5x5 (25 keys) Macro-Focused, 3 Encoders with push buttons, nice!nano display for visuals and animations, and an nice!nano MCU for pin constraints and simplify design
Planning
- The project began with a review of my ModuPad V1 project, built using a Seeed XIAO RP2040, including a 3×3 key matrix, one rotary encoder, and an OLED display.
- I was planning on 4x4 key matrix, two (2) encoders, each key with addressable LEDs, and an OLED diplay, But as the project evolved I was limited and forced on using the current ModuPad features (mentioned above).
- Based on XIAO RP2040 pins, I was limited on adding more to my PAD, then i decided that the XIAO RP2040 could not realistically support the desired V2 feature set without expanders.
- Then I chose to move away from the XIAO RP2040 and select the nice!nano instead, for my V2 ModuPad.
- The new V2 hardware plan I proposed is as under:
- nice!nano (MCU)
- 5×5 key matrix (25 keys)
- 3 encoders with push buttons
- nice!view display
- Addressable LEDs under each switch key
- Hot-swap sockets
- 1800 mAh Li-ion battery
- Bluetooth wireless operation
I decided that LEDs and the nice!view display would only be used in wired mode.
Wireless mode would disable LEDs and the display to preserve battery life.
Constraints
- XIAO RP2040 will not be used for V2 (limits me from adding more features into V2.
- nice!nano was chosen to reduce pin constraints and simplify design (Gives me alot of room to add more features in V2).
- V2 will use a 5×5 key matrix (Macro-Focused).
- V2 will include 3 rotary encoders with push buttons (For modularity).
- Each key will have an addressable LED for aesthetics and visuals (Because why not? LEDs are Cool Man, I love them as its make things easir when using keys in Night as the lights are off and you cant see shit! And imagin you could set cool modes that changes its Color and hue automatically).
- Hot-swap sockets will be used for all keys as it removes the hassel of sottring the key switches on the PCB, by using Hot-swap it makes things easir when cleaning and replacing a different key switch.
- nice!view will be used as the display to replace ModuPad-V1 "I²C like SSD1306" - 0.91 inc OLED Display
- A 3.7V 1800 mAh battery will be included.
- Bluetooth will be used for wireless operation (for modularity).
- LEDs and nice!view will be disabled during battery operation (to save battery power).
- LEDs and nice!view will only be active during wired (USB) operation (Again to save battery).
Knowledge Gained
- Firmware is software that defines how hardware behaves and communicates with the computer.
- Mechanical switches bounce electrically when pressed.
- Debouncing filters unstable signals caused by switch bounce.
- Ghosting is caused by unintended current paths in a key matrix.
- Diodes prevent ghosting by enforcing one-way current flow.
- Key matrices reduce GPIO usage by organizing keys into rows and columns.
- Addressable LEDs require only one data pin (GPIO) regardless of LED count.
- Displays and LEDs are major contributors to power consumption (IN BATTERY/BLUETHOOT MODE).
Project Status
- ModuPad V2 currently in planning phase.
- Architecture decisions made so far are recorded.
I'm currently in planing phase, that can improve my fisrt project (ModuPad) in both physically and theoretically sector of the main project.
The main goal of this project (ModuPad V2) is to improve my electronics and improve my ModuPad V1 as much as I can, and learn electronic by building this MacroPAD from scratch with having ZERO knowlage on electronic.
*Everything written in this journal took me about 2-3 hours to research, learn and write it down in this jornal and log everything!*
Project Start Date: 05-JAN-2026 | 3:40PM (After submitting MODUPADv1)
Project Progress Status Record: Everything written in this Journal is the proof of what i've learnd and accomplised so far! 18-JAN-2026 | 9 PM
Project Journal Submit Date: 18-JAN-2026 | 10 PM ( Why this much GAP between PeojectStartDate_ AND ProjectJournalSubmit_Date ??? Answer: I was busy with other things for example: Studies. Gaming and other personal stuff!!!)
1/21/2026 12 AM - Schematic
Unfinished Schematic — ModuPad_v2
Today’s work focused on developing the ModuPad_v2 schematic, which proved more challenging than expected. The primary difficulty was locating appropriate schematic symbols and matching footprints, a process that consumed significant time and required multiple revisions. Despite several setbacks and restarts, steady progress was made, and the schematic has reached a workable—though incomplete—state.
After approximately 12 hours of concentrated effort, progress slowed due to fatigue. Work was paused intentionally to avoid errors and will resume after sleep (My mom will kill me if i dont). The schematic is still unfinished and will be continued alongside PCB work in the next session.
Unfinished work is heighlietd through red rectangle.
I'll explain the Schematic after its fully finished. ~next-Journal
Timeline
-
Start: ~9:00 AM — 20 Jan 2026
-
End: ~11:55 PM — 20 Jan 2026 (work paused, not complete)
-
Journal entry written: ~11:40 PM
- Planned continuation: ~9:00–10:00 AM — 21 Jan 2026
Current Status
- Core schematic structure established
- Symbols and footprints partially assigned
- Further verification, cleanup, and completion required

1/21/2026 11 PM - Schematic
Finished with Schematic
Wrapped up the schematic work today. This session was smoother compared to the earlier one, mostly focused on cleaning things up and finalizing connections that were left open before. Everything aligned with the original plan, and the schematic now feels solid and readable without second-guessing.
It took about 4 hours to complete after the previous journal. Next step is moving straight into PCB design using the sketch from the very first journal.
Timeline
-
Start: ~2:30 PM — 21 Jan 2026
-
End: ~6:00 PM — 21 Jan 2026
-
Journal entry written: ~7:30 PM
- Planned continuation: PCB design session (based on initial sketch)
Current Status
- 5×5 key matrix finalized.
- 3 encoders with push button added.
- One display (nice!view)
- Each Key has its own LED (SK6812MINI-E) .
- Single resistor at the first LED and a shared capacitor for all LEDs
- MCU wiring clearly defined
Next is PCB. It'll be so fun.

1/23/2026 12 PM - Routed the PCB
Finished with PCB Design

Fully complete my PCB design today, PHEW that was a time sink. Had to dig through so many resources online just to get everything right, but it’s finally done. The design is completely based on the sketch from my first journal, including the 5×5 key matrix (Cherry MX style switches) with each Kilah Hotswap socket and each key having its own LED (SK6812MINI-E).
Also added 3 encoders with push buttons — no LEDs underneath them — each with a specific role: one to change the nice!view display mode, another for messing with the switch LEDs (hue, modes, etc.), and the last to interact with the OS (volume, global mute/deafen). The display (nice!view) is fully integrated for visuals, loop animations, status, and text — controllable via keys or encoders depending on user preference.
The MCU (nice!nano) is set up for flashing via ZMK for Bluetooth connectivity and all the other firmware features. Honestly, it’s wild how much can be achieved from this tiny device.
It took me over 2 days straight — I started right after finishing the schematic and didn’t even realize how much time had passed. I got so deep into the PCB that I skipped games, studies, and even meals. Crazy how focused I got.
Timeline
- Start: ~6:00 PM — 21 Jan 2026
- End: 12:00 PM — 23 Jan 2026
- Journal entry written: ~12:30 PM — 23 Jan 2026
Planned continuation: Work on the project’s CAD case, improving a lot of things for this new version, really looking forward to it.
Current Status
- 5×5 key matrix finalized (Cherry MX style switches, each with Kilah Hotswap socket).
- Each key has its own LED (SK6812MINI-E).
- 3 encoders with push buttons (no LEDs), each assigned specific control functions.
- Display (nice!view) fully integrated, controllable via keys and encoders.
- MCU (nice!nano) ready for ZMK flashing and Bluetooth functionality.
- PCB layout fully matches the original sketch from the first journal.
Next up: CAD case design. Excited to start improving this version.
📸 Images
| Front | Front-Side | Back-Side | Back |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
1/23/2026 8 PM - PCB Measurements
PCB Measurements:

Before starting the 3D modeling work in Autodesk Fusion 360, I sketched the PCB measurements for ModuPad_v2. The sketch is not to scale; however, all measurements are accurate and were taken directly using KiCad’s measuring tools. These measurements will be used as the foundation for the 3D modeling process in Fusion 360.
The purpose of defining these measurements early is efficiency. In the previous version of ModuPad, I did not plan ahead because I was following the HackPad blueprint-guided tutorial. In this iteration, I am creating the design from scratch, applying the knowledge gained from my first electronics and development project. I am looking forward to using these measurements to proceed with the CAD work.
Timeline
- Start: ~5:00 PM — 23 Jan 2026
- End: ~8:40 PM — 23 Jan 2026
- Journal entry written: ~8:45 PM — 23 Jan 2026
Planned continuation: Work on the project’s CAD case, improving a lot of things for this new version, really looking forward to it.
1/25/2026 - PCB Layout Redesign
ModuPad PCB Redesign: Lessons Learned from V1
While I was measuring my PCB—component measurements, spacing between components, and overall dimensions—I noticed that the PCB measurements were not symmetric, and it would look ugly if it were not a perfect C-shape. Because of that, I decided to place all the components’ 3D models to take a closer look at the design. I have provided a render so it can be viewed as well.
After carefully reviewing and reanalyzing everything, I came to the conclusion that I will redesign the PCB again, as the current version is not very satisfying and looks quite ugly. The whole point of this project is to improve V1 and make a better version—something I was not able to achieve in my previous design.
So, here is the new plan. I will interchange the positions of the encoders and the nice!view. Currently, the nice!view is hard to see from different angles besides the front. After changing its position, it will be easier to view from other angles, such as from the key side. Previously, the three encoders were in the way, but they will not be in the next PCB design.
Next, I plan to make the entire PCB as compact as possible, because the current design occupies unnecessary desk space. It would be wasteful to have a large macropad when its purpose is to provide efficiency and modularity in a small form factor.
Tomorrow, I will start working on the new design. Right now, it is getting very late, and I need to sleep ASAP—otherwise, my mom will seize my PC and ground me for a week, and then I will not be able to continue this project at its current pace.
See you, folks.
Timeline
Start: ~9PM — 24 Jan 2026
End: ~2AM — 25 Jan 2026
Journal entry written: ~2AM — 25 Jan 2026

1/26/2026 - New Design
Re-Routed the PCB!
Just finished the new PCB design—phew! That was time-consuming. I had to change a few things I mentioned in my previous journal (interchanging the nice!view and encoder positions). However, in the new design, I had to make additional adjustments. Simply swapping the positions would not have kept the PCB as compact as I intended.
After watching several YouTube tutorials on the nice!view—since I was having issues with its viewing angle due to it being attached directly to the PCB with no support to raise it—I learned how to use the nice!view properly. I managed to place it above the nice!nano, which allows it to be viewed clearly by the user. This turned out to be the best possible placement for the display and also helped keep the PCB as compact as possible, as both the nice!view and nice!nano now share vertical space.
Both the nice!nano and nice!view are connected using headers and socket pins. This lifts them above the PCB and also makes them much easier to remove without using a soldering iron. The idea is similar to using Kailh hotswap sockets for key switches—it eliminates the hassle of soldering when dealing with components that may need to be removed or replaced frequently.
Because the nice!nano is now elevated using headers, the space underneath it is free. I took advantage of this by relocating both the nice!nano reset switch and the power switch to sit underneath the nice!nano. This change made placement much easier and avoided layout issues, while also making better use of the available space.
If you are not fully getting what I am describing, the rendered images should make things much clearer. I have used as many accurate 3D models as possible, based on the actual footprints and components, and rendered them into images to clearly visualize the design. This helps both me and the reader better understand how everything fits together and what I am referring to.
Finally, to fully verify the design, I added the nice!view cutout display cover, which I plan to purchase along with the nice!view and the other components for this project. Once again, the rendered images serve as a visual representation of the entire project.
Timeline
Start: ~11AM — 25 Jan 2026
End: ~6:30PM — 26 Jan 2026
Journal entry written: ~7PM —26 Jan 2026
Images / Renders
| nice!view and nice!nano | nice!view Cover | Swithces |
|---|---|---|
![]() |
![]() |
![]() |
1/29/2026 10:10 PM - PCB
Final touches:
Just finished the final touches on the PCB—branding is complete and the design rule check has passed. I’m now measuring the board and will move on to sketching it in Autodesk Fusion 360.
Timeline:
Start: 11:30AM - 27 Jan 2026
End: 12:20PM - 27 Jan 2026
Journal entry written: 12:25PM - 27 2026
Branding -

New PCB-Design Measurements:

These measurements are accurate based on KiCad PCB measuring tool!
1/29/2026 10:20 PM - CAD
Bottom Case of ModuPad:
Just finished with the design of my Bottom case and rendered it.
Start: 2PM - 29th Jan 2026
End: 10PM - 28th Jan 2026
Journal entry written:10:20PM 29th Jan 2026
Rendered Image:

1/31/2026 - CASE_Upper-Plate
5x5 Keys Dimentions:
Just finished skecthing the Upper-Plate of my case!

Timeline:
Start: 31 Jan 2026 | 10PM
End: 31 Jan 2026 | 11:59PM
Journal entry written: 31 Jan 2026 | 11PM
2/14/2026 - CAD Completed!!!
CAD Completed:
Full case CAD is finished.
In the previous version of this project, I made a critical mistake: I did not insert the CAD models of every component and verify the full assembly before finalizing the design. During physical assembly, I discovered a positioning error with the encoder and the display. I managed to work around it, but it was inefficient and avoidable.
This time, I corrected that mistake.
Every component was inserted into the assembly. All dimensions were verified. Clearances were checked. Alignment was confirmed. No assumptions.
Lesson learned: never trust isolated part design. Always validate the full system assembly before calling a revision complete.
Timeline:
Start: 2-Feb-2026
End: 14-Feb-2026 | 5:00 PM
Journal Entry Written: 14-Feb-2026 | 9:40 PM
The large gap between start and end dates was due to ModuPad_v1 being delivered during this period. I shifted focus to debugging its firmware, as it was not functioning correctly.

Ignore the random lines coming out of the case. They are not part of the enclosure.
Those artifacts are from the PCB mesh and were introduced during the KiCad PCB CAD export. It is a known export glitch, not a modeling error in the case itself.
They can be disregarded.
2/17/2026 - BOM
Fully Completed the BOM, BOM Includes all the parts that are needed for this project to complete, i've also include the cart images with links of each product.
Project is ready to be submited!!!!
Writting the README for this project in github repo, then i'll submite the Project.

Timeline
Start: 14-Feb 2026 | N/a
End: 17-Feb 2026 | 09:00 PM
Journal Entry Written: 09:00 PM
2/27/2026 - Optimized BOM !!!
BOM
I optimized the BOM as much as I could and removed unnecessary items, like the USB cable. I didn’t include the heat inserts in the BOM pricing since I’ll be buying those myself. I also double-checked that all the item links are working properly.
Ignore the removed items in the cart screenshot — they won’t be purchased and are no longer part of the project.
The only reason I consider this a Tier 2 project is because of the PCB and shipping cost. A 100 × 100 mm PCB is around $2, but my board is 125 × 105 mm. I can’t realistically shrink it to under 100 × 100 mm because the 5 × 5 key switches already take up about 95 × 95 mm. On top of that, I still need space for 3 encoders and the nice!nano, so reducing the size further isn’t possible.
BOM is avaliabe inthe README.md and also in the BOM folder, i'll also put down link for easy access.
README.md
BOM
Cart_Screenshots

3/9/2026 12 AM - Re-Designing !
Main Issue
To reduce the COST of this project, we need to remove nice!view display as it costs +20$. I can remove the display from our project, but here's another issue I'm gonna face if i remove the vice!view, which is that after I remove the nice!view, i'll be no longer eligible for free dlivery from Typeractive, and dlivery it self will cost 15$. and its like digging my own grave.
Solution
To solve the above issue, I'll have to ditch Typeractive shop for my other components in that case, as I can't afford its dlivery fee. In that case I'll need to look somewhere else for my PAD comopents, and I found just the place, which's cheeper and reliable, and that's AliExpress. I researced a lot on it, found each component I require to complete this project. and for Display I'll be using 0.91 inch 128x32 OLED Display, Its Cheep and reliable as a replacement for nice!view.
To proceed with this plan i'll need to re-desig my whole Schematic and PCB, Which I did. In Schematic I removed nice!view and replaced it with 0.91 inch 128x32 OLED, and added another power switch to manually toggle the display and LEDs off.

Timeline
Start: 06-March-2026 | 4PM (AliExpress Research)
Start: 06-March-2026 | 9PM (Schematic Work)
End: 07-March-2026 | 3AM
Project Entry Written: 09-march-2026 | 12:15AM
3/9/2026 2:34 AM - Re-Designing PCB!
PCB
After completing changes in Schematic editor i switched to PCB editor. I created new PCB editor file and moved old one to "OLD-Desing" folder. Then I stared working on placing footprints where it should be. but this time I changed the design slightly by moving everything to each other as close as possible by using "Position Relative To Reference Item" tool. that help alot.
You'll notice that there are no mounting hole at the edge of out PCB, compared to our previous design. Its because I'll pe placing them inside the around the keys and other components, as in previous design they were taking Unnecessary area.

Timeline
Start: 08-March-2026 | 4PM
End: 08-March-2026 | 10PM
Jornal Entry Written: 09-March-2026 | 2:30AM
3/9/2026 2:47 AM - Struggling With SK6812MINI-E LED FootPrint
SK6812MINI-E LED.
"SK6812MINI-E LED" footprint was such a pain in the rear, footprint was not like the one I needed, was having issuse like, different positions of pad, that dosent matches its DataSheet. I some how managed a way by making it according to its datasheet using footprint editor.
Took me alot of time like more than 6 hours just to do it. testing different footprints, re-assigning over and over. It was so frustrating. but somehow I managed to do it.

Start: 08-March-2026 | 6PM
End: 08-March-2026 | 11:30 PM (Was also working on other things, such as positioning of footprints)
Jornal Entry Written: 09-March-2026 | 2:50 AM
3/11/2026 4:00 AM - Routed PCB
PCB Pouting Completed
Routing the PCB is completed, and DRC is also clean with no major errors, just some warning that are safe to be ignored.

Timeline
Start: 09-March-2026 | 4PM (Initializing routing)
End: 10-March-2026 | 3PM (finalizing routing + DRC)
Jorunal Entry Written: 11-March-2026 | 4AM (No-Internet Connection)
3/11/2026 4:15 AM - Update BOM
Update BOM based on new display footprint.
Updated BOM.md & BOM.csv based on new odering site and new o.91 OLED Display. Total cost of the pad is now under 100$ including shipping. Every item link is provided with cart screenshots. BOM is also avaliabe inside README.md in GitHub REPO.
links
BOM.md |
BOM.csv |
|---|---|
![]() |
![]() |
Timeline
Start: 10-March-2026 | 4PM
End: 10-March-2026 |5PM
Jornal Entry Written: 11-March-2026 | 4:10 AM








