Archive for February, 2009

Dear Reader

February 21, 2009

Next in our closer look at the reference model is the Rfish reader. It should be able to distinguish swimmers by reading their personal ID. In principle, the reader could be designed to work as a stand-alone lap counter but as you’ll see soon, connecting it to the internet makes it a lot more useful. Therefore, we design the Rfish reader to pass the data it reads on to a web server.

In the near future, web-enabled special purpose devices and even individual sensors will each have their own direct connection to the internet over one of today’s mobile phone networks (an example of such a device is the Amazon Kindle). But right now, GPRS modules required for such a connection are still a little pricey. Fortunately a cheap alternative is readily available, because of the abundance of Bluetooth-enabled mobile phones. All we have to do is to wire our reader to a cheap Bluetooth hardware module and use a standard mobile phone as a gateway to the web. A further advantage of this setup is that we can connect multiple readers through a single gateway, reducing the cost per lane.

Since Bluetooth data transmission works without wires and doesn’t consume too much energy, it should be possible to put the reader, the Bluetooth module and a battery together in a relatively small, water-tight case. In terms of energy use, low-power ZigBee radio would be even better, but current mobile phones do not support it.

There is at least one supplier selling an RFID reader with Bluetooth in a palm sized form factor for around $300. Assembling a custom reader might lower the cost, given the actual price of RFID readers and bluetooth hardware. Still, the prototype will be considerably above $100. And yes, this is an optimistic estimate by someone who never before designed a hardware product. So, if you know better please drop me a note.


Photo by Thomas Hawk

Regards,
tamberg

Creative Commons License This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 Switzerland License.

Advertisements

Next Round’s On Me

February 20, 2009

s
Photo by Rougerouge

Now let’s have a closer look at the individual parts of the reference model by starting out in the pool. An important requirement Rfish should meet is allowing more than one person swimming on the same lane, at the same time. So Rfish must be able to distinguish between swimmers to maintain separate lap counts for each one of them. We will achieve this by attaching an ID (i.e. a unique number) to each swimmer, which can be read by a reader of some sort. Hooking up those readers to the web requires the IDs to be unique in the entire system. One person can then visit different pools with Rfish readers installed without messing up other peoples lap counts.

The personal ID should cost as little as possible. It’s desirable but far less important to also have a cheap reader, as its cost can be shared between multiple swimmers or maybe even paid for by your pool operator. Without having used them before, my first guess is to work with RFID tags. They can be bought in the form of water resistant wristbands for a few dollars and do not require a direct contact with the reader. While the RFID technology might not work under water, it at least allows us to put the reader in a watertight case.

Of course there are several alternatives to using RFID technology as a means of identification. A personal web-enabled counter or sensor similar to the Nike Plus system could probably be built using a simple controller that might be attached to the internet via USB, making the reader obsolete. The downside of using USB to upload lap counts is that the data is not available on the web at real time, preventing scenarios such as lap swimming competitions. Another approach makes use of computer vision. Instead of an RFID tag, swimmers would wear a QR code (or another 2D bar code) on their head. The reader could be a standard mobile phone with a camera and some QR code reader software. A possible downside of this approach is that cameras are banned from many pools. Considering this, RFID seems to be worth a try.

Regards,
tamberg

Creative Commons License This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 Switzerland License.

Opening Up

February 16, 2009

Most swimmers are not engineers. Today, the only way for you (and almost everybody else) to profit from recent technological development is to buy a commercially available product developed by an innovative company. While such products can provide great value to the targeted community (e.g. Nike Plus for runners) they also have to generate money for the respective company. All to often, this leads to closed proprietary solutions confined to their initial purpose. There is no room left for innovation coming from the users themselves or from third parties. Even worse, communities too small to be considered a viable market are not served at all.

We plus Plus
High-tech held hostage

On the other hand, there is an established open source movement in software and a nascent one in hardware and even industrial design with projects like Arduino, Bug Labs (together with Ideo), Chumby, Gumstix, Liquidware or Openmoko. And when it comes to connecting devices to the internet, books like Making Things Talk do a great job explaining all the technical details end-to-end in a language targeted at a non-technical audience. There is no lack of building blocks like sensors, controllers, protocols, data formats and incredibly cheap hosting or data storage solutions – but trading off their qualities and integrating the selected components to a consistent product is not trivial.

Documenting the development of Rfish as a sort of open design or open engineering project might help hackers in other communities to understand our design decisions and solve similar problems with less headache by adapting the system or at least the ideas behind it to their own needs. And even more important, it will hopefully one day bring state-of-the-art technology in a usable, affordable and open product straight to your swimming pool.

Regards,
tamberg

Creative Commons License This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 Switzerland License.

A Simple Plan

February 13, 2009

Here’s a first sketch of how Rfish should help you count your laps. As it already contains hardware components and data transmission technology, the picture looks a bit complicated. But don’t worry, we’ll look at every part in detail. Even if it might change with further insight, the advantage of such a detailed reference model is that we can talk about every aspect of the project by pointing to this picture.

So let’s get started: the basic idea is to use RFID tags to trigger a stationary lap counter. Every person swimming on the lane gets such a tag and thus a unique ID. By touching the reader with your RFID tag, you can increase your personal lap count. The collected data (i.e. your lap count per session) is then transmitted to a server, where it is accessible over the internet with every web browser.

How can such a system ever be available at a reasonable price? By taking advantage of openness and collaboration. As illustrated above, many swimmers can share one RFID reader on the same lane. If this project leads to a usable prototype, instructions to build a reader from relatively cheap parts will be available for free under an open license. So you can build your own reader and either get your pool’s staff to install it for everyone, or just bring it with you and use it together with your friends. The rest of the system will be based on open standards allowing everybody (or at least some nerds) to replace individual parts by cheaper alternatives or more innovative solutions. Of course, until further notice this is all just wishful thinking. But it might well be worth some more brain cycles.

Regards,
tamberg

Creative Commons License This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 Switzerland License.

Counting Laps Without Losing Track

February 13, 2009

Many existing electronic lap counters require the swimmer to press a button on every lap. Such systems are often either built into a kind of wristwatch or wall-mounted. On the crowded lanes of a public pool, mounting a manually triggered counter to one end of the lane seems to be a bad idea, as there is no way to distinguish different swimmers.

Finis Lap Track
Finis Lap Track

Another more sophisticated type of counter relies on a wearable 3D-compass to deduce the number of laps by sensing a swimmer’s orientation. Unfortunately, such systems are not available as a product yet or at least not at an affordable price.

So in the meantime we’ll try to build a system that is usable, available and affordable.

Regards,
tamberg

Under Construction

February 12, 2009

Photo by Plymography
Photo by Plymography

As a rather mediocre but dedicated swimmer in a country with cold winters I spend quite some time every other day swimming laps in a pool. But because of the meditative nature of swimming, it’s often quite hard to keep track of your lap count (at times I even struggle to remember breathing). Still, although you’re not some sort of an athlete it would be nice to know roughly how many laps you did in a session.

My other passion is software engineering. Even in the water I often can’t stop thinking about programming problems. Due to the lack of most audiovisual sensory input, being submerged is actually great for breading ideas. One such idea is the project this blog is all about: Rfish – a system to count swimming laps.

While I got a vague vision of how to build such a system, the work is far from done. In fact, the minimal main site and this blog are all there is for the moment. Rather than building the system behind closed doors I’ll try to share every single step it takes to build it – from registering the domain name to the engineering of the system and implementing a first prototype.

Of course, such an approach could end in utter humiliation. But on the other hand there is a fair chance that this project can profit from your input and comments and become useful to more than a single person. Still, I’m scared. I never took part in one, but this must be the web equivalent of hearing the start signal to the first lap of a swimming contest.

Regards,
tamberg

Hello

February 12, 2009

Do you count laps when swimming? Rfish should do that for you. So, let’s build it.

Regards,
tamberg