Recent Posts

Framebuffer and Drawing Pixels on OLED Chip SSD1306

In the previous post we had introduced the C library for performing graphics on the OLED screen SSD1306 using a Raspberry Pi.

In this post we explain the framebuffer object and how to draw individual pixels on the screen.

Read More →

C Library for Display on OLED Chip SSD1306

We purchased a 128x32 pixel OLED screen model SSD1306 from DIYMall via Amazon to display live information on a Raspberry Pi, that we had been using for debugging a product. The requirement for a Raspberry Pi to have an HDMI screen to see live outputs on say a GPIO or SPI pin is too cumbersome, especially when you are not in your lab environment with a TV or HDMI compatible monitor lying around.

With this in mind we purchased the OLED screen that works using I2C pins on the Raspberry Pi. If your task is simple and one-off we recommend using CircuitPython or MicroPython with the Adafruit SSD1306 library. More help on this can be found at

However, we wanted to write our own library for writing to the SSD1306 OLED chip directly in C, as eventually this would be used in our internal product tools and help with longer battery life. We tested the Adafruit library and it used more CPU than expected.

Read More →

TeaTime - An Experiment

Suppose you are an independent game developer. You are facing piracy and fake copies of your game, and you do not have the legal and economic power to handle this problem. You want to continue making games without getting discouraged by pirates, who most likely reside in other countries.

What do you do ? How do you prevent or reduce the incentive to pirate your game through reverse engineering ?

Read More →

First Post!

Our interests in the field of reverse engineering, embedded hardware and cryptography will be the main feature of this blog. As a team of reverse engineers and developers, we encounter a variety of systems in use that are past manufacturing date or are not supported anymore. We help recover, repurpose or build modules to enhance such systems while maintaining their original purpose.

Read More →