My custom Pingmaster mod

lilwebsite

04 May 2019, 11:48

Good day everyone, for a while now I have had a bit of an obsession with a Japanese Pingmaster I purchased many months ago. I dabble in quite a bit of programming, so when I got this thing and tried typing on it for the first time, I could not wait to put it to use. The height of the keys is just to my liking and the feel/sound this keyboard offers is nothing short of solid, just a really great keyboard overall. This is a rather popular keyboard with plenty of converting methods for it, however the mod I have done to this keyboard is a pro micro drop in replacement for the MCU attached to the board, which is a mod I believe soarer did by attaching a teensy to the board via a socket. I picked this method from a learning perspective for the most part, also since I have a bit of interest in hardware. I've put a bit of work into the keyboard to get it to function just the way I want, and I'm really happy with the outcome so far.

I'll go into detail in a moment, but first, some pictures:
IMG_6060_2.jpg
IMG_6060_2.jpg (4.27 MiB) Viewed 236 times
IMG_6308_fixed.jpg
IMG_6308_fixed.jpg (3.55 MiB) Viewed 236 times
_DSC6650_resize.jpg
_DSC6650_resize.jpg (4.72 MiB) Viewed 236 times

This mod is a little special though, since I programmed the pro micro from near scratch, all but the USB driver and the bootloader. I am aware that there are ways to convert the Pingmaster or to just use existing firmware, but I had too many issues and I wasn't able to exactly figure out what I was doing wrong. At this point, I can probably figure out why I wasn't able to convert the Pingmaster originally, but honestly I have had quite a bit of fun programming the pro micro. It is an amazing little device and figuring out how to use avr-libc and program a keyboard firmware from the bottom up has been a great learning experience. I have gained quite a bit of information from when I started, so one of my friends has suggested for me to post what I've learned to DT. I don't really have all the details compiled together at the moment, but I'll post what I got so far.

Anyhow, here are some pictures of the mod I did:
wiring2.jpg
wiring2.jpg (2.62 MiB) Viewed 236 times
connected.png
connected.png (4.16 MiB) Viewed 236 times
promicro-wiring.jpg
promicro-wiring.jpg (1.49 MiB) Viewed 236 times

Since I had a bit of control over what my firmware does, I spent a decent amount of time figuring out my ideal layout. I included quite a bit of helpful macros as well, such as pressing left + right shift to get capslock, a 'standby' key to toggle key output to the computer, and I also went ahead and got the 00 key to actually spit out a 00, since I thought that was an interesting key to have. I'll post a graphical chart below of my current layout, which is an accurate representation of the rows/columns in the hardware.

I'm still working on getting the best layout but as of me writing this here's what I have so far:
reference.jpg
reference.jpg (791.77 KiB) Viewed 236 times

As for my firmware source, and how to actually perform this mod, I was actually heavily debating with myself if I should even post it at all, since I felt that there may not be a whole lot of use for it. There are already existing converter/firmware that work well with the teensy and the pro micro if you use them correctly, however, I felt that not releasing any of the work I did would be rather silly, since I believe there are people who could benefit from using it.

Not too long ago, I decided to upload all my work to a github that details the firmware I have created, the process to compile and flash a pro micro with said firmware, how to flash a bootloader to a pro micro, and how to install the pro micro into a Pingmaster. I have a few friends with Pingmaster keyboards that have been interested in trying this mod, so I tried making the guide simple so there isn't a need for programming knowledge and such, though I am still concerned it may be still too difficult for someone with little technical knowledge. I plan on expanding on that, probably making some kind of GUI for reassigning keys and what not, but I haven't really gotten to that point. The mod is a bit complex though so I think its best that most people stick with existing converters.

This is my first forum post ever BTW, sorry if the formatting is a little messy, but I wanted to keep it simple. Anyways, thought ya'll would find this interesting, I plan on doing more mods similar to this and posting them here since I have a few more keyboards I want to try this method on :)

User avatar
Dingster

04 May 2019, 17:40

Awesome work and welcome to the forum! Dont worry about the formatting its perfect :)

lilwebsite

04 May 2019, 18:47

Dingster wrote:
04 May 2019, 17:40
Awesome work and welcome to the forum! Dont worry about the formatting its perfect :)
Thanks man, much appreciated, glad to be part of the forum!

User avatar
swampangel

04 May 2019, 19:05

lilwebsite wrote:
04 May 2019, 11:48
Not too long ago, I decided to upload all my work to a github that details the firmware I have created, the process to compile and flash a pro micro with said firmware, how to flash a bootloader to a pro micro, and how to install the pro micro into a Pingmaster. I have a few friends with Pingmaster keyboards that have been interested in trying this mod, so I tried making the guide simple so there isn't a need for programming knowledge and such, though I am still concerned it may be still too difficult for someone with little technical knowledge. I plan on expanding on that, probably making some kind of GUI for reassigning keys and what not, but I haven't really gotten to that point. The mod is a bit complex though so I think its best that most people stick with existing converters.
Thanks for sharing this project, and especially for the clearly written docs on github. Nice to see it done as a reversible controller swap.

lilwebsite

04 May 2019, 19:40

swampangel wrote:
04 May 2019, 19:05
Thanks for sharing this project, and especially for the clearly written docs on github. Nice to see it done as a reversible controller swap.
Appreciated, this is the first time I have published code publicly so I wanted to make it well documented. The Pingmaster has information here and there but I want to make it more congregated, which is the goal I had in mind with making the github. I have more information than I have put up though, so I plan on adding more to it as I get the details sorted out, since the docs are still a WIP.

Post Reply

Return to “Workshop”