We are the Binghamton University Rover Team (BURT), representing Binghamton University in the University Rover Challenge. The competition consists of a variety of missions designed to test our rover's navigation, maneuverability, dexterity, and more. Our team is split into three mechanical teams (drive, arm, and science), an electrical team, a firmware team, and a software team. This repository is for the firmware and software teams.
Our firmware team specializes in low-level Arduino code running on Teensy 4.1 boards. The code is designed to be as simple and error-free as possible, with no dynamic memory allocation, following all commands exactly, and reporting all sensor data. Firmware code uses our shared networking and motor libraries. All firmware repositories should follow the same rough structure as outlined in the template.
- Shared libraries: Protobuf, Firmware Utilities, TMC
- On-rover firmware: Drive, Electrical, Arm, Science
- Off-rover firmware: Antenna Control, Motor test board
Our software team writes the high-level code that helps coordinate the firmware and other devices. The main component here is the Dashboard, our cross-platform Flutter application for testing, debugging, and operating the rover or any of its components individually. Each Dart program runs on a Raspberry Pi or similar Linux device and communicates with the other programs via UDP.
- Shared libraries: Protobuf, burt_network, Rover-Code
- Core programs: Dashboard, Subsystems, Video, Autonomy
- Supporting programs: Lidar, Computer Vision, Base Station
- Pub packages: flutter_sdl_gamepad, a_star, pub_cache, typed_isolate
- Our Wiki at GitBooks
- Our website
- Our YouTube channel
- Contacts: Email | Instagram | LinkedIn