Skip to content


Hammerhead Electrical


Hammerhead’s electrical systems operate on multiple custom and commercial components.

They are all powered by two 4-cell Li-Po batteries which are monitored by a custom Li-Po monitor. The monitor was designed by Team Unsinkable using Altium Designer. It uses two OP-Amps (one as a voltage follower and one as a comparator) to measure the voltage of each individual cell. This is necessary because the cells are in series, so a comparator is needed to isolate the voltage of each cell individually. These voltages (now between 0V and 4V) are read by analog inputs (ADC0-3) on an RP2040 microcontroller. The RP2040 has a program stored in flash storage (externally connected through QSPI protocol).

The program reads the voltages in from the OP-Amps and sends the information via SPI to a CAN Transceiver. The CAN Transceiver converts the information from SPI to CAN protocol which is what the rest of the robot communicates with. Once on the CAN bus, the cell health is read by our on-board computers to ensure we don’t overdraw or damage any individual cell or battery. The board also has two pins coming from it that can be connected to place the flash storage device in boot select mode to be programmed. There is also a USB-C port on the board for connecting the RP2040 to a computer for programming. The USB-C port is connected to a 3.3V low dropout (LDO) regulator to supply power to the RP2040 while it is being programmed. While under normal operating conditions, the RP2040 and CAN Transceiver are powered by a second 3.3V LDO regulator and a 5V LDO regulator that receive power from the total battery output. Although, it is less efficient to draw from the higher voltage at the total output instead of the lower voltage at an individual cell, powering the board this way prevents asymmetrically drawing power from battery cells and potentially damaging the battery. This is the same reason for making the first OP-Amp a voltage follower.