[Eric Dirgahayu] wanted to explore underwater with some sensors and cameras. First, he needed a platform to carry them. That led to his Arduino-controlled swimming fish. The fish is made from PVC and some waterproof servos. From the video (see below) it isn’t clear how much control the fish has, but it does swim with an undulating motion like a real fish.
The included software allows for infrared control (so clean water is a must) and there is a ballast tank for buoyancy. The site has several videos and tabs that show different aspects of the project. We found the site a little difficult to navigate, so to help you out, you can go straight to the interesting bits of the construction. Here’s the electronics, too.