Monday, May 28, 2018

U2F One Key

MX U2F authenticator

My attempt to build a U2F key based on the design and firmware of the U2F Zero.

It mostly works, but I did not add a debug header so can only program it via the factory USB bootloader, which limits the size of the firmware. I can only load a stripped down version of the firmware.

The basic circuit is the same as the U2F. The microcontroller needs very few external parts to work.

I used 3 separate LEDs instead of the single RGB LED on the U2F Zero. The MX switch footpad allows the board to be flipped and the switch mounted on either side. I can have the ICs exposed on top or hidden under the board.

These PCB's were produced at This was during their $5 promotion. The promotion has since ended, but for small orders they have the cheapest DHL shipping.

Thursday, May 24, 2018

Micro Strong

Another ATmega32U4 breakout board

You can find these on eBay and Aliexpress for quite cheap. Search for "ATmega32u4 board". This seems to be the same circuitry as an Arduino Micro, but not having the schematic, this is only a guess.

The ones I ordered came with the headers loose in the bag. I was not planning to use them. (There are a few extra 12 pin headers from a Pro Micro in the picture)

The board is a square, 4cm on a side. The Micro USB connector is the stronger type that has legs that go through the PCB. There are 3mm diameter mount holes in each corner (34mm centers).

These would be a good choice for a hand wired board. Lots of power and ground connectors and built in mount points.

The bottom is mostly flat. There is a solder bridge jumper to select the voltage. I have seen 8MHz versions for sale. I assume those are jumpered for 3.3v.

The website printed on the back loads a broken Chinese webpage.

24 of the ATmega32U4 pins are easily accessible (just like on an Arduino Micro). Some are connected to LEDs (C7, B0). Pins D5 and E2 can be accessed on the large ATmega32U4. D5 should be usable as an output. E2 is connected to ground through a 10k resistor so should also be usable as an output.

Monday, May 21, 2018


GNAP! Gherkin hybrid

It's the top three rows of the GNAP! constructed like a Gherkin.

It has a regular PWM backlight like the Gherkin does, powered by a MOSFET connected to pin B5.

Still working on a keymap. I have a basic one for testing on git.

Gerber files on git.

Assembled with cheap typewriter style keycaps.

Bottom is a second PCB, just like on the Gherkin.

Top and bottom PCBs are connected with M2 spacers and screws.

The Pro Micro sticks out the side.

Top of a fully populated PCB. 1n4148 diodes and resistors for the backlight.

Bottom of PCB. You can see the MOSFET and the reset switch. A socket makes the Pro Micro removable. All of the parts used are the same as on the Gherkin, there are just 6 more of them for the 6 additional switches.

The 2 unused pins are broken out to pads along with GND and VCC.

Backlight on. It has a single dimmable backlight, It does not have the per key backlighting of the GNAP!.

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 git.

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.