Wednesday, May 16, 2018

Micro Repair

Fixed a dead Arduino Micro Clone

One of the three pack of Arduino Micro clones I purchased was DOA. I could program it via ISP but it was never recognized over USB.

Upon close inspection two sides of the AtMega32U4 looked to have bad solder connections.

 This side doesn't look too bad, but they are the pins that are the USB data pins look a little funny.

There are three pins on this side that don't have any solder at all.

I used a lot of liquid flux and added a tiny amount of solder and rolled it across the pins. Much like in this video, but I used liquid flux which is much messier.

All pins are now connected with an even amount of solder. I touched up the solder on all four sides.

The Arduino Micro clone now works like it should.

Monday, May 14, 2018


Contra Pi Zero W

Contra keyboard with a Pi Zero W embedded.

 Contraption connected to a mini LCD monitor with a mini HDMI cable. It is running asciiquarium.
The ports on the back of the PI Zero W are accessible. Power is the micro USB connector on the right. The normal USB connector is plugged and not used. Mini HDMI connector on the left.

Ports with cables unplugged. Space between the PCB and bottom plate is 6.4mm. A 6mm standoff with two 0.2mm washers.

Bottom plate is unchanged.

The Pro Micro is rotated. This allows the connector to not stick out the side.

Closeup of the Pi Zero W.

Bottom of the Pi Zero W. The wires are soldered to the test pads for the onboard USB port. This is the same port as the external one, so it can't be used at the same time. 3M VHB heavy duty double stick tape holds the Pi Zero W in place on the bottom plate.

Close up of the rotated Pro Micro. Some of the pins have to be jumpered to connect the remaining columns, also the RESET pin and ground to retain the functionality of the RESET switch.

cols B5  B4  F4  F5  F6  F7  B1  B3  B2  B6  D7  C6
rows E6  D4  D0  D1

Modified TMK firmware is on github.

Wednesday, May 9, 2018

Black Pro Micro 25 pins

25 Digital Pins on the Black Pro Micro

Since the Black Pro Micro uses the larger version of the AtMega32U4 it is possible to solder wires directly to the unused pins.


B0 and D5 are connected to LEDs. These may have problems used as an input. Should be fine as an output. These are easiest to connect to at the resistor near the LEDs.

E2 is the HWB pin. It must be pulled low so that the bootloader will run. On the Pro Micro it is connected directly to ground, so is useless as a data pin. If it was pulled low through a resistor you could possibly still use it as an output.

According to the datasheet the rest of the unused pins should be unconnected.

I have not tried using any of these except B0 and D5 on other Pro Micros. You would need to use 30AWG wire or thinner to make the connections.

An easier alternative to get more data pins is the new Adafruit ItsyBitsy with 23 accessible pins, or the Arduino Micro with 24 pins.

Monday, May 7, 2018

GNAP 4x4 + 4x4

GNAP! with numpad

Combined a set of GNAP 4x4 PCBs with a regular 4x4x4x4x4 PCB. The GNAP 4x4 has the same modular circuit layout as the 4x4x4x4x4 and the 4x4x4x4x4 PCB can be attached to either side. The Arduino Micro has to be on the left most PCB.

With random left over DSA keycaps. The firmware is the same as for the 4x4x4x4x4.

Assembled without any keycaps. You can see the solder bridges connecting the individual PCBs.

The PCBs are connected to a 3x12.375"  1/8th inch thick 5052 aluminum plate I got from eBay. M2 spacers and screws.

The assembled PCB with diodes. Solder bridges on the top side.

Bottom of the assembled PCBs.

Thursday, May 3, 2018

4x4x4x4x4 upgraded

Aluminum base plate

Replaced the PCB bottom on the 4x4x4x4x4 with a 3x12" 1/8th thick piece of 5052 aluminum.

The plate with holes drilled. I used the PCB as a template when drilling. The plate was then sanded to smooth the sharp edges and remove the burrs on the drill holes.

The aluminum base is much sturdier than the PCB one.

Wednesday, May 2, 2018

NOS 10x Loupe

Old Bishop Graphics 10x loupe

I usually use the magnifying glass on my Swiss Army knife to inspect PCBs. It is an older 8x magnification model with the grey plastic housing. They don't make them anymore. The new Victorinox knives have different lenses that are only 5x or 6x magnification. The older 5x ones are plastic and are junk. The current 6x lenses are glass but they pop out of their frame and I have already lost one.

While looking for a replacement I found these Bishop Graphics 10x loupes on eBay. They are probably 25+ years old. They are made by Peak and the equivalent model is around $89 on Amazon. The Bishop Graphics one comes with a No 5 measuring reticle that is another $20 on Amazon.

These are shelf worn. The pleather cases are worn. There is a little oxidation on the shiny parts of the aluminum. The glass is perfect. The focus mechanism is still tight and smooth. Feels like a high quality all metal and glass SLR lens. Functionally these are in perfect shape.

For the price, these were a steal.

The irony is that Bishop Graphics was a company that made supplies for PCB design. This was when it was a manual process done entirely by hand. I found some interesting articles on Adafruit and LA Times.

The loupe was intended to look at flat objects on a light table. There is very little distortion or chromatic aberration on the edges. You can use it upside down to look at odd shaped objects.

The reticle is removeable. The No 5 reticle has many useful scales. They make a few other reticles with different patterns.

Monday, April 30, 2018


5x5 Modular Keyboard

Up to three of these 5x5 matrices can be connected together, controlled by a single Arduino Micro clone. This works in the same way as the 4x4x4x4x4.

5x5, 5x10 and 5x15 matrices can be built with these boards.The solder pads on the edges of the boards make the electrical connections for the matrix. They can be soldered with large solder bridges, or headers can be installed and shunts used to connect the boards. Examples of how this works can be seen in the 4x4x4x4x4 post.

TMK firmware on github. Gerbers also on Github.

Three 5x5 boards as a 60% 5x15. Recycled Outemu switches from a cheap board.

Thick 1/8" 5052 aluminum plate purchased off eBay. 11.25x3.75". Each PCB is exactly 3.75" square.

Bottom of the assembled board. The solder bridges are on the other side of the PCB. Green Arduino Micro clone socketed on the first PCB.

M2 spacers and screws.

Top plate has holes large enough for most screw heads to fit through. PCB can be assembled without the plate if PCB mount switches are used.

Monday, April 23, 2018

EOTW Oreo Planck

End Of The World

April 23, 2018, apparently. Probably the only way this could ever be an end game keyboard.

The EOTW Planck PCB case from with a White Rev 4 PCB. Invyr Panda linear switches. PCB mount Cherry stabilizer.

The EOTW Oreo Planck. The matte black PCB soldermask contrasts with the beige Invyr Panda switches. The other side of the top plate is gold ENIG finish, it can be used either side up. There is only one plate style, if you want a full 48 key grid layout there will be a small gap between the center keys where the space bar would have been.

The bottom of the EOTW PCB. ENIG finish made into a graphic design. I was hoping the text in the middle was on a removable sticker, but it is a permanent part of the PCB. Because of the cutout for the USB and the RESET button hole, the bottom can not be reversed.

The flimsy plastic inserts that came with the case were designed to clip into the Rev 5 PCB mount holes. The white Rev 4 PCB has mounting holes in the same places but they are smaller and fit M2 screws perfectly. I used M2 threaded brass spacers and M3 plastic spacers (the M2 spacers fit in the M3 plastic spacers). To be able to tighten the screws from both sides the plate needs to be removed. The sockets on the Invyr Panda allows for the switches with the top plate to be removed to access the screws.

With the solid brass spacers it is much sturdier, but there are no supports at the corners and it flexes badly. The Rev 6 PCB is supposed to have something different than the plastic inserts to hold the plates together.

Wednesday, April 18, 2018

GNAP! Underglow

GNAP! with WS2812B strip

Added a WS2812B strip using the connections on the unused second Pro Micro pads. The data line for the WS2812B strip is D3. Normally the second Pro Micro (which would have powered the in switch LEDs) is connected to the main Pro Micro through D2 and D3, the serial port.

The modified firmware with RGB is on github.

WS2812B strip added to the silent GNAP!.

Side view. White PCB/plates would reflect the light better.

The self adhesive WS2812B strip is stuck to the bottom plate. 30awg wire is used to connect it to the PCB.

Closeup of the connections to the pads for the second Pro Micro. The yellow wire is connected to D3. The pad to the left of it is D2.

Tuesday, April 17, 2018

Dilly Case

PCB case for the Dilly

I made a PCB sandwich case for the Dilly. The low profile Kailh Choc switches are plate mountable, unlike the Cherry ML which are PCB mount only.

The cutouts for the switches are 14mm squares, just like Cherry MX style switches.

I used one of the rev 1.0 PCBs that are sold at a discount on crap sale. They come in a pair.

Files on github.

I didn't have enough of the blue switches so used Jade switches for the middle row.  The contrast in the louder clicks is interesting.

Bottom plate. The other side is blank. M2 spacers and screws hold the two plates together.

There is a very tiny amount of space between the top plate and the PCB. About 0.5mm. All components have to be placed on the bottom of the PCB. All the leads have to be trimmed as short as possible. I trimmed the pins on the socket flush with the PCB before soldering it on.

I used a standard height socket as the low profile socket "pins" are hollow and I can't trim them shorter without damaging them.

Everything fits. The Pro Micro is now recessed and protected by the plates. On the bare Dilly the Pro Micro sticks out the top about 2.5mm.