Pages

Monday, October 30, 2017

Gherkin with Cherry ML switches

Same PCB dimensions as the regular MX Gherkin PCB. Cherry ML switches are PCB mount only, the Gherkin top and bottom switch plates are not compatible with this PCB. The ML switches are centered and have the same 19.05mm spacing as the MX switches.

The matrix is the same as the original Gherkin, it can use the same firmware, there are no LEDs.

Wednesday, October 25, 2017

144 keys on an Arduino Micro

The Arduino Micro (not the Pro Micro) has 24 usable data pins. With this you can make a 12x12 matrix.

Two of the pins on the Arduino Micro are connected to LEDs (PB0 and PC7 used as indicators when used with the Arduino IDE). This may cause problems if using them as inputs, as outputs they should behave normally in a switch matrix.

The PCB is very basic, I used the reversible switch footprints so that the board can be flipped and the Arduino Micro installed right side up or upside down depending on which way the board is oriented. Having the Arduino Micro on the left allows access to the reset button.

The largest matrix you can do with a Pro Microwith its 18 pins is 9x9, 81 keys. I made a handwired one here.

Monday, October 23, 2017

Russian Gherkin

Used old Russian germanium diodes. The top is a silkscreen less black PCB, bottom is a silkscreen less white PCB.

After scrubbing the PCB with 91% isopropyl alcohol to clean off the flux, some of the colored bands on the diodes started to come off. I soaked it in alcohol and scrubbed it some more and got most of the bands off. The clear glass diodes now look like little light bulbs.

Outemu Ice Grey switches from Switchtop. These are one the few new types of switches available in PCB mount.

M2 spacers and screws. Outemu switches came with sockets.

Blank white bottom PCB.

Outemu switch removed. You can also see the clear glass germanium diodes with their colored bands removed.

Thursday, October 19, 2017

Germanium diodes with their paint markings removed

91% isopropyl alcohol will weaken the bond between the glass and the paint. A little rubbing and the colored rings will come off.

I have a few dozen diodes soaking in a bottle of 91% isopropyl for over a week now. The alcohol is now a light pink color but the bands are still intact on the diodes. So the IPA will not completely dissolve the paint, just loosen it.

I suspect some other types of solvent will completely dissolve the paint markings without having to scrub them off. Will experiment with acetone and whatever else the hardware store has.

An original red banded diode and two bare germanium diodes. 1n4148 diode for comparison.

Tuesday, October 17, 2017

Green Arduino Micro Clone

The Arduino Micro has 24 usable i/o pins, as many as on a Teensy 2.0. Same ATmega32u4.

Not a Pro Micro, a Micro. There is an official Arduino Micro. This is a redesigned clone I found on Aliexpress. It shares the same pinout, but has all of it's components on the top of the PCB. The bottom is completely flat. It also comes without the ISCP header installed and uses a smaller reset switch. Very low profile compared to the official Arduino Micro.

You can find these on Aliexpress by searching for CNT-013. They are also very cheap for what they are. Currently $3.50 each plus shipping, that's the same price as the smaller Pro Micro clones. Most other Arduino Micro clones are selling for twice that price.

Like the green Pro Micro it has a simplified power supply. Otherwise it should work just like a genuine Arduino Micro.

Low profile with a smaller reset switch than what is used on a genuine Arduino Micro.

The bottom has no components. The genuine Arduino Micro has the power supply components on the bottom.

Friday, October 13, 2017

Using a Raspberry Pi to compile TMK and as an ISP programmer

I have been using Raspberry Pi's for various things since they have been generally available. They make great general purpose embedded computers. Since they are running Linux they can be made to do just about anything.

The default Raspbian distribution has everything necessary to compile TMK. There are many guides to setting up Raspbian. Once you have it up and running you need only run the following command to install all the additional software for compiling.

sudo apt install gcc-avr avr-libc dfu-programmer git

That installs the gcc avr compiler and the avr libraries for the ATmega series of chips. dfu-programmer is for programming chips over USB with the DFU protocol. git is for cloning the TMK code from github.

git clone https://github.com/di0ib/tmk_keyboard.git

This will clone my fork of TMK.

This video shows the whole process. I did it on a Raspberry Pi Zero, it will work the same on a Raspberry Pi 3 or 2, or the original Pi.

I also tested this on a Raspberry Pi 3. It compiles in half the time as the Zero. 28 seconds vs 59 seconds to compile the default Gherkin firmware.

I tested this on a Raspberry Pi Zero with USB WiFi. I controlled it remotely over the network through a SSH session.

The Raspberry Pi Zero (W) does not come with a header installed. The normal sized Raspberry Pi 2 and 3 do have the header installed.

What can you do with an ISP programmer?

You can program the Atmel chip directly without using the bootloader code. You can also replace the existing bootloader with a different one. Or, if you want all the space available, you can overwrite the bootloader and use all the flash space for your code, and not have a bootloader.

Monday, October 9, 2017

Aluminum bottom Gherkin

Took a piece of 1/16th thick aluminum and punched holes in it that match the switch positions. I used one of those cheap metal punches from Amazon. I used a spare PCB as a template to position the holes. The holes for the M2 screws I drilled with my Vanda-Lay drill press.

The black PCB is one of the ones I made at JLCPCB. It has no silkscreen layer and is all black on both sides. I also installed the diodes and resistors on the bottom of the PCB.