Our “Smart Poker Table” detects the players’ cards as well as the community cards. It computes the winning probabilities for each player, according to the rules of Texas Hold’em, and renders them onto a screen. Continue reading Smart Poker Table
Category: Hardware
Digital-Piano Dashboard
I have recently acquired a digital piano. Other than playing it, I have spent some time processing and visualizing its MIDI output data. What’s that? The digital piano has a USB port for data streaming (while somebody is playing). This data contains among other things information about what key is being pushed at a given time. The Digital-Piano Dashboard visualizes that information and renders a nice piano-key-push-history. Continue reading Digital-Piano Dashboard
ShiftRegister PWM Library
The ShiftRegister PWM Library enables usage of shift register pins as pulse-width modulated (PWM) pins. Instead of setting them to either high or low, the library lets the user set them to up to 256 PWM-levels. This post serves as a documentation page for the library and is to be extended over time. Continue reading ShiftRegister PWM Library
Port Manipulation and Arduino’s digitalWrite Performance
The widely used Arduino IDE offers many easy-to-use functions, one of them is void digitalWrite(uint8_t pin, uint8_t val)
. It sets one of the microcontroller’s pins to either high or low and serves well in many cases. However, it has a really poor performance, i.e. execution time. This post analyses both, speed and interior of the digitalWrite function, and proposes alternative, high performance solutions for setting output pins.
Continue reading Port Manipulation and Arduino’s digitalWrite Performance
Program Arduino in Assembly or C/C++
This post is a tutorial on how to get started on programming your Arduino in Assembly or C/C++. In order to follow you need a Windows machine and a microcontroller programmer like the Atmel-ICE.
Continue reading Program Arduino in Assembly or C/C++
Arduino 433 MHz Wireless Module

This post provides a quick reference for the 433 MHz wireless module, which is widely used in combination with the Arduino. The VirtualWire library is one possible way of utilizing the module. Continue reading Arduino 433 MHz Wireless Module
Microsoft HoloLens: First Impression
Today, 14. Dec 2016, I got the chance to try the new Microsoft HoloLens. This article explains briefly what that is and which impression I got.
The Microsoft HoloLens is a pair of augmented reality goggles. Opposed to virtual reality headsets you can still see your surroundings when wearing the HoloLens. What’s exciting about it? A transparent screen inside the headset adds 3D elements to you view. Pretty much as shown in Microsoft’s commercials.
Continue reading Microsoft HoloLens: First Impression
Smart Home Security Camera
This post explains the technical background of the security camera system, shown in the following movie. The post will answer the questions: How to detect a thief, how to take a photo, how to get notifications on your phone, and whether the system would work in reality.
Continue reading Smart Home Security Camera
Ambient Light (Arduino Project)
This blog post explains the technical details of my Ambient Light project. If you don’t know what this project is about, watch the following video first:
Install Node SerialPort on Raspberry Pi
Since I had a lot of trouble installing the npm package serialport on my Raspberry Pi B Rev 1 (and Rev 3), I want to share how it eventually worked. Continue reading Install Node SerialPort on Raspberry Pi