This Raspberry Pi project is called “Raspberry Pi Retro Player” or RPRP which is RP squared, and it consists of a cheap OLED display that is mounted inside an old Argus slide magnifier. I've had the Argus viewer for a few years, and I bought it from either a charity shop or a summer fete for £0.50. I tried to get it to work a few years ago but for some reason could not and gave up. However, I came across an OLED set up guide by Souvik Saha https://www.hackster.io/souvik-saha) which was clear and simple and easy to follow. It inspired me and I thought I would give the project another try.SH1106 Driver
So, what is it, at the heart of it the project is a Raspberry Pi 3 which is running a Python program that uses Open CV. The program code takes a video clip and breaks it down into individual frames, each one of those individual frames is then resized and converted to black and white, (grayscale) and then each one of the frames is then written back to the OLED display. This creates the illusion of motion and the video plays on the display. The OLED display uses the sh1106 driver which is a slightly different code than the standard Adafruit circuit Python library used for sh1306 displays. This required a little bit of investigation and a slightly different setup to normal Souvik Saha guide. However, I have produced a video with a detailed explanation on how to do this should you buy a sh1106 display yourself.FAILS
As with all projects there were several fails, “first attempt in learning”. The first one was finding the correct software to run the OLED display. The majority of displays use a driver called sh1306, however cheaper displays use a different driver, the sh1106. This meant that for several days the images on display did not display correctly.
Another fail occurred as I was nearing the end of the project. I had completed all of the code and placed all the hardware inside the viewer. I was testing the code to ensure that it worked correctly and found that the button was no longer working. I have a different code to test buttons which I tried but this also failed so, I unscrewed whole of the setup, took it apart to discover that the wire to the button had broken off. This was quickly resolved by soldiering it back on!