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.