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.
- 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
Building the AIKON - Parts needed
Soldering knowledge & equipment
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)
ATMega32 (40 pin)
C1: 0.1uF ceramic capacitor
C2: 18pF ceramic capacitor
C3: 18pF ceramic capacitor
C4: 10uF tantalum capacitor / electrolytic capacitor
C5: 0.1uF ceramic capacitor
D1: 3.6V zener diode
D2: 3.6V zener diode
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.
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:
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.
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:
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.
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.
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:
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
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.