This is a text-only version of the following page on https://raymii.org: --- Title : SpaceCat Launchpad v2, an awesome cool little macropad Author : Remy van Elst Date : 05-03-2019 URL : https://raymii.org/s/articles/SpaceCat_Launchpad_v2_an_awesome_little_macropad.html Format : Markdown/HTML --- On Reddit, [Josh (from SpaceCat)][1] did a valentines day action, 10% off your entire order. I'm eyeing a LaunchPad for a while now, both to have a small macro pad and to experiment with QMK (firmware). So I ordered the LaunchPad full kit, an assortment of Gateron switches and a VIM keycap. This article goes over the quality, the build process and my current setup of the Launchpad.

Recently I removed all Google Ads from this site due to their invasive tracking, as well as Google Analytics. Please, if you found this content useful, consider a small donation using any of the options below:

I'm developing an open source monitoring app called Leaf Node Monitoring, for windows, linux & android. Go check it out!

Consider sponsoring me on Github. It means the world to me if you show your appreciation and you'll help pay the server costs.

You can also sponsor me by getting a Digital Ocean VPS. With this referral link you'll get $200 credit for 60 days. Spend $25 after your credit expires and I'll get $25!

![][3] The contents of the package laid out on my soldering desk. The switches and keycaps are not included in the kit, I ordered those seperately. The kit comes with: * 1x Launch Pad v2 PCB * 1x Arduino Pro Micro 5v * 2x 12-Pin Headers * 8x Diodes * 1x Alps SMD Switch (reset switch for the Arduino) * 1x High Quality "Launch Pad" Vinyl Sticker In my case I ordered the following switches: * 2x Gateron Blue (clicky & tactile) * 2x Gateron Green (stiffer than blue, clicky & tactile) * 2x Gateron Red (linear) * 2x Gateron Yellow (stiffer than red, linear) * 2x Gateron Brown (tactile) The keycaps are Gateron because they are cheaper than Cherry MX. This build is a nice way for me to try out linear switches (red & yellow), the green was unknown to me and the blue and brown are my favorites. A usefull switchtester you might say. I ordered two extra switches because I know I might break one or two in the build process. (And I did break one switch so good foresight) I also ordered this [super cool VIMkeycap][4]. That one was for my white ergodox at work, not for this Marcopad. They threw in an extra sticker and an [extra Catstrounaut keycap][5]. The quality of these keycaps is amazing. They're thicker than the normal Ergodox DSA blank keycaps and snap on to the switch better. It takes more effort to get them off the switch tho. Very sturdy, the print is high quality and it looks cool. The kit contained 20 diodes, 3x12 header pins and three reset switches instead of the stated quantity. The PCB is very thick. I doubted to get a case since just the bare PCB might feel flimsy, but that is not the case. For a PCB it's very thick. The feet have solder pads (instead of hot-glueing them together), you solder them to the PCB and they snap on to the plate & PCB, so it doesn't wobble at all. Overall the quality of the PCB is amazing and sturdy, which pleasently surprised me. Do note that to build the kit, you need to have a soldering iron, solder and preferably some other tools used in soldering (desolder, flux, sponge cleaner, desolder sucker, etc.). The [Launchpad kit can be bought here][6]. I'm not affiliated with spacecat, I bought this kit myself, no sponsorship or anything involved. ### Marco Pad? ![][7] > The finished Lauchpad on my desk at work, next to an [Ergodox EZ][8] and a Evonluent left handed vertical mouse. So what is a macro pad? As you can see in the picture above, it's a small keyboard. The advantage is that you can fully program the keyboard to do anything you want. Macro pads can be small like this one, but with specific tools [you can convert a normal keyboard to a macro keyboard][9], that's a Linus Tech Tips video. In my case I have two usecases for this macropad. I use Jetbrains Clion a lot these days to develop C++ software. The debugger uses specific keys as shortcuts for `Step Into`, `Step Over` and other debugging related keys. These keys are by default mapped to `F7`, `F8` and other `Fx` keys. My current Ergodox keyboard layout does not have `Function` keys on the base layer. One of the layers for the macro pad will be a debugging layer for Jetbrains which has all the keys (plus a shift key, to start a debug build with `SHIFT+F9`) to debug quickly. The other, default layer, will have a few keys I often use during the day. Three will be `CTRL`, `ALT` and `SUPER` (the windows key), right next to that will be `L`. These keys are used to lock my workstation when I walk away. The other keys will be `ESC`, a layer switch key and media controls (`PLAY/PAUSE` and `SKIP`). I'm hoping to build a macro for `qmk` (a macro is a series of actions one key executes) to send a `CTRL+ALT+L` to lock my workstation with one keypress. These two layers will make my life a bit easier. Yes, I could program them on the Ergodox or make a special layer, but, that just isn't as clear and direct as a specific set of keys. Next to that I wanted this cute little device just because it looks so adorable and isn't hugely expensive like most mechanical keyboard things are. ### Building the board The build process for this kit is straightforward: * Snap the board in half. One half is the PCB; the other half is the switch plate plus standoff feet * Solder the header pins for the Arduino (on the bottom of the PCB where it says Pro Mirco) * Solder the eight diodes (on the bottom of the PCB) * Solder the switches (on top of the PCB. **DO NOT FORGET TO PUT THE PLATE IN FIRST** ) * Flash firmware to your Arduino and test it first * Place the Arduino on the pins (this is tricky) * Solder the Arduino to the pins * Snap on the feet and solder them to the plate The [manual][10] is has pictures and detailed steps to build the kit. It took me about an hour to build the enitre kit. I did make a mistake during building, I forgot to put the plate between the switches and the PCB. That makes it a PCB mounted pad, which looks quite okay: ![][11] I finished the build, tested the firmware and then decided I wanted the plate in between. So, I desoldered the switches (two under the arduino are harder to desolder), broke one switch in the process and put the plate in between. With plate it looks like this: ![][12] Some notes on the build process: * Putting the Arduino on the header pins is a time-consuming process. It involves bending the header pins just a tiny bit and retrying. Be carefull because they can break. * The manual did not state to put the plate between the switches first, so I forgot to do that. * The manual does not explicitly says which side is which and on which side components go. I had to deduce it from the pictures. * The reset switch is hard to solder correctly (mine is angled) * Both PCB mount and plate mount switches work, but if you use the middle plate, you don't need PCB mounted switches. The difference between PCB and plate mount switches are two small pins on the switch: ![][13] * The Arduino's Micro USB port sticks out. If the Arduino is moved a little bit deeper into the PCB, it wouldn't stick out. My USB port wobbles a bit so I suspect it might break off in the future. Placing it sandwiched between the Arduino and the PCB would prevent that. This picture shows what I mean: ![][14] Not a huge issue for me, since I can easily desolder the Arduino and replace the USB port. Here are three other Launchpads, not mine, but I find them to be cool. One with a case, one with matching keycaps and one with a huge ass enter key. ![][15] > Launchpad with matching keycaps ![][16] > Launchpad with a clear case ![][17] > Launchpad with a huge enter key Mine is nice, plain and simple. Keycaps come from a DAS keyboard, blank SA. The green and red keycap come from a cheap set I had lying around and the Astrocat is from Spacecat. ### Firmware (QMK) The Ardiuno runs QMK, which is firmware for keyboards. It allows you to do many amazing things, supports RGB leds, layers and such. I just used the [web configurator][18] to create a basic first layout and [QMK Toolbox][19] to flash it. ![][20] > My first layout ![][21] > QMK toolbox flashing the layout to the Arduino On Ubuntu I installed the Arduino IDE and used `avrdude` to flash the compiled `.hex` file: # install the Arduino IDE snap install arduino-mhall119 # flash the firmware. Replace ttyACM0 with your USB port. Also replace the filename for the hex file. /snap/arduino-mhall119/5/hardware/tools/avr/bin/avrdude -C/snap/arduino-mhall119/5/hardware/tools/avr/etc/avrdude.conf -v -patmega32u4 -cavr109 -P/dev/ttyACM0 -b57600 -D -Uflash:w:/home/remy/launchpad_rev1_layout_mine.hex I do need to look into QMK more to program macro's and explore all other cool features for this Macro pad. #### Update 2019-03-21 I've made my own keymap with QMK, [see the code here][22]. ,-------------------------. | RUN DEBUG | RUN TARGET | |------------+------------| | STEP OVER | STEP INTO | |------------+------------| | STEP OUT | RESUME | |------------+------------| | PLAY/PAUSE | LOCK | `-------------------------' After flashing the first keymap, flashing the second and latter firmwares is harder. You need to press the reset switch twice quickly. The Arduino goes into firmware programming mode for 8 seconds. If you just press reset once, it will go into programming mode for 750 ms. [1]: https://spacecat.design/ [2]: https://www.digitalocean.com/?refcode=7435ae6b8212 [3]: https://raymii.org/s/inc/img/launchpad_2.jpg [4]: https://spacecat.design/collections/keysets/products/vim-keycap [5]: https://spacecat.design/products/old-school-catstronaut-keycap [6]: https://spacecat.design/collections/pcbs-cases-kits/products/launch-pad [7]: https://raymii.org/s/inc/img/launchpad_5.jpg [8]: https://raymii.org/s/articles/Split_keyboards_a_five_year_review_including_the_ErgoDox_EZ_Matias_Ergo_Pro_and_Kinesis_Freestyle_2.html [9]: https://www.youtube.com/watch?v=GZEoss4XIgc [10]: https://raymii.org/s/inc/downloads/lpadv1_fin.pdf [11]: https://raymii.org/s/inc/img/launchpad_3.png [12]: https://raymii.org/s/inc/img/launchpad_4.png [13]: https://raymii.org/s/inc/img/plate_pcb.png [14]: https://raymii.org/s/inc/img/launchpad_usb.png [15]: https://raymii.org/s/inc/img/launchpad_6.jpg [16]: https://raymii.org/s/inc/img/launchpad_7.jpg [17]: https://raymii.org/s/inc/img/launchpad_8.png [18]: https://config.qmk.fm/#/launchpad/rev1/LAYOUT [19]: https://github.com/qmk/qmk_toolbox/ [20]: https://raymii.org/s/inc/img/launchpad_1.png [21]: https://raymii.org/s/inc/img/launchpad_5_qmk.png [22]: https://github.com/RaymiiOrg/qmk_firmware/blob/master/keyboards/launchpad/keymaps/raymii/keymap.c --- License: All the text on this website is free as in freedom unless stated otherwise. This means you can use it in any way you want, you can copy it, change it the way you like and republish it, as long as you release the (modified) content under the same license to give others the same freedoms you've got and place my name and a link to this site with the article as source. This site uses Google Analytics for statistics and Google Adwords for advertisements. You are tracked and Google knows everything about you. Use an adblocker like ublock-origin if you don't want it. All the code on this website is licensed under the GNU GPL v3 license unless already licensed under a license which does not allows this form of licensing or if another license is stated on that page / in that software: This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Just to be clear, the information on this website is for meant for educational purposes and you use it at your own risk. I do not take responsibility if you screw something up. Use common sense, do not 'rm -rf /' as root for example. If you have any questions then do not hesitate to contact me. See https://raymii.org/s/static/About.html for details.