Hacking Amazon’s Kindle E-Book Security with Lego Mindstorms

kindle-lego-device_sPeter Purganthofer, associate professor at the Vienna University of Technology, built an amazing project involving an Amazon Kindle, a computer with built-in webcam and a Lego Mindstorm robot.
The robot presses alternately the “next page” button on the Kindle ebook reader and the space button on the laptop. Thus, a computer program on the laptop takes a screenshot of the current page, which is subsequently converted into text using an OCR software. This way, one gets a DRM-free copy of an e-book “bought” at Amazon. Purgathofer states that due to Amazon’s e-book sales model, “The owner isn’t even an owner anymore but rather a licensee of the book”.

The video below shows the system in action. The overall machine is awesome. It reminds of designs for Rube Goldberg machines.

DIY kindle scanner from Peter Purgathofer on Vimeo.

Of course this is definitely not an efficient way to re-digitize an e-book. For example, the process could have been better automated using Kindle software and a screenshot tool directly on the computer. However, the goal was to make a noticable statement about copyright, eBook DRM and ‘ownership’ of eBooks. And to have fun playing with robots.

Posted in Hardware, Robotics | Tagged , | 1 Comment

Biologically Sound Neural Networks for Embedded Systems Using OpenCL


Guest post by Anita Sobe

Presenting our paper

I. Fehervari, A. Sobe, W. Elmenreich. Biologically Sound Neural Networks for Embedded Systems Using OpenCL. Proceedings of the International Conference on NETworked sYStems (NETYS 2013), Marrakech, Morocco, Springer 2013.

in the format of a short announcement was an interesting challenge. The task was to get the other researchers to read our paper by only talking about it for 5 minutes. Furthermore, the audience was wide-ranged from all topics of distributed systems. So, I had to introduce spiking neural networks and the motivation for using them on a distributed embedded system before pointing to the approach of implementing them with OpenCL:


Spiking Neural Network Model

Neural networks are widely used in machine learning and many implementations exist to process images, process information, etc. Biologically sound neural networks are more powerful than standard ANN models, because the encoding is done in a spike train, conveying also information in the time domain.

Thus, spiking neural networks have nice properties, but they require significant computing power to emulate them.


Example structure with 10x10x10 neurons. Typical structures are much larger requiring a high number of parallel calculations

For embedded systems, computation is a critical resource. We propose to use OpenCL for massive parallelization of the neural network model. OpenCL is a framework for programming software running on GPUs. But this is not enough, the most complex part comes from updating neurons and the state of the influenced neighbors. We therefore propose a connection model  where each neuron is only connected to its neighbors, up to a given hop distance. Using this model we were able to simulate 1 million neurons instead of 100.000 (which is big for usual networks). The performance gain is already excellent, but we even went further.

Performance gain

Performance gain

OpenCL supports local memory for so called task groups and a second-level shared memory for all tasks. Shared memory is slower, therefore, we redesigned the implementation in such a way that it only uses the local memory of OpenCL. This final measure improves the latency well enough to run our system with a high number of neurons on an embedded node such as a robot or a smart camera attached to a drone.

Posted in Embedded Software, Sensor Fusion, Uncategorized | Tagged , , , | 1 Comment

e-puck solving a maze

As a result from Rene’s and Kevin’s work, we can show a maze-solving application for an e-puck. The approach has been implemented on real hardware and tested in a simulation using Webots. To solve the task, different sensors of the e-puck (IR-Light Sensor, Distance Sensor, …) have been combined, so that the e-puck could solve this maze. The robot follows the right wall, until he finds its goal (a dark sector in the maze) – then the LEDs are blinking and it makes a sound, so you notice, it has finished.

As you can see in the video, the approach works (though the robot is moving a bit slowly); also the simulation predicts very similar results.

Posted in Embedded Software, Robotics, Simulation | Tagged | Leave a comment

Wireless Time-Triggered Communication using a Firefly Clock Synchronization Approach

In South-East Asia, huge swarms of fireflies synchronously emit light flashes to attract mating partners. The underlying principle can be used to implement a robust and scalable distributed synchronization approach in wireless sensor networks.


AVR Z-Link Zigbee Nodes

In this work we implement the Firefly Algorithm on battery-powered low-cost wireless nodes to establish a time-triggered network with a global notion of time. This global notion of time is used by the protocol but also provides a service that can be used by real-time applications. The synchronized nodes perform a time-triggered communication, where the sending instant of each message is known a priori to all nodes. This enables the implementation of an energy-efficient low duty-cycle protocol, where sender and receiver units can be turned off during silent phases.


R. Leidenfrost and W. Elmenreich. Establishing wireless time-triggered communication using a firefly clock synchronization approach. In Proceedings of the Sixth International Workshop on Intelligent Solutions in Embedded Systems, pages 227–244, Regensburg, Germany, July 2008.

Posted in Real-Time Networks, Wireless Networks | Tagged , , , , , | Leave a comment

Call for Papers: Eleventh Workshop on Intelligent Solutions in Embedded Systems (WISES 2013)


WISES 2013 will take place in Pilsen (Plzen), Czech Republic on September 10-11, 2013.

Embedded Systems run our cars and telephones, control production lines and aircraft systems. Meeting the strong requirements regarding the cost, safety, security, size and the power consumption require new and innovative solutions. Providing flexible and configurable systems is nowadays the key role of the embedded software.

In this context, WISES2013‘s objective is to create a forum for exchanging ideas, discuss solutions and share experiences among researchers and developers from both industry and academia. Original papers describing prototype implementations and deployments of embedded systems are particularly welcome. WISES 2013 will be held in conjunction with the 18th International conference on Applied Electronics (http://www.appel.zcu.cz).

Topics of interest include, but are not limited to:

Embedded Systems Architecture

‐ Multicore SoC (e.g. homogeneous, heterogeneous MPSoC)
‐ Memory systems and optimization in embedded systems
‐ On‐chip buses and point‐to‐point networks
‐ Application‐specific (e.g. ASIPs, hardware accelerators)
‐ Architectures and tools for reconfigurable computing

Software for single or multicore embedded systems

‐ Applications and systems software (e.g. drivers, communication libraries)
‐ Real‐time operating systems and middleware in embedded systems

Prototype platforms, applications and case studies

‐ Next generation networking and mobile/wireless technology
‐ Sensor networks and related hardware/software platforms
‐ Embedded systems with ambient intelligence and pervasiveness

Tools and methodologies for analysis, exploration and validation

‐ Cost‐efficient and power‐aware embedded system design
‐ Fault tolerance, reliability and security in embedded systems
‐ Real‐time embedded systems
‐ Debugging and profiling techniques and tools
- Cyber-physical systems

Special Sessions:

‐ Industry‐oriented research
‐ Safety and Security
‐ PhD students session

Other special sessions can be proposed to the General Chairs.

Submission and Publication

The working language of the workshop is English. Prospective authors are invited to submit new original research papers of a maximum length of 6 pages (A4,two column, 10pt, IEEE conference style) for blind review. Initial submisssions must not contain any authors informations (name,affiliation, etc.)

All submitted paper will be peer-reviewed. Accepted papers will be published in printed proceedings. The papers will be made accessible via world-wide web and via IEEE Digital Library. Each paper must be presented by one of the authors at the workshop.

Submissions will only be accepted electronically via WISES homepage in PDF format. Submission will be enabled on March 11th.

Please format the final version of your accepted paper according to the “IEEE Manuscript Templates for Conference Proceedings” in A4 (latex or word): www.ieee.org/web/publications/pubservices/confpub/AuthorTools/conferenceTemplates.html

Important Deadlines and Dates

Manuscript Submission Final Deadline March 31th, 2013
Notification of Acceptance: May 31th, 2013

(download registration form)
(download copyright form)
August 20th, 2013
Camera-Ready Paper Submission: July 22th, 2013
Workshop: September 10th/11th, 2013
Posted in Embedded Software, Hardware, Protocols, Real-Time Networks, Robotics, Sensor Fusion, Simulation, Tools | Tagged , , , | Leave a comment

9th Workshop on Software Technologies for Future Embedded and Ubiquitous Systems


(SEUS 2013)


will be held in Paderborn, Germany, during June 17th to 18th, 2013 (Tentative)

SEUS 2013 will be a forum where researchers and practitioners with substantial experiences and serious interests in advancing the state-of-the-art and the state-of-practice in the field of embedded and ubiquitous computing systems gather with the goal of fostering new ideas, collaborations, and technologies. We invite contributions that present advances in integrating the fields of embedded computing and ubiquitous systems. Industrial applications in the field are also encouraged. Papers can be of a conceptual, theoretical, application-oriented, standards-driving, innovative design or experimental nature, and should represent technological or scientific advances. SEUS 2013’s goal is to bring together researchers from all over the world, to foster a stimulating and fruitful exchange amongst researchers working on similar topics, to discuss ideas, exchange field experiences and to find solutions together to the problems facing software technologies for embedded and ubiquitous systems.
The SEUS 2013 deadline had been extended by two weeks. The paper submission is extended to February 3rd, 2013.

Program Chairs

Lynn Choi, Korea University, Korea
Raimund Kirner, University of Hertfordshire, UK


  • Suggested topics of interest include (but are not restricted to) the following:
  • Applications, Components, Services
  • Programming Languages, Models and Tools
  • Requirement Specification and Methodologies
  • Middleware and Operating Systems
  • Software Architectures and Software Engineering
  • Communication Networks
  • Wireless Sensor Networks and Mobile Ad Hoc Networks
  • Smart Phones, Smart TVs, and Smart Devices
  • Wearable Computing, Next Generation Computing
  • Cloud Computing
  • Social Computing
  • Computer Architecture
  • Embedded Systems
  • Programming Paradigm for Multicores and Manycores
Posted in Dependable Systems, Embedded Software, Real-Time Networks, Wireless Networks | Tagged , , , , , , | Leave a comment

Linux as real-time system

The Open Source Automation Development Lab ran experiments on the latency of various systems running mainline Linux with real-time Kernel. They generated billions of statistical samples over more than one year of simulation time. One of the most interesting parameters measured is the total preemption latency (interrupt processing plus wakeup of a user space process). Note that we are talking about a pure Linux system here, not a real-time system that runs Linux as a task in parallel with dedicated real-time threads.

x86 VIA C7 @1000 MHz running Fedora 10 with Kernel, maximum latency 112 µs in a total of 87.8 billion cycles

The latencies of various Linux systems had shown to have small variation and not a single outlier had been detected in the whole dataset. This implies that Linux systems provide a generic feature for determinism and thus could be trusted for hard real-time tasks.

However, before you are going to wire a critical nuclear power plant controller to your Linux box, consider this:
Although the tests had been very extensive, there is still a chance that a certain condition exists where the delay exceeds the expected duration. In the tests this condition just never might have occured. I expect that the guys at OSADL have done their experiments quite accurately, so that the probability for such a case might be in the order of micro-percent. However, if you instrument a really critical system, the costs for the remaining risk are still striking.

So what do to next? Use Linux for a real-time system or not?

Use it, but don’t fully depend on it. Monitor the results. If your system has a safe state that would be entered in case a deadline is – other than expected from the measurement results – missed, Linux can be quite an attractive choice. Anyway, in order to create a dependable system, you need dependable drivers for interacting with the process environment.

For the timing issues of the operating system, the experiments and results from OSADL are extremely valuable to engineers building real-time system with Linux.

Posted in Dependable Systems, Embedded Software | Tagged , , , , | Leave a comment