The Elephant Clock and Castle Clock are water clock replicas that were commisioned by KAUST. The original developers of the clocks stopped their maintenance and we (Machine Shop and I) were brought in to re-engineer the the insides and get them to a fully functioning state again. There’s a video of what the clocks do, although the modern clocks don’t contain any water!
The clocks contain numerous motors (DC, stepper and servos), lights, sensors and switches. All of these are controlled by a Raspberry Pi Zero running a program written in Python. I developed a library so the sequences of actions could be written in a declarative style. The clocks run sequences at various times in the day and when visitors interact with it.
I wrote a mobile webapp using Ionic to monitor and remote control parts of the clocks. I also designed a couple of PCBs to breakout the GPIO of the Raspberry Pi.