stardance has been extended another month! the new deadline is october 31 :)

You are browsing as a guest. Sign up (or log in) to start making projects!

arnav-hackpad

Hardware
  • 8 Devlogs
  • 17 Total hours

I am building a top-mounted macropad with 10 key switches, 2 rotary encoder + switches, and KMK firmware.

Ship #1 Pending review

arnav-hackpad


The arnav-hackpad is a mini-keyboard (or macropad) designed to act as an external number pad with navigation and mouse capabilities, too! It has 10 keyswitches and two rotary encoders. There is a PCF8574AT module (Input/Output pin expander), a top-mounted case, and two layers of keycodes.

Challenges

Making the macropad was super challenging, since each step of the way required deep research and analysis. It was my first time making something hardware related, so I had no idea how any of the software tools worked or how all the hardware would integrate together. I find it funny now that I spent hours trying to figure out which pin on the microchip I should put my keyswitch matrix wires on (the answer is any one of them!). And that was just the beginning. When making CAD models in Autodesk Fusion, I had to learn how sketches and extrusion work from square one. I looked at so many sources just to confirm my dimensions were correct. After I started making my hackpad in real life, I realized I had done so much wrong. The cable wouldn’t fit, and none of the keys worked! After 3 days of nonstop research, I decided to ask AI for help. First, I checked if my files were in the right spot. Then, I used a multimeter to check if electricity was flowing through the board. I ended up deciding to order pull-up resistors, which did the job by pulling the SDA and SCL lines to 3.3V when idle, making the communication system between the chips work. Additionally, to make a PCF8574AT Scanner work, I had to write TONS of code. Navigating through the challenges was difficult, but each one taught me something that brought me closer towards success.

Success

When I was holding the pull-up resistors in place and the terminal printed “0x38”, I knew I was onto something. I uploaded the code and watched my screen in shock as I clicked the keys and saw the correct outputs. I was shocked that I was not far from a triumph, one that I had longed for over almost three months, and after soldering the pull-up resistors in place, everything worked flawlessly! I am proud of myself for having the grit and determination to, in the first place, accept the challenge of making a macropad. I stayed up long nights debugging software and hardware issues, but it was all worth it. Along the way, I learned many foundational skills in mechanical engineering and firmware coding.

Creativity and Technicality

I have added a lot of tools to make this project easy to demo and make, while also including some touches of creativity to make the project more personal. On my slideshow, you can see and interact with all of the individual parts. There is a video to show all of the features of the macropad. On the plate next to the keyswitches, I have added a logo I created with my name on it. Instead of choosing the common sandwich keyboard case, I chose a top-mounted keyboard case to make the keys loud and firm. I took on the challenge to include an I/O expander, even though not many people in the hackpad slack page knew about it. If you want to make the macropad, I have a guide. You must know how to solder to create it. Make sure you double check everything you do, as one small mistake can have a tremendous impact. In the end, you’ll have a beautiful macropad.

To learn more about the hackpad and to see an in-depth description, visit my github README.

Video of Project → See source code →
Open comments for this post

57m 2s logged

I have built and finished my macropad! I made many changes to make the hackpad work, like adding pull up resistors, and reworking the code from the beginning. Now, I have a functional macropad, and have added 2 layers! My README was also drastically changed, as the file is a lot bigger. Some changes in the CAD files made the cable easier to fit, and the design of the plate was changed. I added a video of the hackpad working IRL. Now, I feel more comfortable with PCBs, coding, and 3-D printing. This was a great learning experience!

0
0
19
$0 B Tier

Great work on the macropad, and i love how much detail is in the CAD presentation - i can really see the effort ! approved !

Open comments for this post

3h 43m 42s logged

I finished creating my ReadMe! It has an intro, a not too long or short description of all the parts of the hackpad, a how to make it part, lots of links, and lots of pictures!

0
0
15
Open comments for this post

2h 31m 4s logged

I finished making all my CAD files, and I put everything in Github! I added a USB-C cutout on the bottom part of the hackpad, and put a design on the plate. I also put everything together in an assembly file. I finally finished!

0
0
60
Open comments for this post

1h 5m 37s logged

I finished the firmware for the hackpad! All the rotary encoders and key switches are coded in KMK because QMK doesn’t have direct integration with PCF8574 expanders. Finally, I have to double-check my work and put it all on Github. I put a screenshot of part of my code below.

0
0
8
Open comments for this post

3h 44m 41s logged

I finished the case of the macropad! To make it in a top mount layout, I included 3 parts: the plate, the bottom part, and the top part. Next, I will create the firmware.

0
0
6
Open comments for this post

2h 38m 10s logged

I finished my PCB design! After a lot of messy wiring, I have a board that has the main components laid put exactly as I planned. The DRC still throws “Silkscreen clipped by solder mask” errors, but I don’t think anything of the functionality of the board is still broken. I will now move on to making the case of the board.

0
0
7
Open comments for this post

1h 13m 2s logged

I finished my schematic. I used matrix wiring for 10 keys and added 2 rotary encoders with switches. I used a 8-bit I/O expander to fit all the global tags.

0
0
7
Open comments for this post

1h 22m 21s logged

I followed all the instructions for the HackPad. I forgot to log me making the PCB, so a lot of my time wasn’t logged. Also, it took me a long time to figure out how to navigate through KiCad and Fusion. In the end, I was able to make a PCB board and case that are almost identical to the one in the instructions. Now, I will make my own customizations to the PCB board and case.

0
0
6

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…