The electrical team is responsible for the design and implementation of the electrical systems that bring the vehicle to life. They utilize computer software such as Autodesk EAGLE to design the electrical systems and they are also responsible for hand wiring the multiple sub-systems together and ensuring that the different sub-systems can communicate with each other reliably.
The PCBs are designed using the professional Eagle EDA suite. The circuits will then be designed according to the requirements, creating a schematic in the process. When designing sensitive analog circuitry, simulations are performed using LTspice to characterize and model our designs. This schematic can then be transformed into a PCB layout, which we send off for manufacturing and fabrication.
This verification process for a project includes electrical design reviews, which allows us to catch mistakes and improve working prototypes, as well as give constructive feedback while sharing knowledge between senior and junior members.
The electrical team is also responsible for assembling all of our own boards. Each board we design is assembled in-house, and tested, to ensure that it functions as intended.
We also assemble much of the internal electronics of our robots, creating wiring harnesses, attaching boards, and crimping or splicing vital connectors inside and outside of our robots.
Finally, the team coordinates with the mechanical team for design considerations for how boards will be constructed and fit on the robot.
In order to operate custom boards, the firmware is written using the Teensy platform, with the PlatformIO environment and using Arduino libraries. This allows new members to come up with interesting and useful contributions early into their membership. Our firmware is also written in C++, allowing us to use modern programming paradigms.
This firmware needs to interface over common protocols with various sensors, actuators, and other components within our robots, communicating with each other as well as our high-level software.
Some of our ongoing projects are heavily involved in complex Digital Signal Processing (DSP). These include passive sonar and underwater communications. Members design and test DSP algorithms in Python or MATLAB and implement these on board our robots.
In order to tie everything together, we use industry standard communications systems, such as Ethernet and CAN bus to command and control the internals (and externals) of our robots. This deeply embedded approach gives us complete control and flexibility in all of our internal systems, allowing us to modify and re-use different components.