This project started as all good projects do: Ethanol!
Some close friends, some rum and a discussion of absurd IoT devices eventually lead this project and It's been making me question what I've been doing with my life since I started it.
The board is Arduino compatible and based around an ATMEGA328, it features an RGB LED, an encoder with a switch and a small power MOSFET for controlling the motor. Power is provided via a DC jack on the board. It can be programmed via a serial header on the board using a standard USB TTL serial adaptor.
As much as I like to consider this project a joke, it lead to some interesting research, and in the process, I discovered a few issues common to a lot of these wand-type devices. Some of the most common issues are simply a lack of circuit protection. I've included a PTC fuse in my design as well as a TVS and freewheeling diode appropriate for the task of protecting the output MOSFET. These are basic things, but a lot of the lower end wands seem to omit them. I didn't find any wand that had a way of detecting an overheating motor, so I've included a temperature probe in my design. This not only allows the motor to be shut off if it overheats, but it also opens the possibility of derating it instead of turning it off completely.
The ICSP and serial headers are broken out on the board, which opens the possibility of using the SPI pins for something else once the bootloader has been flashed onto the chip.
The enclosure was designed in OpenSCAD and 3D printed with the goal of making the design parametric so that it can easily be customized. Some of the customizable parameters allow it to accept different motors, different masses and allow for customization of the flexible coupling between the handle and head. The head and handle are attached using a flexible tube connected using barbs, which makes it easy to swap parts. Several of the parts are printed in flexible filament, but it is not required for functionality and the flexible coupling may be substituted for a short piece of tubing.