Tag: arduino

MEMEX @ Das Netz

Interactive exhibit at “Das Netz” in the “Deutsches Technikmuseum Berlin” – cooperation with Felix Scharstein


The MEMEX is a historical vision of an american scientist, published in 1945, but never realized. It is a „device for individual use, which is a sort of mechanized private file and library“ based on microfilm technology. The most important idea is the creation of “trails”: links between pages – the first hyperlinks.

This interpretation of the MEMEX vision is based on digital components. The user can search the library, browse documents and create trails in a way that is very close to the original idea. The user interface is very simple but powerful.

My talk on the basic MEMEX idea and this exhibit at the Vintage Computing Festival Berlin 2015 can be watched here (in german language).

Hardware 4x Raspberry Pi, Arduino with 64-button-shield, TFT
PC as database server
Software distributed python-based sofware, communicating over XMLRPC


(All images by Bruno Torres Suñén – click image for a larger version)








Keyboard detail


Display detail


Keyboard – bottom side

Building a MEMEX

I recently started building a MEMEX device for a new exhibition “Das Netz” in the Berlin Museum of Technolgy. The MEMEX is a vision of a scientist from the 1940s about future knowledge management based on microfilms.


The exhibit will use computer components instead but it will simulate the look and feel of a microfilm device. At the moment I have fully functional software simulation (coded in python) of the device to define and test the complete user interface and the typical processes.


In the next step we will build the components (database, displays, keyboard and camera) as independent modules. These modules will communicate over a standard ethernet connection.

The current design is the following:

Database fanless PC with a MongoDB server (Linux)
Monitors Raspberry Pi with a 13.3″ Display (software: python)
Keyboard Arduino with a 64-Button-Shield, Buttons and a transport lever
Camera Raspberry Pi with a RaspiCam (software: python)


PSoC 4 – an exciting low-cost platform

I started using microcontrollers with the Arduino / ATMega platforms because of the simple IDE and the large amount of additional material available.

Now I discovered a new platform and started building projects on it. Its the PSoC 4 family made by Cypress. You get a prototyping board with an ARM processor and everything you need to start for less than 5 €, the software is free. One of the included features is support for capacitive sensing without additional components.

These boards will replace Arduinos in some of my future projects.

Reading Buttons of a LCD Keypad with Arduino

The LCD Keypad shield from dfrobot is a nice way to get a display and some buttons for an Arduino board. Unfortunately the reading of  button presses does not reliably work with the standard software (LCDKeypad). The alternative keygrabber library seems to be incomplete and did not work for me. The dfrobot forum lists some interesting approaches, so I decided to make my own library.

The LCDButtons library is hosted on github. It can be used as a replacement for LCDKeypad. The button() method works different: if a value is read that indicates a key press the reading is repeated until two consecutive values make the same key. The delay between the readings can be configured. Optionally the function can wait until the button is released.

Binary Toy for the Museum of Technology, Berlin

My first larger project using the Arduino platform is an exhibit for the German Museum of Technology in Berlin. It will be shown in the Konrad Zuse exhibition.

The device shows a random number (left display). By activating the correct bits in a binary representation (center display) the visitor has to assemble this number (right display). From a programmers point of view this is really not a big deal, but for most people this can be a challenge.

This device was created in cooperation with Felix Scharstein who has a long experience in objects and machines for museums. An article on a more mechanical device for the same exhibition will follow soon.

Technical Facts

The device is controlled by an Arduino Duemilanove. All buttons are connected to digital inputs: eight buttons for the digits, two buttons to increase (+1) or decrease (-1) the number and one button to request a new random number. The front panel was made from white Corian.

The displays consist of 14 single 7-Seg-modules (Kingbright SA10-21GWA) connected to two MAX7221 controllers. One controller drives the center display, the other drives the left and right display. The controllers are cascaded and connected to the Arduino using a serial interface (3 pins). The Arduino library LedControl is used to control the displays from the software. By using this excellent library the main program can be kept really small and simple (~150 lines). The program logic is trivial, no special programming skills were required.

All wiring was done by hand (~800 soldered joints). This was a hard job, but finally everything is working. The device will be installed in the museum in the next weeks.

Many thanks to the creators and contributors of Arduino and LedControl!