[Tutorial] Building and using the AIKON Controller

WORK IN PROGRESS

The AIKON keyboard controller

The AIKON (AQUA + Inornate Kontroller) controller is a custom keyboard controller developed by OTD.kr members AQUA and inornate. Previously known as "AQUA'S LIMKB" (Less is more Keyboard Controller), it is the only fully customizable keyboard controller available to be used "ready out of the box" without any programming knowledge.

What is the AIKON and what are the features?

The AIKON is a fully programmable custom keyboard controller. The main intention behind it was to be able to convert old vintage keyboards to work with modern hardware over USB. Of course, it can also be used to build keyboards from scratch. The possibilities are nearly endless.

Features include:

  • Fully programmable keyboard matrix on up to 3 key layers
  • Matrix support up to 18x8. Cols and rows are interchangeable (for example 17x9 is possible, etc...)
  • Full N-Key rollover (requires diodes in the matrix circuit, 6 keys over USB)
  • FN Key support
  • FN Lock support
  • Full programming software (Windows OS)
  • Importing and exporting of keymaps

Sounds awesome! Where can I get one?

In the past, the AIKON was available as a small SMD part based PCB, distributed to members of various Korean keyboard forums. By now they have become more rare and are a bit harder to find. Luckily the AIKON design is pretty simple and you can build one yourself! The according schematics have been released by inornate on OTD and Geekhack.

Building the AIKON - Schematics

Image

Building the AIKON - Parts needed

General Parts:
Soldering knowledge & equipment
Perfboard
Wires
Pin-connectors for rows/cols (optional)
40 PIN IC socket (optional)
ISP programmer (semi optional, you can ask a friend to burn the bootloader for you, if you have any)

IC:
ATMega32 (40 pin)

Capacitors:
C1: 0.1uF ceramic capacitor
C2: 18pF ceramic capacitor
C3: 18pF ceramic capacitor
C4: 10uF tantalum capacitor / electrolytic capacitor
C5: 0.1uF ceramic capacitor

Diodes:
D1: 3.6V zener diode
D2: 3.6V zener diode

Resistors:
R1: 10KR
R2: 82R
R3: 82R
R4: 2.2K
R5: 4.7K
R6: 330R
R7: 330R
R8: 330R

Crystals:
X1: 12,000 Mhz

Uploading/Burning the bootloader

If you are using a self-made AIKON, you will have to first burn the bootloader to the controller, before you can start using it. Inornate has written an extensive guide on how to do this on OTD. The guide is in English, so please check it out. Note that depending on which ISP programmer you have, you might need to also build a tiny adapter. Most cheap ISP programmers on eBay will require you to build another small perf board.

Programming the AIKON

By now you should have an AIKON controller ready, with the bootloader properly loaded as explained in the step above.
Before you can start actually mapping the matrix / programming the controller, you will need various software. Please make sure you read the comments for each download carefully.

Required Software
Spoiler:
Under Construction


Software Tips
If you are on a 32bit OS, try using the 0.1.12 version of the LibUSB drivers first. If those fail or you find yourself unable to use your mouse after installation, try rebooting. If they still fail, try using the older 0.1.10 drivers.

Connecting the AIKON

Extract all files from the Aikon 1.0.X archive to a folder on your system. You should find the following files:
Aikon_x.x.x.hex
bootloadHID.exe
firmup.bat

Do not connect the AIKON to your computer just yet. Before you can change the keymaps on the AIKON, you still have to upload the basic firmware .hex file to the controller. Use a jumper or a wire to bridge a connection between FW and JP, or alternative ROW1 and COL1 accordingly. While bridging the connection, plug in the USB cable. If you have a status LED connected, it should now be blinking. This means the AIKON is in bootloader mode and ready to receive (or update) the firmware.

Step 1

Execute the firmup.bat file. If you are on Windows Vista or Windows 7, make sure to run it in admin mode. If all went fine you should see something like this in the console window:

Image

The values may vary from system to system. If all went fine, remove the bridge, replug the Aikon and proceed to Step 2. If you got an error saying the device was not found, try replugging the USB cable (don't forget to bridge the pins again to keep the Aikon in bootloader mode) and see if that fixes it.

Step 2

By now, it is time to mount the Aikon to the keyboard. At this point you should have already figured out the keyboard matrix. Connect all the ROW and COL circuits to the according pins on your Aikon controller. If you did not yet figure out the matrix or do not know how to do so, read my basic guide on how to reverse a keyboard matrix.

Step 3

Install the LibUSB filter drivers. If you are on Windows Vista or Windows 7, It is recommended that you should run the LibUSB installer in Windows XP compatibility mode. To do this, right click the installer and select Properties. On the "Compatibility" tab set the options as shown below:

Image

After the installation of LibUSB, all your USB devices will be restarted. This may result in some devices not working until you reboot your machine. It is recommended to unplug all your USB devices before installing LibUSB.

Depending on your anti-virus solution and security settings, you will be warned about potential dangers when installing LibUSB. These are, of course, false positives and can be ignored.

Once you are done with all three steps, you have the hardest parts behind you. Time to move on to mapping your keyboard!

Using the AIKON Client - Mapping your keyboard

Image

Extract and start the AIKON.exe client. You should be greeted with a familiar interface similar to the one of AQUA's Keytest as seen above. Before proceeding, make sure to check the very bottom of the application to see if the AIKON is being recognized. If the program tells you that no device has been found try to quit the application and replug your AIKON. If the device still fails to be recognized, try rebooting and/or reinstalling the LibUSB drivers. Use alternative drivers as explained above if the problem continues.
Last edited by sixty on 30 Jan 2011, 15:33, edited 3 times in total.
sixty
User avatar
Gasbag Guru

Unread post30 Jan 2011, 14:57

User avatar
X
sixty
Gasbag Guru
 
Posts: 2917
Joined: 28 Jan 2011, 14:47
Main keyboard: DKSaver
Main mouse: Razer Krait
Favorite switch: Cherry MX Black
Club member: 0060
 
 
Permanently buying all types of rare Cherry Corp. keyboards. PM me.
Great! I still need to get into this.
Topic needs pretty picture of AIKON..

Image
webwit
User avatar
Wild Duck

Unread post30 Jan 2011, 15:20

User avatar
X
webwit
Wild Duck
 
Posts: 6910
Joined: 28 Jan 2011, 01:27
Location: The Netherlands
Main keyboard: DataHand Pro II
Favorite switch: Buckling spring
Club member: 0000
 
 
Software is currently missing in the main post, I'm waiting for permission from inornate to host them here. In the meantime, they can be dowloaded at OTD: Client, LibUSB Latest (64bit), Firmware 1.0.4., Bootloader.
sixty
User avatar
Gasbag Guru

Unread post30 Jan 2011, 15:25

User avatar
X
sixty
Gasbag Guru
 
Posts: 2917
Joined: 28 Jan 2011, 14:47
Main keyboard: DKSaver
Main mouse: Razer Krait
Favorite switch: Cherry MX Black
Club member: 0060
 
 
Permanently buying all types of rare Cherry Corp. keyboards. PM me.
Was the source code for the controller's firmware ever made public?
I wonder if it includes proper debouncing for both mechanical and membrane switches.
Also, am I right to assume this controller can't poll capacitative switches?
mbodrov
User avatar

Unread post05 Mar 2011, 22:42

User avatar
X
mbodrov
 
Posts: 195
Joined: 05 Mar 2011, 18:26
Location: Moskva, Russia
Main keyboard: Cherry G80-1853
Main mouse: Logitech G5
Favorite switch: MX ErgoClear
 
mbodrov wrote:Was the source code for the controller's firmware ever made public?
I wonder if it includes proper debouncing for both mechanical and membrane switches.
Also, am I right to assume this controller can't poll capacitative switches?

No, its closed source. I have never tried it on a membrane board, but it has proper debouncing for every mechanical switch I threw at it so far (including the aaaaaancient ALPS switches from the old Apple keyboards).
sixty
User avatar
Gasbag Guru

Unread post07 Mar 2011, 01:28

User avatar
X
sixty
Gasbag Guru
 
Posts: 2917
Joined: 28 Jan 2011, 14:47
Main keyboard: DKSaver
Main mouse: Razer Krait
Favorite switch: Cherry MX Black
Club member: 0060
 
 
Permanently buying all types of rare Cherry Corp. keyboards. PM me.
Just wondering if the Aikon supports adding modifiers to FN-layer keys (if FN+A could for instance become SHIFT+0)?
intealls

Unread post07 Mar 2011, 14:04

X
intealls
 
Posts: 122
Joined: 05 Feb 2011, 20:10
Main keyboard: Tipro split
Favorite switch: Cherry MX Blue
 
intealls wrote:Just wondering if the Aikon supports adding modifiers to FN-layer keys (if FN+A could for instance become SHIFT+0)?

Hmm.. I think it does not. But I'm not sure anymore, so I'll check it tonight.
sixty
User avatar
Gasbag Guru

Unread post07 Mar 2011, 18:54

User avatar
X
sixty
Gasbag Guru
 
Posts: 2917
Joined: 28 Jan 2011, 14:47
Main keyboard: DKSaver
Main mouse: Razer Krait
Favorite switch: Cherry MX Black
Club member: 0060
 
 
Permanently buying all types of rare Cherry Corp. keyboards. PM me.
Has anyone actually made one of these themselves? If so, would you mind posting a picture of it?
002
User avatar
Topre Enthusiast

Unread post20 Mar 2011, 03:22

User avatar
X
002
Topre Enthusiast
 
Posts: 1442
Joined: 15 Mar 2011, 01:42
Location: Australia
Main keyboard: Topre REALFORCE 87U [Variable]
Main mouse: Logitech G9
Favorite switch: Topre Capacitive
Club member: 0002
 
 
Tokyo Press
Topre enthusiast
Image
I built one that is only missing a few didodes. Looks very unspectacular... breadboard with a IC mounting thing on it and the full sized atmega
sixty
User avatar
Gasbag Guru

Unread post20 Mar 2011, 13:47

User avatar
X
sixty
Gasbag Guru
 
Posts: 2917
Joined: 28 Jan 2011, 14:47
Main keyboard: DKSaver
Main mouse: Razer Krait
Favorite switch: Cherry MX Black
Club member: 0060
 
 
Permanently buying all types of rare Cherry Corp. keyboards. PM me.

Who is online

Users browsing this forum: MrMen, rodxx, vvp and 22 guests