The new boat controller consists of two PCBs – the Navigator mounted on top of the Expansion Board.
The Navigator will be responsible for the most important tasks like navigation, collision avoidance and sending messages. The Expansion Board that will provide additional functions more specific to the boat. This modular design allows to make quick modifications on the Expansion Board while keeping the more complex Navigation Board unchanged.
Here are all features of the boat controller:
- The microcontroller is Atmega2560 running at 16 MHz. It has been chosen because it's widely used in development boards like Arduino Mega and there's a vast amount of available libraries for various sensors.
- It can be programmed over Wifi. This will make life easier as there is no need to open the hatch and connect the cable for programming. The boat can be tested in the ocean while staying connected to a laptop located on the shore or motorboat. With a long range Wifi antenna, the program can be uploaded even hundreds of meters over the air.
- Tilt compensated compass. There will be also an auxiliary compass that will be mounted far enough from magnetic noise.
- Accelerometer & gyro. The motion sensor will give us a better idea about what the boat is actually doing, especially during storms and high winds. It will report pitch & roll, average wave height, etc.
- Battery power sensor.
- 2 MB flash memory for data logging.
- Experimental 256 KB FRAM memory which is faster than flash.
- Temperature, pressure and humidity sensor. It may discover potential problems inside the waterproof housing such as leaking, overheating or need for pressure compensation.
- Watchdog timer based on a low-power microcontroller that monitors the “heartbeat” of the main CPU. If the Navigator doesn't respond for a minute or it reports any kind of failure, the watchdog will cut power for a few seconds. This is how we usually fix problems. :)
- A couple of MOSFET switches to turn on particular hardware only when needed: Linux computer with a camera, satellite modem, AIS receiver (for collision avoidance), RC receiver and water pumps. Wondering what the water pumps are for? They will pump water out of the boat if flood sensors detect big trouble...
will be one additional board that will measure voltage and current of
each solar panel separately. It will be interesting to see which
panel is shaded by the sail at any particular time.
The source is published on GitHub: