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

raghavsharma1214

@raghavsharma1214

Joined June 27th, 2026

  • 41Devlogs
  • 6Projects
  • 2Ships
  • 6Votes
Just a highschooler doing stuff over the summer
Ship Changes requested

A custom macropad, where I design a small keyboard to address all of my sim-racing needs. This is mainly a design project for now. I won’t be able to recieve the parts I got funding for (so I didn’t use the funding) before September 30th, so I’m submitting this design. This macropad stands out from other ones because clicking down on the rotary encoder toggles it from custom macro shortcuts to a classic numpad. This is my first time using freecad and KiCAD, so appreciate your feedback.

This macropad consists of 12 switches and one rotary encoder with a switch feature. It is designed with a 3d-printable body, so feel free to use whatever colors you want! Same with the rotary encoder knob.

Thanks a lot guys, this mission really taught me well about CAD and PCB design. It paved the way to my current project, which you can check in my profile.

  • 0 devlogs
  • 0h build
Video of Project → See source code →
Open comments for this post

1h 42m 3s logged

I finally was able to remove the trillion verticies frying my ram. I used the remesh modifier. It make the topology a bit cursed, but its ight since its going to be 3d printed. I don’t really know what to do about the holes. Create an extended part of the keyboard specifically for the holes? idk son 😭

0
0
21
Open comments for this post

42m 1s logged

I am fixing the stuff and adding holes and all, but blender froze. I reverted it cuz I didn’t want to lose the project. It’s late anyway. i’ll do it tomorrow (along with 5 APs in school :( )

0
0
12
Open comments for this post

3h 14m 1s logged

This is the final render. Pls comment if I should change anything
Edit: I saw those two weird white lines and removed them. IDK why they were there in the first place.
Yep so hopefully looks fine now.

0
0
39
Open comments for this post

1h 12m 30s logged

I finalized the keyboard design (hopefully…)
I added sections for rubber feet
Made the case slightly longer for the bottom to have some thickness, and all sorts of other stuff. Now onto rendering or sum idk.

0
0
11
Open comments for this post

1h 3m 44s logged

My design is cooked…

The plate is same in dimensions as the PCB, so there is no way for the gasket support to fit between PCB and plate without losing structural integrity or just not fitting if I’m 3d printing. So I think the workaround here is to widen the plate across the y-axis and use those protrusions as support for the gaskets.

Idk I’ll see how the flow goes lowk.

Even though right now it is a kind-of gasket mount, this classifies it as a semi kind-of gasket mount lmao

Also, I’m deciding that I will do a silicon pour under the PCB for maximum sound insulation. it will also add weight to the keyboard, to keep it anchored and NOT rattly.

next will be to double check all parts of keyboard, make sure everything has proper thickness, and hope for the best!

0
0
19
Open comments for this post

1h 37m 3s logged

building even more of the case

I finished up the general shape of the case. I created an opening for the USB-C port, and now I have to give the walls actual thickness and stuff, and check for stuff. This case design is really cursed because instead of combining two walls, I just placed the verticies in the same place instead of joining lmao

2
0
13
Open comments for this post

2h 15m 1s logged

Okay so I swapped up the case design agian. I had to redesign eveyrthing because the top part of the case is too shallow for the esp-32 s3.

Also I have to make sure the walls have thickness right now they are just 0mm thick.

BTW, what i’m doing in this keyboard case, is something rarely done before. I’m creatign a gasket mount but no the regular kind. THis one will consist of poron foam tape spanning the entire perimeter as the “gasket”

0
0
25
Open comments for this post

2h 8m 53s logged

Working on the keyboard case…

I made the exterior look all nice (ish), but I didn’t create the semi-gasket mount. An invention of my own

The “gasket” is just foam tape going around the whole perimeter of the keeb’s plate. Absorbing vibrations and enhancing “thoccieness”

Hell yeah
I still have to finish the case. It isn’t close to being done yet. This is a rough “sketch”

0
0
10
Open comments for this post

1h 43m 1s logged

Now I’m transitioning to blender for the case design. I like blender because I can fine tune the aesthetics and all.

SO I set up the case basics and everything, and did allat yk. it looks pretty nice. I used a pre-designed set of keycaps online because I won’t be making those, but ordering them instead. anyway, it all looks pretty nice!

2
0
36
Open comments for this post

1h 31m 1s logged

Finished placing the keys, a daunting task.

I had to manually place the keys, reference what the offset is compared to otehrso n the guide, etc etc.

And get this: It is all just for the visual cad represenation when this finishes.

lmao

2
0
27
Open comments for this post

1h 25m 2s logged

Changes, and advancements in pcb design…

I decided that i will use a top-mount case, much easier to manufacture than gasket mount, which I am alien to… kind of.

What I’m doing is kind of a combination of top mount case and gasket mount. I will use a foam tape as a sort of gasket type thing, but it will span the entire perimeter of the keyboard, instead of specific gasket areas, allowing me to get a proper thocky sound but at an easier way to design it.

I’m also placing all the keys now for visual representation.

0
0
6
Open comments for this post

15h 43m 52s logged

Transitioning from Macondo

I realized that I won’t be able to complete this project in time for macondo, so, instead I will do the project here!

All the logs for the creation process are on macondo, I can provide as per request, but I’ll be continuing off of here.

0
0
21
Open comments for this post

2h 45m 31s logged

Refactoring Dataset Generation

Implementing dataset generation checkpoints, in case generation fails, I can just start from where I left off. Also employs synthetic dataset generation.

Basically I’m rewriting the compile_confirmed_dataset and same for negative dataset to include checkpoints and all, because last time when I tried to generate dataasets without this it led to the endpoint giving an error and my whole generation is wasted. Even though it took 12+ hours to generate it

0
0
4
Loading more…

Followers

Loading…