Ericsson Chatboard 8051 Mod
Some time ago I was told about a nice qwerty keyboard: the Ericsson Chatboard. With its size, it would be perfect for small RS232 based projects. Still, it was practically useless as it had a very hard to use set of AT-based commands:
---------------------------------------------------------------
mode shift key command remark
---------------------------------------------------------------
0-9 AT*EKSE=0 to AT*EKSE=9 0-31
shift 0-9 AT*EKSE=32 to AT*EKSE=41 32-63
a-z AT*EKSE=65 to AT*EKSE=90 64-95
spac AT*EKSE=91
. AT*EKSE=92
sh-spac a-z AT*EKSE=97 to AT*EKSE=122 96-127
sh-spac spac AT*EKSE=123
sh-spac . AT*EKSE=124
shift a-z AT*EKSE=129 to AT*EKSE=154 128-159
shift . AT*EKSE=156
sh-spac shift a-z AT*EKSE=161 to AT*EKSE=186 160-191
sh-spac shift . AT*EKSE=188
WWW AT*EAPP=0,5,"WWW: ","WWW" 192
Attach AT+CKPD="#:" 193
E-mail AT*EAPP=0,5,"To: ","WWW" 194
SMS AT*EAPP=0,0 195
PhBook AT*EAPP=1,0 196
YES AT+CKPD="S" 197
NO AT+CKPD="E" 198
Backsp AT+CKPD="C" 199
<- AT+CKPD="<" 200
-> AT+CKPD=">" 201
---------------------------------------------------------------
Obviously, I needed something less complicated and more useful. And that's where the hacking begins.
Taking apart
This is the original, unmodified Chatboard:

I opened the case and saw a pretty complicated circuit:
I made a simple RS232 interface, as described here. The board visible on the photo is a DS89C450 evaluation board; it has a level converter so I used it. I wrote a simple Perl script to communicate with the Chatboard - see Download section.
Soldering a new CPU
The IC used in Chatboard is Philips CV5739. After a bit of googling I found out it's just a specialized 8051 clone. Since I couldn't reprogram it, I decided to replace it with DS89C450. It went smoothly:
I removed all the little parts which served as some kind of voltage regulator. I also added a few parts to allow the CPU to be reprogrammed in-circuit:
Luckily, the XTAL used in Chatboard turned out to be exactly 11.0592MHz which is a perfect frequency for 57600 baud.
Adding an ISP connector
A standard 10-pin "ISP" connector fits exactly inside the case, with a little help of a dremel. ;)
Writing the firmware
As it turned out, this task isn't exactly easy. You have to take care of key repetition, bouncing connectors and VT100 emulation - all this while trying to use as little power as possible. The key matrix is as follows:

h p e l b y n
1 2 3 4 5 6 7 8 9 0 d
Q W E R T Z U I O P
A S D F G H J K L
s Y X C V B N M .
___ < >
Bits (0b76543210)
READ| 0 1 2 3 4 5 6
----+--------------
0 | h p e l b y n
W 1 | 1 2 3 4 5 6 7
R 2 | Q W E R T Y U
I 3 | A S D F G H J
T 4 | ^ Y X C V B N
E 5 | 8 9 0 d P O I
6 | L K M . > < _
Download
- Firmware - sources [??K] // XXX todo
- chatboard.pl - Perl test script [1K]
Links
- AVR Chatboard - similar project, but with AVR (made independently)
- MageForge - another Chatboard project
- Keyboard Advance - Chatboard for your GBA
- Chatboard PS/2 - a classic PC keyboard hack