circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

October 2005, Issue 183

The Silicon Wallet
CY8C27443-Based Data Manager


KEY FEATURES

The battery-operated Silicon Wallet has an alphanumeric LCD. As you can see, the wallet doesn’t have a keyboard; it has only a wheel peeping out on one side like the volume controller in miniature radios (see Photo 1). By turning the wheel (you can do it with one hand), you enter a secret five-digit code—the only one you have to remember from now on. It’s like having a safe in your pocket. After it’s opened, you can use the wheel to scroll through the information that’s inside it.

The Silicon Wallet’s most amazing feature is the way you enter new information. Instead of an awkward miniature keyboard or uncomfortable input schemes, the input device is a single phototransistor. How do you enter text using a phototransistor? Well, recognizing that whenever I get a new password I am also using a web browser, I developed a JavaScript program capable of transforming ASCII text into encoded light flashes and thus changing the color of screen objects. I used this script to build a nice web page displaying a keyboard (see Photo 2a). Thus, to enter fresh data, just direct your web browser to the keyboard page, place the Silicon Wallet on the PC screen so that it can see the flashes, and click the text you want to store (see Photo 2b). It’s that easy!

(Click here to enlarge)

Photo 2a—Take a look at the Silicon Wallet’s keyboard as it appears on a web browser. A simple HTML/JavaScript file that can be stored locally or included in a web site generates it. The large white square is where I place the device; it transmits keystrokes by changes in color. b—Placing the Silicon Wallet on the screen triggers a detector switch that sets the device to Data Entry mode. When you click text on the virtual keyboard, it materializes magically on the LCD in real time. A software routine automatically adjusts the sensitivity according to the screen and ambient light.

By design, this wireless input technology requires only a web browser. It works on any combination of platforms and operating systems. Remarkably, it doesn’t require you to install specialized software and drivers. On the security side, the script encodes data on the fly, one character at a time, with the intention of preventing RAM and cache hacking. When it’s in the wallet, information is stored in the processor’s on-chip flash memory, which is hardware-protected from external reading. At last, a fairly secure place for a password list!

In the following sections, I’ll describe the Silicon Wallet’s hardware and software. This inexpensive single-chip project exploits both the analog and digital qualities of the CY8C27443 microcontroller. I’ll describe how I managed to adapt it to the different signals captured from CRT and LCD monitors. As you’ll see, I added Hamming error correction code (ECC) and designed the filters in such a way to get rid of the noise coming from ambient light and superposition of the video raster. I’ll also cover the tricks to embedding a signal encoder in a web page with a general-purpose language like JavaScript.

Finally, I’ll show you how you can configure, enable, and program a wide range of products (from toys and music players to industrial timers) using nothing more than web pages and an inexpensive light sensor. My intention is to show you the potential of the underlying technology, which, when considered as a more general mechanism capable of transferring data from the web to electronic devices, can inspire a whole class of cutting-edge products.