community forum

thnikk's Osu! Keypads [Development]

Total Posts
show more
The Gambler

Thnikk wrote:

Thou hast finally joineth teh 4k race xD.

Also pretty sure you can print batches of the same parts, so that should save on time.
Topic Starter
Update 9/13/16

Hello everyone! Since the thread is shifting more towards a more changelog-style format, I'll be trying to conform to that here. The new keypads are up on the shop and there is one addition to the lineup while one has been taken away.

All models...
now use 3D printed cases. It's been a log time coming, but they're finally here.
are smaller! 65 to 52 mm, 35 to 32 mm, and 20 to 15 mm.
have more accurate cutouts for the switches, micro-USB port, and side button.
use tactile switches instead of the previous panel-mount buttons. These are a bit lower profile and also give tactile feedback wen pressed.
use "suction tape" instead of the previous scotch restickable tabs. In my experience so far it's been a but more resilient and sticks to the keyboard side much better.

All models EXCEPT for the LED model...

can have their switches opened.

No model specific updates, but we can now welcome...

The 4K Keypad!

Thank you to everyone for their patience. I've been wanting to make this for a while now and was finally able to do it with my 3D printers.

Side Projects

There are also some other things I've been working on. Here is the Baka Mouse (name subject to change) and the 1K Keypad.

The Baka Mouse (name subject to change) is intended to imitate the trackpoint experience found on an IBM Thinkpad (no, not Lenovo with their clickpad.) It's meant to sit below your keyboard centered under your spacebar, so you can type and move your cursor without having to move your right hand (or left if you're a lefty) away from the keyboard. This is especially useful when programming or for anything keyboard intensive. It's a bit too tall right now and the buttons are too small, but I've been wanting to make this for about a year now so it's nice to finally have a prototype.

The 1K Keypad was made for someone who wanted to use my keypads for a cognitive science experiment. It doesn't exactly fit for osu, but I designed it so I may as well put it up on the shop! I'm still working out the kinks but that will be coming soon.

I also painted and reprinted some of the parts for my Project Diva controller. Not exactly sure where I'm going with this, but I'm happy to have it to play Future Tone. I do plan on adding some additional lighting effects with the analog sticks soon, but it's kind of low priority at this point.

For more info and updates, please follow me on twitter! [link]
The Gambler

Thnikk wrote:

The 4K Keypad!
That 4K keypad looks *muwah* fantastic!!.. Sigh
Wow the 4k keypad looks really good! Nice job on this!
Topic Starter
Update 11/21/16
Hello everyone! It's been a while since the last update so I just wanted to check in and say all is well. Sales have been good and though I haven't really talked much of new products lately, I definitely feel as though I'm continuing to refine both my 3D modeling/printing and programming skills. Speaking of no new products lately...

Macro Keypad

This was such a spur of the moment project. I got two similar requests -- an arrow key keypad and a 2x3 macro keypad. I had already modeled the arrow keypad when I got the macro request, so I thought one design would work fine for both and there's no downside to getting two extra keys.

The big feature here is that each key can be mapped to a key and up to two modifiers. That means you can use it to play osu or use as WASD or arrow keys, use it in conjunction with autohotkey and open programs or change your volume, the sky is the limit. This is definitely less of an osu specific keypad, but also allows for some more freedom that my 2k keypads don't offer if you'd like additional functionality. You could easily have it set up for z, x, smoke, up, down, and escape. You could even make one of the keys a modifier and reassign the keys in the game to take advantage of that.

Hopefully coming in early December!

Switch Opening Kit
Not much to say here but the parts are on the way! Hopefully also coming in early December. It will come with tweezers, a tool to keep one side of the switch open, and 2-6 switches.

Other Projects
The baka mouse is currently on hiatus as I've had more interesting projects lately. Getting natural-feeling mouse movement was much more difficult than I initially expected and I might be more interested in looking for an alternative to the PSP analog stick all togther. It is still something that I'd like to have though so it's definitely on the to-do list.

The 1K keypad is a great example of something that takes no time at all to work on which is the perfect excuse for not working on it. It's definitely not a priority though and I'd rather spend my time working on the macro keypad for now.

I've wanted an official page for documentation for a while, and I think ReadTheDocs is perfect. I can update everything easily though GitHub and I don't have to waste my time trying to make it look clean and simple, so I can spend more time writing documentation. Check it out here!


With the code I've written for the macro keypad (the 4K too), I think I'm getting much better at writing clean and concise code. Since all of my keypads use the same microcontroller, there's no reason that I couldn't go back and add this serial remapper to all of the other models. While I'm at it, I may rewrite all of the code or edit it if it's simple enough.

Gateron Switches

As some of you have noticed, I'm currently out of Gateron clears. Not a huge problem, just buy some more, right?

Unfortunately, the switches I use for my keypads are no longer being made. The normal Gaterons with the milky white case have been replaced with black bottom and clear tops. These are 100% incompatible with my current setup, but that doesn't mean the RGB keypads are going away. In fact, with the macro keypad, they might be getting an addition to the family.

But if I can't get more of these switches, how am I going to continue? I'll use the SMD LED switches, of course! These have small notches in the bottom that are meant to accommodate surface mount LEDs on a PCB. The only downside is that they may only fit 3535 LEDs instead of the 5050s I use which limits me to RGB. It's not too much of a problem since I only switched to RGBW for simpler code and there's little to no aesthetic benefit, but I'll have to change the code a little bit which I was planning on doing anyway. I'll be getting the switches in later this week (hopefully) and try go get this figured out.

The Gambler wrote:

That 4K keypad looks *muwah* fantastic!!.. Sigh

Cawub wrote:

Wow the 4k keypad looks really good! Nice job on this!
Thanks guys! I'm really happy with how it came out :)
The Gambler

Thnikk wrote:

I've wanted an official page for documentation for a while, and I think ReadTheDocs is perfect. I can update everything easily though GitHub and I don't have to waste my time trying to make it look clean and simple, so I can spend more time writing documentation. Check it out here!


With the code I've written for the macro keypad (the 4K too), I think I'm getting much better at writing clean and concise code. Since all of my keypads use the same microcontroller, there's no reason that I couldn't go back and add this serial remapper to all of the other models. While I'm at it, I may rewrite all of the code or edit it if it's simple enough.
Sigh. my noobius maximus in code is showing... I'll somehow adopt your code to the teensy, one day.
Have been using mine (Basic Keypad/Cherry MX Red) for half a month, so far I'm very satisfied and it gets the job done precisely. Would highly recommend!! 8-)
Topic Starter
Update 12/20/16
Happy holidays everyone! I've been meaning to post an update for a while so I have a lot to post about now.

Switch Changing Kit

I actually wrote this entire post before I remembered that I never even posted about this. The switch changing kit is up on the shop and the guide is up on!

Quick Start Guide
I realize that some things aren't totally 100% clear with my keypads so I wanted to make a quickstart guide for customers to use right when they get their keypad. There are still some things I want to add but it's also available on

Stock Update
Gateron clears and browns are back in stock!

Gateron SMD Switches
As I mentioned in my previous post, Gateron is no longer making their milky-white switches that I've been using for my RGB keypads for the past year and a half. I was initially worried when I couldn't find them from my normal suppliers anymore, but my worries were washed away when I saw Gateron's SMD switches.

These are meant to be used on a PCB with SMD LEDs (hence the name,) but they still work just as well. The only problem is that they only (easily) fit 3535 SMD LEDs and I was using 5050 LEDs which are considerably larger, which leads us to the next update...

Small Hardware Update
Both the RGB and 4K keypads have moved back to RGB LEDs. The RGBW were nice for programming, but the white LED didn't really provide any visual benefit. Whites could get brighter, but the rainbow effect of using the 3 LEDs in an RGB LED is severely mitigated in my keypads because the light is diffused, so it's very difficult if not impossible to even see the individual LEDs when they are white.

I also rewrote all of the code to work perfectly with them so it's no problem. The code is even backwards (forwards?) compatible with RGBW LEDs so you can still use it on your keypads if you have an older model! This is yet another segue...

Small Feature Change
The 4K Keypad has had a slight change made to the LED modes to make it more consistent with the RGB model. The modes are now:

Cycle: Smoothly transitions from red to green to blue and back to red (same as the RGB keypad)
Reactive: Turns white on keypress and goes from white to red to green to blue to off on release
Push-off: Inverted Reactive
Custom: Set the color of each LED individually
BPM: Color of all LEDs change depending on how many times the keys are pressed per second.
Taiko: Taiko color scheme (blue orange orange blue)

Gone is the cascading cycle because I thought it looked too distracting and the per-key BPS because why would you want that? If anyone DOES prefer the old modes, let me know and I can hook you up.

Big Code Update
Since I had to rewrite the code for the RGB and 4K models, I thought it would be nice to make it more worthwhile and invest a bit of time into a feature I've been wanting to expand upon for a while now. Along with some cleanup and uniformity, all models now feature the new and improved serial remapper. This allows each face key to be mapped to up to 3 buttons so you can use it as a macro key. The side button cannot be remapped and I don't plan on changing that since it's a multipurpose button.

There are still some limitations, though. It can still only do printable characters and !#^+ are excluded since those are used for the modifier keys. I am planning on releasing an update that makes it a little simpler to change these manually through the code as a temporary fix, but I would like to have it working 100% soon. Eventually. I'll try.

All code is available on my GitHub: [link]
If you'd like to update the code on your keypad, you can follow my reprogramming guide here: [link]

Side Projects
It's the holiday season and I've unfortunately had less time to work on new products. It's been a busy time and a lot of my spare time has gone to playing around with micropython. However, I am still hoping to get these out there in one form or another with at least one of them coming out in the next month.

Project Diva Mini MINI controller
I still get comments on my youtube video of the Project Diva Future Tone controller I made a while ago, and I would like to eventually sell something that fills the void between the Arcade and PS4 version. I don't have one myself, but I've heard the most recent Hori controller was mediocre and I was fairly happy with the way my controller turned out but it turned out to be WAY too expensive in parts. What I'd like is to either simplify the large design (no more huge transistor board to switch between inputs and elaborate RGB LED setup) or downsize it and use Cherry MX/Gateron switches. Here's my first attempt at the downsized model.

This is just a picture that I posted a while back on twitter, but this design was fairly unsuccessful. It's not particularly comfortable to use (may take some more getting used to) and the Brook PS4 Fight Board I'm using doesn't and apparently will never support analog sticks despite advertising that a firmware update was coming that was going to add the functionality. It is still a LOT faster than padhacking a DS4 though, so I have a lot of experimenting to do. I would really like to have the analog sticks for backwards compatibility with Project Diva X and F 2nd, though. With the new DLC update on the 22nd, I'll have a lot more time to play around with the idea.

Macro Keypad
This hasn't made a whole lot of immediate progress, but the large code update should make it a lot simpler to carry over what I've already written. More coming soon.
I'm really looking forward to the FT controller. So far, it is looking good! I saw a lot of custom controller for that game and it is really amazing. If you are going to sell them, I imagine you are going to make something more simplified.
Topic Starter

SupraKyun wrote:

I'm really looking forward to the FT controller. So far, it is looking good! I saw a lot of custom controller for that game and it is really amazing. If you are going to sell them, I imagine you are going to make something more simplified.
I'm definitely still throwing a lot of design ideas around. This brook ps4 fight board still seems like the best option for its size even if there are no analog sticks, so I'd like to use it to make at least one finished mini-controller (micro-controller? Microcontroller powered LED micro-controller.) I think I should figure out some more major things before going straight back to the case design, like maybe having the the R2 and L2 buttons in the middle of the face buttons for easier access. I can also redesign it a bit since there won't be any anlog sticks. The wiring is also going to be a big hurdle so I think I'm going to try to get a bunch of ribbon cable to clean that up.

You don't think wires are going to take up that much space until you're trying to close it :p

I also tweeted about this but I've been trying to make 3D printed flat keycaps since they're pretty pricey from pimpmykeyboards ($2 each.)

These are great since I can make them super low-profile, but I'm having a hard time getting them perfectly straight and sticking well to the switches. They would be absolutely fantastic for the FT controller and the macro keypad (and my current keypads as well) so I can cut down on cost and not have them be way too expensive.
I see. Well good luck to you! I found a good thread where people posted pic of their custom controller.
If their design can help you: ... lers.1465/

P.S: I bought one of your osu keypad when you first started selling and it is still working great! xD

Topic Starter
Update 01/31/17

Printer Upgrades
These are a lot more important to me than they are to you, but I've finally outfitted both of my printers with heated beds. It's been more of a problem since winter started, but my prints started to curl a bit around the corners (especially when printed in clear.) This is caused by the cold bed making the first layer contract on subsequent layers which reduce adhesion and make printed parts curl. It's a problem that plagued my larger printer forever and now everything comes out perfect. It also helps me get better and more consistent surface quality.

After way too much time and effort, they are finally straight! The stem needed a 0.5 degree counterclockwise rotation to compensate for some 3D printing stuff. The big issue with that was that the problem only comes up when I print more than one so I was printing 6 every time for testing to make the effect as visible as possible, and they have to print pretty slow so it was about an hour each time. Trying to squeeze this in between all of the development stuff was tough, but I finally got through it! They seem to hold up fine from what I can tell, but I think I might throw in an extra with every order just to be safe. I still have a little bit more time for testing before I put them up so we'll see.

New Serial Remapper

This one's really exciting for me. It took a massive amount of time to suss out in my head, but I'm very happy with how it came out and how much more robust it is than the last one. There were a few big changes introduced:

-You now have to enter 0 into the serial monitor of your choice to enter the remapper. This is to avoid false triggers caused by things like the Arduino Create plugin. The if(Serial) command works perfectly to trigger when opening the serial monitor, but it doesn't always NOT trigger when not open so that's the problem.

-You can now use more modifiers! I've added (almost*) everything supported. I've ditched the old ^=ctrl and !=alt and moved to a number preceded by a colon, so now it's something like :19 for backspace. You can then enter your regular keys or enter xx to finish that key. Kind of confusing but I'm still finishing up a nice menu within the remapper itself.

-As I just mentioned, a nicer menu with more feedback from the keypad itself. I added a nice table to show the codes you need to enter for each one (generated and formatted by the code so I can change it and it will still be a nice table.) I'm also hoping to do something nice on all of the LED models with the LEDs while it's waiting for inputs.

*I didn't add caps lock and tab to avoid any unintended effects.


I guess the bigger thing than the remapper is the near completion of the macropad. The easiest way to sum this up is that it adds the new serial remapper along with a page system. You have 6 mapping pages that you can switch between by holding the side button and pressing one of the six keys. This means you can get a total of 36 macros out of it. Not only can you use it for professional applications like photoshop shortcuts as well as games like osu (or even an FPS with QWEASD or even the arrow keys now), but I think the nicest thing is that you can use it for both and switch between them very easily. 6 pages is a lot and probably too much, but why not?

It has (only) one RGB LED under the top left LED. This was mostly done to reduce cost and time for me, but since it's also aimed at general use I figured it was a worthwhile tradeoff to keep the price relatively low. It also serves a nice purpose of showing the current page as well as when it's waiting for an input. I plan on doing a little bit more testing and releasing it within the next week or two!

Wide Keypad

After a recent request, I decided it would be a good idea to carry a wide version of the 2K keypads for index+ring players. I made a few of them before I 3D printed the cases, but I figured I may as well offer it now since it's so much easier to just do the hard work once by modeling it. I plan on adding some iconography to the listing images on Etsy when I add the flat keycaps that shows two icons for the regular 2k and the wide 2k in the corner.

Updated Website, Docs, and Consolidation
I updated by website again with what I think is a much needed change. It's now a bit cleaner and more of a portal to other sites like my Etsy and readthedocs. My goal is to have less redundancy with pages so I don't need to update everything every time I change something or release a new model. I've also been updating my docs with some new pages, including a new buyer's guide to help people pick the right switches and keycaps. I'd also like to add a detailed troubleshooting guide within the next few days. Check it out here!

Future Tone Micro Controller

I almost forgot despite spending the past week working on it-- I finished the new version of my Future Tone controller! It still requires a lot of soldering, but I've managed to cut out the transistor board out entirely and keep the button switcher in! The MCU now takes the 8 inputs to switch in and spits out 8 outputs that it can swap around for the same effect. Kind of complicated to explain but all you need to know is that it can switch between the standard controller layout and the arcade layout along with all of the LEDs.

It currently requires an extra micro-USB cable for power but I'm hoping to figure out a way around that in the future (or have two ports be accessible but one for programming only.) It's only really functional for Future Tone since there are no analog sticks, but it does work very well with support for even the L3 R3 buttons as well as the touchpad button for module selection and favoriting songs. I also saw these recently and thought they'd be awesome as a touch slider, but I'm basically 100% out of pins on the MCU right now so I'll see if I can make it work. I have 3 more and I'd need 3 more, one for the pot and two for the R1 L1 outputs but I'm not sure if the remaining pins will work.

I've been using it a little but and I'm happy to say that it feels as nice to use as my big controller. It took a little bit to get used to the placement of the L and R buttons since there are no analog sticks, but I think that they work well being so close to the main buttons. I'm not sure how the touch slider would fit in but it just sounded like a fun thing to try since the PS4 touchpad wouldn't be feasible at all to try to fit on this and I can also do some fun stuff with the LEDs if it hooks up to the MCU.

I think that's it this time. I feel like I say that every time (this too) but forget a bunch of stuff, but it's definitely long enough so I'll stop here.

SupraKyun wrote:

I see. Well good luck to you! I found a good thread where people posted pic of their custom controller.
If their design can help you: ... lers.1465/
I actually posted on gamefaqs a while ago and someone pointed out to me that my old design was posted in that thread which gave me a good laugh :lol:

Is there gonna be Cherry MX version of the RGB KEYPAD? I would buy that right away tbh
Topic Starter

Hand-_- wrote:

Is there gonna be Cherry MX version of the RGB KEYPAD? I would buy that right away tbh
No spoilers but Cherry MX browns will be available for all of the RGB models next week. Cherry's exclusivity with Corsair ended last year so their RGB switches are finally starting to pop up, but all I could get ahold of was the browns. I still think Gaterons are better, though!

Big update post coming soon once the shop calms down a bit and I can get the last things up.
Topic Starter
Update 5/14/17

Hello everyone! Long time no post. February through April were very busy months so I didn't have much time for development, but as things have slowed down this month I've been able to make some headway on things I've had on the back burner for a while.


Monthly Giveaway
I've been wanting to do this for a while. I really enjoyed doing the giveaway at the end of 2015, but it was a big pain to deal with the logistics. This will be easier since there will only be one winner every month and it's not a joint giveaway so I don't have to spit the winners like last time. As well as the super limited edition keypad in the giveaway, I'll also be adding a slightly less special version to the shop. This one won't have the special keycaps and will just have the standard keycap offerings. This will be sold for one month or until they run out, whichever is first.

The main goal here is two-fold. I want to use it to promote the shop and I also want to use it for trial runs. Some materials (like wood PLA) just aren't going to work as a permanent addition to the shop, but other materials/colors in the future may work better and it will be nice to be able to sell a limited amount to test repeatability more easily. Think of wood as the McRib.

You can enter here!

Shop Additions

3DP Keycaps

Every model now has the option for 3D printed keycaps. This allowed me to get the prices of all models a bit lower and gives me full control over their design. I really liked the flat keycaps from Pimp My Keyboard but the price at $2 a keycap was much less appealing, so I'm happy that I can make something that I consider to be even better (for osu at least.) These have lower travel than most keycaps and they are much shorter, allowing the keypad to be lower profile. This should help with comfort since your wrist won't have to be bent as much. They're also cheaper to make so every model has received a slight price drop!
They did replace all of the other keycaps on the listings to make color selection easier, but they old keycaps are still available via the separate keycap listing.

There has been one major and one minor revision since their initial release. They originally had a split stem, but I thought that could wear out over time and cause the keycaps to loosen so I bought a smaller nozzle for one of my printers so it could print as one piece. Later on I made the tops a little thicker and added a little reinforcement. I do still plan on updating them if I come up with any ideas for improvements, but the main design will stay the same. If you have the original keycaps with the spit stem and they're popping off while you're playing, please contact me on Etsy and I can send you the newer design.


This was a major release that I released months ago at this point. I'm glad I got it out but I do wish that I posted about it more. You can read more info about it in the post above and [url]here[/url]. I do plan on fleshing out the documentation for this model and making a video for it soon.

Basic 4K

Why not have a basic version of the 4K model?

Wide Keypads

Wide versions of ALL models (except for the macropad because that doesn't make any sense) are now available. The 2K models are for index+ring players as mentioned in the post above and the 4K models are for people who want a little more space between their hands.

Lefty Keypads
You can now request a lefty version if you want the port and side button to be on the right side instead of the left. Not something I was even aware there was any demand for, but very easy for me to do.

Cherry MX browns available on all RGB models
I mentioned it in the previous post, but they are now available. I do hope to get reds at some point in the future, but availability has been very limited.

Future Plans

Future Tone Controller
This is first on the docket. I've really been wanting to get this done, but it's been a bit overwhelming in regards to the soldering required. I don't think it'll be quite as bad when I have a system down for it and I'm also not expecting it to be a super hot-selling item, especially for the price I'll be selling it at.

It now uses a DS4 touchpad! I've been looking for a way to expand the functionality of the controller since the first version I made on thanksgiving, starting with PSP joysticks which I couldn't connect to the board, then going to a touch slider that doesn't support multitouch and is still only compatible with the one game since it's just emulating button presses, and I've finally gotten ahold of the perfect solution. Straight from a a pretty shady Chinese site that doesn't even have a proper order page and requires you to manually send paypal payments, I got the official touchpad for the board and it's working perfectly (and upside down!) This allows the controller to also be compatible with both the PS4 and Vita on PSTV versions of Project Diva X.

I was also able to change the button layout a little bit so the L3 and R3 buttons are sandwiched in a not-so-comfortable-to-reach area, but that shouldn't matter since those buttons are so rarely used.

7K Keypad? 8K?
I recently built a larger printer so I can now make larger things! Expect to see me take advantage of this (and then freak out when I realize I'm not prepared to ship something over 8 inches.)

Better documentation
I'm happy I have what I have, but I think I can make it more clear that it is by adding additional pages and generally expanding on information I think is lacking.

Better Super Serial Remapper 2.0 GUI
Probably far future but I think making my own program for remapping would be really cool.

Common Code (actually)
Since getting into 3D printing, I feel like I've learned a lot more about Arduino programming. I'm really happy that I've been able to continue to expand my programming knowledge just by playing with the firmware of my printers. I feel like I'm at the point now where I could do a much better job with using the same code for all the keypads. This doesn't just mean the same remapper, I mean the same actual files. This would make programming easier for myself as well as anyone that wants to play with the code for their keypad.

I think it would also be cool to have a bunch of configuration options within the code itself. It's a bit tricky to change stuff right now so having all editable variables in one place would be a much better implementation.
Lol I'm making the first bank account and Visa card in my life just for ordering this keypad!! How can I wait for the shipping come to South Korea very far from you!!!

I appreciate for making these great stuffs :)
Topic Starter
This month's giveaway ends today, so join now if you haven't already! There will be another one starting within the next few days for a keypad that I think is even cooler, so don't be too disappointed if you don't win because I'm still shooting for a giveaway every month. ... d-giveaway


The Future Tone controller is mostly done! Parts are on the way for a first non-prototype model. I started this in November so I'm happy to finally see it coming to fruition.

In the mean time, I want to start development on a 7-key and/or 9-key keypad. I got a request for a 7 key macropad a few weeks ago so that will be first on the list. I'd also like to try making a keypad with a tilted top because I just realized I could do that.

The common code is coming along very nicely. I'm using PlatformIO instead of the Arduino IDE because they finally fixed 32U4 HID support (which was previously only able to work on the OS it was compiled on.) It supports setting build flags through different environments, so it's super easy to upload code to a specific keypad by just selecting the right model. It's still compatible with the Arduino IDE and will just require uncommenting the line for your model rather than selecting the environment. tl;dr there isn't really a huge difference, but it'll be a lot easier for me to update the code for all of the keypads at the same time.

I've also started development on a new GUI remapper. It'll take a while.

khw316 wrote:

Lol I'm making the first bank account and Visa card in my life just for ordering this keypad!! How can I wait for the shipping come to South Korea very far from you!!!

I appreciate for making these great stuffs :)
That's awesome, thanks for the words of encouragement!
My RGB 2x1 is amazing, the flat keycaps + the gateron red switches are way better for my acc than my keyboard with cherry reds. Love it.
I have a few questions. any plans for 8x1? are you sure arduino has less input latency than "normal" boards? how do you test a polling rate on a keyboard? have you tried to get a wholesale price on those parts? are the keycaps ABS or PBT?
show more
Please sign in to reply.

New reply