client case Kinetiscopes updated with LCD displays

I have been working with the artist Ben Wigley for a while now. One of the main projects we have worked on has been the Kinetiscopes which have been designed as small viewing platforms for playing films and audio within remote locations, typically in woods and outdoors. The original design was very complex and showed real 8mm film within a stepper motor controlled mechanical unit. As you might expect there were maintenance issues with these units, although not as many as you would have thought considering they were installed for over 4 years!. The main problems were mechanical with the film slipping off the driving wheels or getting slightly pinched within the ‘looper’. Also the experience of the films was ‘abstract’ due to the focus of the lens, the slipping and missing of frames and the random start point. All these things meant that a re-vamp was required and I decided to upgrade the units to LCD screens for an improved visual experience (although some of the ‘soul’ of real film is slightly lost).

 

I wanted to use and LCD unit that was very low power, had a quick boot up time, easy to control from an Arduino based controller and could survive large changes in temperature (-10C to +30C is probably the max range in the UK). After a bit of prototyping I found the STWA101WT-01 from Stone. This was not the cheapest display, but it seemed to cover all the specification above and also have examples to start and stop a video track with sound.

 This is a 10.1″ TFT LCD screen with 1024 x 600px resolution. It also came with the Stone Designer program to control the GUI. It could respond to serial commands and came with example code for Arduino and ESP32.

When tested it has a boot up time of just under 5 seconds. This was OK for user interaction. Ideally I’d like that as low as possible, but the start up screen could be changed (see below) so it can be used to show credits before the film starts.

The final system used an Arduino as a controller. This monitors pulses from the hand crank, When there are pulses from the hand crank then it will switch on a relay to power up the LCD screen. Then, 5 seconds later, it will switch on another relay to turn on the audio (otherwise there is an audible ‘pop’ at power on). The Arduino controller also starts, stops and pauses the film along with controlling the brightness and volume: both go up (to a maximum) when turning the handle and down (to zero) when people stop turning the handle. If no one has turned the handle for a few seconds then the unit shuts down and goes into lower power mode.

This is all powered by a simple solar PV panel, charge-controller and lead-acid battery power supply system. The unit is powered by the 12V DC from the lead-acid battery (with appropriate fusing).

The two relays, Arduino controller and LCD screen were mounted into a custom designed wooden enclosure.

Here are some notes about using these LCD displays:

Start and Stop Video

Although it was advertised as having video control, this function was slightly lacking in the user manuals (as it had just been implemented). This was the main functionality I wanted. I realised that the functions here were exactly the same as the audio start/stop functions, apart from changing the command to video:

Play video:

ST<{"cmd_code":"set_video_play","type":"system","video":"video.mp4"}>ET

This code puts the video in a particular location (x,y):

ST<{"cmd_code":"set_video_play","type":"system","video":"video.mp4","x":50,"y":100}>ET

Stop video:

ST<{"cmd_code":"set_video_stop","type":"system","video":"video.mp4"}>ET

Pause video:

ST<{"cmd_code":"set_video_pause","type":"system","pause":true}>ET

ST<{"cmd_code":"set_video_pause","type":"system","pause":false}>ET

I wanted to be able to control the speed of the video (to slow it down when someone stops cranking the handle), but

Brightness Control

ST<{"cmd_code":"set_brightness","type":"system","brightness":100}>ET

This works from 0 -> 100. But 1 is nothing and 2 shows something. I used this command to make the video fade in (if people are turning the handle) and out (when people stop turning the handle).

Audio and Volume Control

Volume control:

ST<{"cmd_code":"set_vol","type":"system","vol":50}>ET

Want to set the audio to 0 before playing video or else there is a ‘pop’.

Start audio:

ST<{"cmd_code":"set_audio_play","type":"system","audio":"01.wav"}>ET

The start/stop of audio while another film is playing worked, but there was considerable delay in the video.  So in the end I used the audio track within the video and did not specifically start/stop any audio.

Change Boot Up Screen

Create a BMP or PNG file. This needs to be saved within the LCD file structure: the directory and filename must be exactly as specified in the document – “STONE\logo\logo.bmp”.

In addition, the logo.bmp file must have a resolution in pixels that exactly matches the resolution of the display and be saved in 24 bits per pixel format.

It will be saved in: default\raw\images\xx\logo.png

To update the boot logo:

Step 1. Must use a USB flash storage disk. (FAT32 Format)

Step 2. Name your logo image file as “logo.bmp” (Case matters!)

Step 3. Build a “STONE/logo” folder on the flash storage drive (Case matters!). (Note there is a demo example for this). Then copy “logo.bmp” file into “STONE/logo” folder.

Step 4. Updating

  1. Only copy “STONE” folder into flash storage disk.
  2. Choose the “U-Disk” switch on the PCB
  3. Plug the flash storage disk on the USB port, Automatic update.
  4. After updating, take out the flash disk, Auto Reboot”

Results

The best thing that has happened with the LCD updates has been the increase in user interaction time. When there was the real film installation then user interaction time was around 20 seconds (average per use). This low interaction time might have been due to stuck film or the fact that the images were quite hard to see.

With this new install then the user interaction time has increased to over 60 seconds, which is much better and means people are more engaged with the art installation.

Problems

A few problems occurred during the first install of this LCD update. These occurred over 8 months through winter time.

Buzzer

There was a buzzer that started when ever the unit powered up. I did not want this. This could be removed through the Stone Designer program as one of the boot options.

Also you can play the buzzer (if needed at all) using the command:

ST<{"cmd_code":"set_buzzer","type":"system","time":100}>ET

Video playback

We noticed that the film was running slightly slower than the audio.

There was a direct correlation between the resolution and frame rate of the video file with the audio/video delay.

My initial fix was to lower the resolution and the frame rate of the video (but still keeping it looking good). I ended up with 5 fps, a maximum data rate of 300kB/s and a video size of 560px high being the final conversion parameters.

I also realised that I was sending audio commands even when the unit was at maximum volume. Processing these audio commands was taking processing power and slowing down the unit. When I removed the audio file send (when the unit is at maximum volume) this reduce the audio/video delay considerably.

But its worth bearing in mind that the audio and video may be run at different speeds due to the processing limitations of the screen.

Relay failures

I used a mechanical relay to control the 12V power on/off. This was 10A rated and the maximum current to the screen was 1A, so I thought it would be OK. But the in-rush current to the capacitors within the screen meant that the mechanical relays failed after about 10,000 uses. I solved this by upgrading to MOSFET based high side relays from DFRobot. These have worked really well, although they do need a ground connection to be added.

Water ingress

One unit has suffered from water ingress through some small holes in the roof of the enclosure. This has caused some damage to the screen which plays audio, but no longer plays video. The only option here has been to replace the screen and ensure better ingress protection.

Our Client case Quote: Kinetiscopes

    Scroll to Top