I have been playing around with an OLED screen module.

While my original aim was to try to create a new kind of a magic trick, there was a point in project development at which I realised that attempting to innovate on a field based around innovation and made up of innovators who have had decades of experience with the subject was ultimately futile.

Instead, I thought that maybe it was worth it to try and create a tool that magicians could use to come up with new routines themselves. I started playing around with the idea of a device, which could recognise cards and display the result either on a computer screen or on a smaller display fixed to the device.

My first step was trying to figure out a way to display the information (I realise that this sounds like something I should be figuring out at the end of the process but I did have to get my own modules so the order in which I worked was based around Amazon deliveries). At first, this was done through a Node server which simply took a value from a potentiometer via an arduino and displayed it as a number in the browser. Later, I added code for the client to load images from a folder and match them to the numbers output by the arduino via their file names.

Server code
Client code

(in a stroke of what can only be described as alarming lack of foresight, I neglected to save the arduino code).

Shortly after, the OLED screen arrived and I managed to fit it in without much of an issue, which also meant that I could ditch the server entirely and run the entire operation from the arduino.

Second Prototype

At this point, the arduino was mapping potentiometer outputs to a number of different values, each corresponding to a card symbol.

The screen itself was fine. I misundestood the blue/yellow screen to be capable of displaying either blue or yellow on any pixel, giving me two colours to work with. Instead, the screen is divided into two parts, the top part only displaying yellow while the bottom only works in blue. This was inconvenient but not too much, it was easy enough to work around.