If you’ve ever ridden the Haunted Mansion ride at one of Disney’s theme parks, you’re bound to remember the ballroom full of dancing ghosts. They’re clearly animatronics but somehow the magic makes them appear and disappear like true phantoms. This magic is easy to replicate with a Raspberry Pi 4 with an effect known as Pepper’s Ghost and that’s exactly what maker N4MI0 has done with this beautiful betta fish bowl project.
The illusion requires a real-life object to be hidden out of view. When illuminated just right, it can be reflected on a sheet of glass or other transparent material giving it the appearance of existing in a new location. In this case, the betta fish is playing on a video from a screen. N4MI0 is reflecting the fish onto a sheet of plexiglass that was cut to fit neatly inside of the glass. When the fish swims by in the video, it appears to pop up inside of the bowl.
The video is played on a Raspberry Pi 4 which is outputting to a round screen from Waveshare. The screen is placed at the bottom of the bowl which is more of a closed glass globe. The plexiglass is 1mm thick and flexed slightly to fit inside. According to N4MI0, the effect works best when you’re looking at it from a particular perspective, so it doesn’t quite have a 3D hologram effect but works great if positioned just right.
As far as programming the project goes, the Pi is mainly responsible for launching a YouTube video of a betta fish at boot. To do this, N4MI0 is using a custom Python script. This ensures the betta fish pops up on its own when the unit is powered on without the need to remote in and launch the video manually.
N4MI0 explains that plans are in the works to improve the project with more features. For now the hardware components are exposed at the bottom but they will be soon housed in a 3D-printed shell. N4MI0 would also like to use a Pico W to accept wireless commands so the fish could be controlled remotely, possibly via Bluetooth.
If you want to see this Raspberry Pi project in action and get a better idea of how it works, check out the original project thread shared to Reddit by N4MI0. Be sure to follow N4MI0 for more projects as well as any future updates on this one.