While surfing might appear to be a fun pastime, not everyone lives in the right location, or has the proper combination of balance and upper body strength to catch a wave. For busy would-be surfers, however, Lena Strobel, Gabriel Rihaczek, and Guillaume Caussarieu have created a device that bridges the gap between a desk toy and a full-blown surf simulator.
The project uses an oil-water tank to portray waves, lifted up and down by a servo mechanism. This is controlled by an Arduino Uno with an nRF24L01 wireless module, which in turn receives signals from a second Arduino mounted on a wooden surfboard big enough for a person to stand on. The board contains its own Uno and transceiver module, and is curved on the bottom to allow the person on top to tilt it back and forth via body movement. Angle measurement is done through a MMA8452 3-axis accelerometer.
The result is a device that, while it may not exactly simulate riding waves, definitely lets you observe and interact with wave motions. As seen in the video below, it looks like a whole lot of fun!
Interestingly, if you put the wave tank on top of the board it forms a feedback loop, eventually oscillating with greater and greater magnitude. While only a small note on this project, such a setup could possibly take advantage of PID control as seen in this balance-bot to smooth things out.