Chameleon keyboard controller
The Chameleon is a user programmable keyboard controller with a wide range of features.
Contents
Description
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
Features
- 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
Dimensions
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.
Firmware
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 |