Archives for category: Own Work

I have published my written thesis on the Grin Verlag (Publishing Company).

ISBN: 978-3-656-49446-1

232570_0
Read the rest of this entry »

This is the final prototype of the Tesla User Interface. It was developed during the time of my diploma thesis in media computer science at the Ludwig-Maximilian University of Munich. Thanks go out to my supervisor Aurélien Tabard for a helping with this setup.

The wireless and batteryless control widgets are regular Mifare Classic 1k protocol RFID ICs by NXP Semiconductors, that have been enhanced with mechanical control element functionalities, like button, slider or rotary switch.

Few Words about the Reader Setup:

TUI-ReaderScheme

Under the white plate an Arduino is connected to two SM130 reader modules. Via two dual 4-channel analogue multiplexer/demultiplexer each of the modules itself is connected to two antennas like it can be seen in the figure above. The communication naturally proceeds through the modules. The Arduino directly controls the multiplexer, by applying a current to the multplexer’s address pins in the right way. Furthermore each module has a status LED that tells if it is ready and one LED indicating when an ID read event occurred. The detected ID information is delegated over the serial connection to the Arduino and from there further to the PC and the Processing software. This means that three serial communication connections have to be handled by the Arduino, what demands an equal baud rate. Therefore the maximum baud rate is determined by the maximum baud rate of the slowest component in the setup. And finally a picture of the wiring:

100_0391

In order to use an ATtiny85 as an AVRFID, it is necessary to know the exact inner workings of these microcontrollers.

attiny85_pins

For I/O-operations the pins (2=PB3, 3=PB4, 5=PB0, 6=PB1, 7=PB2) can be used. The configuration of the ports is affected by the three 8-bit registers PORTB (data register), DDRB (data direction register) and PINB (port input pins):

Read the rest of this entry »

One more time a discription of serial communication between an Arduino and a Processing sketch. But this time the important steps in making up a serial connection between an random serial device to the Arduino, which itself has a another serial communication to the pc running a Processing programm.

Read the rest of this entry »

Digging deeper into the different aspects of the RFID technology, I started to get lost with details of protocols and data sheets. The search for RFID taxonomies, which helped me understanding the big picture did not exist. I found three older and smaller taxonomies on specific areas on the RFID technology or certain perspectives on it:

  1. A Multi-agent Architecture for RFID Taxonomy” by Son Le, Xu Huang, and Dharmendra Sharma (2007)
  2. Taxonomy and survey of RFID anti-collision protocols” by Dong-Her Shih, Po-Ling Sun, David C. Yen and Shi-Ming Huang (2006)
  3. A Taxonomy for RFID” by Taimur Hassan and Samir Chatterjee (2006)

But it seemed quite incomplete for the current state of the art of RFID, so I took those three and many other scientific facts (1, 2, 3, 4, 5, 6) I have gathered over time and tried to complement it, to give an up-to-date overview about this field. In order to cope with the many aspects and dependencies of RFID in terms of ubiquious computing and new user interaction possibilities it is really important to understand the big picture (click onto the image to get the whole big overview!):

RFID Taxonomy_overview

Creative Commons Lizenzvertrag
The 2013 RFID Taxonomy by Dario Soller is under the Creative Commons Attribution – Noncommercial – Share-alike 3.0 Unported License.

To me it seems pretty complete for January 2013, but it does not claim to be complete at all. RFID will continue to be a fast developping technology, especially in the near future, so feel free to expand and update this mind map and leave a comment, if you find any kind of wrong classification or you think there is something important missing. Here is the original mind map file (done with Xmind).

Another important part is the special RFID ISO/OSI Layer approach by Son Le et al.. Even though they have a little too much of this business perspective to it. In my opinion it is too early for this kind of business service view on RFID because of the many technological barriers which still have to be overcome. But from the view of communication engineering an own RFID OSI layer model would be really promising in finally getting RFID ubiquitous for everyone:

RFID OSI Layers

My 2013 RFID taxonomy doesn’t exactly represent these proposed RFID OSI Layers anymore, but it’s still an integral part of it. One simply has to leave the nodes Development, User Interaction, Security and Protocols away. The Physical and the Communication layers are very closed coupled and a bit overlapping as one can see on a closer look on the 2013 RFID taxonomy.

First of all I emphasize that unfortunately none the following attempts of reprogramming fused AVRs was successful in my case. Therefore this is more a personal documentation of what did not work, rather than a tutorial on how to get AVRs reprogrammed.

The general problem is, that once the fuse bits of an AVR are set to except an external clock source, the AVRs can in theory only be reprogrammed when they have that external clock source during the reprogramming process as well. In practice it is much more complicated.

Read the rest of this entry »

Right now I have build four 125 kHz RFID reader antennas, so it was time to make a little first comparison, on how they perform. With each antenna I read two RFID tags and measured the read distance of each one of them. The first one is a RFID Card by Sparkfun (8,5 x 5,5 cm) and the second is a smaller RFID tag sticker ( 2,3 cm).

Image

Read the rest of this entry »

First I had to get some S-code programm and flash the ATtiny85 AVR microcontroller chip. Luckily my supervisor had some first assembler source code for a RFID tag on his github. For the sake of completeness I have left all the comments in the following code, because they give detailed specific informations on this topic. File ‘avrfid.S‘:

/*
 * Software-only implementation of a passive low-frequency RFID tag,
 * using an AVR microcontroller.
 *
 * Version 1.1, 2010-06-15
 *

Read the rest of this entry »

The goal is to have a RFID interaction Processing library in the end, which helps for rapid prototyping of RFID interactions:

Maybe I can even realize an integration with the simple visual programming language Scratch.

I have spent quite some time to get the serial communication between Processing and Arduino working. Unfortunately I haven’t succeeded yet. It’s either some vagabonding libraries or a 64bit incompatibility issue. The only information according this error was in the Processing wiki and in a messageboard thread. They recommend to manually replace some jars and dlls, but their troubleshootings didn’t work yet. I still have to try another specially 64bit compiled version of the RXTX library. I watched thru several serial communication tutorials (1,2,3,4,5), hoping to find some more informations according this error. I also stumbled over the CmdMessenger Library, which sounds like a interessting solution for the serial communication (CmdMessenger on GitHub). I also got the Eclipse plugin for Processing, but the same here. Right now I don’t know, if I should just put a fresh Windows version on my pc or if I should keep on trying to solve that error elsewise! So for the moment, I stepped back to the Arduino Code which already worked but hasn’t had the perfect formatting of the IDs in decimal.