Chameleon keyboard controller

From Deskthority wiki
Jump to navigation Jump to search

The Chameleon is a user programmable keyboard controller with a wide range of features.


The Chameleon model CH-20056 is basically a Sprintek SK5102 processor on a breakout board for easy DIY access. Apart from the main processor some resistors, capacitors, an inductor and a buzzer (that's not actually connected to anything) have also been added to the board. The Chameleon comes supplied with a USB Mini-B shield that sits on top of the main board connected through a 4-pin header, this shield is marked as type AB-001A - Oct.01,2011 v1.0 By YJX


  • USB 2.0 full speed
  • User-Programmable keyboard matrix, scan code and macro keys
  • 4 sets of 8 x 20 keyboard matrix for Numlock(or RFN) and FN cases
  • N-key rollover support
  • Up to 255 Custom/Macro keys: generate “LCTRL+LALT+DEL”, “000” and “Diet Coke”
  • Built-in KeyMouse
  • AB rotary encoder mapped keys
  • Support PS/2 command pass-through via USB port
  • Key-controlled and USB-controlled 8 general purpose output(GPO), 1 state control output(SCO), 1 backlight PWM, 1 Alert LED control, Blackout control
  • One external hot-plug PS/2 port supports PS/2 keyboard and mouse including wheel mouse
  • Support three FN control modes: Level, Toggle and Sticky
  • Support two delay keys
  • Supports USB selective suspend and remote wakeup
  • Built-in oscillator and digital circuit. No external crystal is needed
  • Windows® application to design keyboard matrix
  • Low profile QFN 56 pin package: 8x8mm 1.0 Max (LxWxH)
  • Low power consumption. 230uA (USB suspend) and 18 mA (USB operation)
  • 4.57 to 5.25V operating voltage
  • Commercial temperature range:0°C to +70°C

Sprintek SK5102

The main processor on the Chameleon is the Sprintek SK5102 (PDF datasheet);

The SK5102 is a USB keyboard and KeyMouse combo encoder with a user-programmable keyboard matrix. The IC can be programmed to any keyboard with four matrix tables for FN and NUMLOCK(or RFN) cases, so the IC is the best choice for custom keyboard solution but with an off-the-shelf IC. The SK5102 scans and encodes an 8-row by 20-column matrix. The key press events are translated to keyboard and mouse report. The encoder gets matrix information from on-chip flash matrix table. Sprintek provides Windows® application FlexMatrix Editor and Programmer software to edit, download and upload the matrix table. The SK5102 scans AB rotary encoder inputs then map the rotation events to two key locations in the key matrix. The SK5102 provides an external PS/2 port that supports hot plug and hot swap of PS/2 mouse including wheel mouse, and keyboard devices.

Technical data

'Chameleon-Green' model CH-20056, V1.0 by YJX Oct.01.2011


Chameleon complete (including USB shield), outside dimensions

  • Width; 30.0 mm
  • Length; 65.0 mm
  • Height; 18.0 mm

Main board only

  • Width; 21.0 mm
  • Length; 56.0 mm
  • Height; 7.5 mm
  • Soldering islands; 2x28 rows with 2mm spacing

Possible modifications to reduce height;

  • Height; 4.8mm after removing the USB Mini-B shield and de-soldering the header for the USB Mini-B shield (requires alternate USB connection to main board)
  • Height; 3.3mm after removing the USB Mini-B shield and de-soldering both the header and the buzzer (requires alternate USB connection to main board)

It is also possible to reduce the width by roughly 2mm without losing functionality, this requires mechanically removing the sides of the board and the header pins. Reducing the length is possible but to retain functionality this will require rewiring and some properly anal soldering skills.


The CH-20056 comes pre-flashed with firmware version 1.02 Revision 4.

Software and manual

There are various software suites available for programming, editing, testing and demonstrating purposes. These can be downloaded from the Sprintek website here.

The manual that is made available can be downloaded through mediafire here

Chip pinout to board connection table

Board connector connection type IC Pinout Notes Description
VS through 0 inductor VSS Ground connection
D+ through 24.4Ohm R D+ USB D+ line
D- through 24.4Ohm R D- USB D+-line
VB Direct VDD Power supply
PD Direct XPS2DAT also connected to ground via pur External PS/2 port data line with internal pull-up resistor
PC Direct XPS2CLK also connected to ground via pur External PS/2 port clock line with internal pull-up resistor
G7 Direct GP07 GPO pin
G6 Direct GP06 GPO pin
G5 Direct GP05 marking unreadable on board GPO pin
G4 Direct GP04 marking unreadable on board GPO pin
G2 Direct GP02 marking unreadable on board GPO pin
G0 Direct GP00 marking unreadable on board GPO pin
BIN Direct GPO3/BIN marking unreadable on board GPO3 or AB rotary B input
AIN Direct CPO1/AIN marking unreadable on board GPO1 or AB rotary A input
PWM Direct BKPWM Backlight brightness control: PWM output
PGC Direct PRGCLK Programming interface clock line
PGD Direct PRGDAT Programming interface data line
GND Direct VDD Power supply
RE1 Direct RESV This pin is reserved.
VC Direct VSS Ground connection
LF 3.3kOhm R nLED_FN FN LED: direct drive
LK 3.3kOhm R nLED_KANA KANA LED: direct drive
LO 3.3kOhm R nLED_COMP Composer LED: direct drive
LS 3.3kOhm R nLED_SCROLL Scroll lock LED: direct drive
LC 3.3kOhm R nLED_CAPS Caps lock LED: direct drive
LN 3.3kOhm R nLED_NUM Num lock LED: direct drive
LU 3.3kOhm R SUSPEND Valid in USB mode. High = keyboard is in suspend mode; low =

normal running mode.

R0-7 Direct ROW0-ROW7 Row lines 0 to 7 for scan matrix with internal pull-down resistor
C18-C19 Direct COL18-COL19 Column lines for scan matrix
6-17 Direct COL06-COL19 Column lines for scan matrix
0-5 Direct COL00-COL05 Unmarked on board Column lines for scan matrix