Adding wireless to an old AT keyboard

For our Hybrid Worlds project we wanted to make keyboard wireless and networked. This is not the standard wireless that is used in normal wireless keyboards. We use xbee’s to transmit all the keystrokes to the same base station that sends the received data to a PC via serial.

I’ve used the following parts to realize this:
he keyboard side:
– 1 Arduino.
– 1 Proto shield.
– 1 xbee.
– 1 xbee adapter.
– 1 custom made AT breadboard adapter.
– Various wires.
– Software: This arduino libary.

The base station:
– 1 Arduino.
– 1 Proto shield.
– 1 xbee.
– 1 xbee adapter.
– Various wires.

Here are some pictures, first the arduino with all the components on it:

Arduino with components

And with the keyboard connected:

With mechanical keyboard

close up

And the adapter I’ve soldered to connect the AT keyboard without destroying them. Its made from an female DIN5 connector.



And the base station:

close up

On the base station you can also see our other wireless module, but because we only have two of those we switched to xbee communication, so we can mesh together several keyboards to one base station

Code and examples are on the project page here. At the bottom.

Laptop equipped with Chipknip reader

Today someone showed me that my laptop (the HP elitebook 8530w ) is equipped with a smart card reader that can read out the dutch chipknip chips found on debit cards.

Feels a bit weird to stick your debit card into a laptop, but to my amazement, windows recognized new hardware!
Together with some software I can read out all sorts of information from the debit card chip:


Now I’m only left with one question, why would a laptop be equipped with these kind of readers…

Alternate reality vs. Augmented reality vs. Virtual reality

When i try to have a conversation with someone about Alternate reality games (ARG’s) people often confuse alternate reality for augmented reality or virtual reality. This post is to clarify the differences.

Virtual reality

Virtual reality, image by NASA

Virtual reality is a reality that is 100% digital. Virtual reality is often seen trough VR-glasses for a more immersive experience.

Augmented reality
Augmented reality on a modern smartphone

Augmented reality is reality with more information added to it that is normally not available in the way that augmented reality delivers it. An example of augmented reality is Layar. Layar displays information on top of reality using a camera phone, gps and a compass. Augmented reality is half way between virtual reality and the reality (“50% digital”)

Alternate reality

An example of the ARG I love bees, a player pics up the phone

Alternate reality is when the reality of the player is influenced by real people, and real events. The reality the player experiences is the least ‘digital’ from these three realities, although alternate reality does use a lot of media platforms, including digital ones. One can experience alternate reality when you are in an alternate reality game. An example of an ARG is I Love Bees. I Love Bees was the promotional ARG for Microsoft’s Halo 2. It’s the most successful ARG to day.

I hope this post clarifies a few things about these technologies.


Media Follow You
A Ubiquitous Computing Project

Jan Kolkmeier, Pieter Pelt and Reinout Epke

February 7, 2010


Ubiquitous computing (ubicomp) is a post-desktop model of human-computer interaction in which information processing has been thoroughly integrated into everyday objects and activities. In the course of ordinary activities, someone “using” ubiquitous computing engages many computational devices and systems simultaneously, and may not necessarily even be aware that they are doing so. This model is usually considered an advancement from the desktop paradigm.



The Media Follow You (MFY) system is a system that is aware of the positions of its users in terms of nearby Screens or Speakers. Further it is able to switch audio/video sources to output devices.

Assuming a user is watching a movie in his/her living room and suddenly starts moving around the house. The system recognizes certain positions and switches the video to the screens along these positions, resulting the movie to “follow” the user.

Getting Started

We identified several problems that needed to be discussed in order to meet the ubiquitous computing requirements and to technically realize a demonstration:

  • How to connect and switch all those devices?

  • How to detect presence of nearby users?

  • How to keep administration and interaction low for the user?

  • How to make it easily extensible?

  • What happens if two users stand in front of one screen?

Demo setup in SmartXP-Lab

For the demo we used SunSpots. Sunspots are small devices with sensors, buttons and LED’s. They also have wireless capabilities. The last feature allowed us to detect if some SunSpots are near others, by evaluating the signal quality.

For the audio and video switching we used the Magenta Mondo III Audio/Video Switcher which is already set up in the SmartXP-Lab. This system allows to transform every UTP port into a audio/video source with the use of special transmitters and receivers. Thanks to its serial interface we were able to automate the switching.


We distinguished two types of SunSpots. The key sunspot and the TV-spot. The first are carried by the user, the latter are mounted near the screens included to the system.
The TV-spots basically build a multi-hop network, covering the whole Lab. Further, they constantly send a package with its ID into the aether.

If now a key comes closer to a TV-spot, it evaluates the signal-quality of packages recieved by TV-spots, sending an own package to the network containing its own ID and the ID of the TV-spot sending the “best” packages, which usually is the TV-spot which is nearest.

Thanks to the existing network of TV-spots, it doesn’t need a very strong signal-quality itself, because its package can be forwarded by the TV-spots to reach the endpoint of our demo-setup: The basestation.

The basestation is a PC with another SunSpot, running an Java application responsible for collecting and evaluating the data. It further is connected to the audio/video switcher and thus also responsible for the actual effect of the whole system.

Figure 1:
Setup of the MFY-Demo in SmartXP-Lab

Image consumer

  1. Key finds that TV1 is closest.

  2. Key transmits its ID and closest TV via the network to the base station.

  3. Basestation maps ID’s and issues the mondo to switch the video accordingly.

  4. Desired picture is shown on the closest screen.

Two users, same screen?

In our current demo the user that is detected the latest gets the screen. This is best for demonstration purposes. We’ve also made sure the screens won’t flicker between two sources constantly.

Consumer Product

Our MFY consumer product concept does not use the Mondo A/V switcher because its to bulky and expensive for home use. Instead the video streaming will be done wireless over IEEE802.11 N, the base station will also switch the different streams and the receivers will also be the sensors for the nearest TV. It will be sold as an upgrade kit consisting of one base station and transmitter and two receivers and keys.

Figure 2:
Possible setup of our Consumer Product

Image consumer

  1. Key detects he is near a reciever0

  2. Key sets a package on the network with the id of that reciever0 and the channel selected on the key (say “0”)

  3. Basestation orders the Transmitter with channel “0” from the key to stream to reciever0.

  4. Transmitter streams to the Reciever.


Base station

The base station is the heart of the network. It handles all the diferent videostreams and has an build in wireless-N router. Every device is at least indirectly connected to the base station.


The transmitters have common video and audio inputs and an ID-selector. This is the ID you can select on your key if you want to watch the stream from that particular transmitter.


The receiver is the device attached to your TV or Audio system. It has common video and audio outputs. And a wireless sensor to interact with the closest key and other receivers to hop messages to the base station.


The key is carried by the user and is configurable. The key has a screen and a button so the user can select one of the transmitters. It has a wireless sensor that interfaces with the receivers. The sensor of the key has a weak signal strength so only the TV’s nearby can detect it. With this the system knows what screens to turn on and off.


This setup, at least in theory, keeps maintenance and overall interaction with the system for the user very low.

To add a new source in the network the user would have to purchase a new transmitter. The source is connected tot he transmitter and the transmitter ID is set with the buttons.

To add a new Screen/Speakers the user has to purchase an additional receiver and connect it to the screen/speakers, no buttons needed.

A new key also just needs a channel to be selected, and its ready to go.

Since the basestation would anyway be a wireless device, further configuration could done through a webinterface running on the basestation.

Figure 3:
Draft of the consumer product – Basestation, Key, Reciever and Transmitter

Image consumer