Category Archives: electronics

How to make a keyboard - the matrix

Tutorial parts: 1 matrix | 2 controller (coming soon) | ...

Update (May 2016): check out the Russian translation: Как сделать клавиатуру — Матрица!

This will be the first and hopefully not the last post in the keyboard series. I'm hoping to make this a keyboard building tutorial from the ground up. Today I'll cover digital I/O and keyboard matrices. Equip yourself with some basic knowledge of electronics from school and let's get started.

Continue reading How to make a keyboard - the matrix

GH60 evolution

I'ts been some time since I last wrote about the GH60 project and much more than I had thought has changed since then.

The rev. A prototype was to be just a testing board to make sure everything works all right before we run the actual group-buy, but in fact the number of changes and extra features added since then was so large that the rev. B is actually a new board.

In this post I'll try to quickly present the changes, new features and design decisions that make the (hopefully) final version of this 60% programmable keyboard. Continue reading GH60 evolution

Making my own pendrive (kind of)

This time not about electrical design, electronics or programming!

I had a pendrive which I didn't need at all, and because I found it really ugly I decided to remove all the unnecessary parts to strip it down to the PCB and possibly reduce the size.

The device I'm talking about is a Kingston DT108 8GB flash drive. And here's what I found when I broke it apart:

Kingston DT108partsToshiba chipchip2

Continue reading Making my own pendrive (kind of)

Using Atmel's DFU Bootloader ABI on ATMega32U4 in avr-gcc

I've recently used Atmel's ATMega32u4 and I liked it a lot. 32 kilobytes of flash, USB transceiver and bootloader support are the most important features of this rather inexpensive device, which make it very easy to use for prototyping USB devices.

A nice addition is that the device comes preflashed with Atmel's DFU bootloader, which makes it possible to program the device over USB without connecting SPI or JTAG. It doesn't support any debugging, but it's good enough for simple projects.

I've been working on a project recently, where I assumed JTAG or SPI wouldn't be necessary and decided to rely on the stock bootloader. The problem is, I needed to change the contents of the flash memory in run-time. This is possible with the bootloader's ABI, but as it turned out, not that easy.

Continue reading Using Atmel's DFU Bootloader ABI on ATMega32U4 in avr-gcc

9999 in 1 reloaded - part 2

This is part 2 of reverse-engineering the LCD driver inside a COB device on a cheap "9999 in 1" videogame. Make sure you also check out part 1 here: 9999 in 1 reloaded - part 1.

Driver analysis - part 2

Let's look at the last plots again. Yellow is common signal, cyan - segment signal, and magenta - difference across pixel. This time I measured them with the LCD disconnected, so they should look a bit nicer.

oscilloscope waveformoscilloscope waveform

Continue reading 9999 in 1 reloaded - part 2