Explorer Bot (2011)
The ExplorerBot is my 2011 Final Year Project, submitted as part of my double degree in Computer Science and Electronics Engineering at Latrobe University, and is a demonstration of my acquired electronics, project management, programming and design abilities. Students were required to select a unique electronics project, and undergo a complete year-long development cycle from idea to implementation, including schematic design, board layout, programming and construction. Once completed, students were required to produce a Thesis document detailing the entire project for review by the University supervisors.
For my project, I elected to design and construct a robot capable of remote control and sensor data logging, using a custom Bluetooth stack I was to write for my thesis. As raw Bluetooth stacks are a non-trivial pursuit, this gave me an adequate challenge of my programming skills, to be able to produce a functional (if not complete) stack within the time period given.
The final submitted project builds on top of my previous LUFA USB stack for the enumeration and management of USB flash disks, HID devices and Bluetooth adapters, and is capable of establishing multiple simultaneous connections to multiple Bluetooth devices (in both directions), and - in theory at least - over multiple adapters. Partial implementations of the SDP, HID and RFCOMM services were completed, allowing for remote control of the robot with a variety of HID devices (PS3 game controllers, Wiimote game controllers and some mobile phones) as well as log the robot's sensor data in real time to a PC using a custom .NET application reading and parsing the data from a wireless Bluetooth serial port.
For the robot's sensors, I elected to re-use the Atmel Inertial One and Pressure One boards, which each contain a variety of I2C protocol sensors mounted to a more friendly PCB. This reduced the overall system cost and construction time and gave a good representation of the robot's environment.