In order to interface with the autopilot side of the boat IoT system which I am currently developing, I decided it would be a good idea to make a hand-held remote-control prototype. I decided to develop a PCB using my favourite HC-05 Bluetooth module and an Atmega88 microprocessor. I included three physical buttons in the design for sending directional commands to the base unit, as well as several LEDs to display the current mode that the autopilot will be in. This is what the schematic and PCB layout looked like:


I also decided that CNC milling for the prototype PCB would take too long (and would be way too loud), so I decided to make my first etched toner-transfer PCB. Insted of using ferric chloride for the etchant, I tried using a combination of hydrogen peroxide, hot vinegar, and salt. The results were satisfactory, but took roughly an hour for a 75x100mm copper-clad board. Also, this time, I remembered to place the programming ISP port the right way around…


To power the remote, I glued in a prismatic li-po cell, along with a USB charging module and a switch. The battery is connected to the MCU via a voltage divider, and the circuit can sense with the battery is low and trigger an audible alarm. If the voltage gets too low, the MCU enters a power saving mode.


In order to facilitate the use of the buttons, I 3D printed a spacer using a semi-flexible TPU filament. The center button is for changing the mode of the autopilot. (Disengaged, manual, automatic).


For the 3D printed case, I came up with the “iCaptain” logo and the navy star and stripes. You can download all of the hardware files here. I have not yet written the software for this remote, and I will get around to doing that once I finish the rest of the IoT project! 🙂