This project involved designing our own PCBs to contain an ATmega4808 microcontroller, H-bridge motor drivers, power management and headers for external sensor boards. The external sensor boards contained colour sensors and op-amp schmitt triggers to send a digital bit when that sensor went over the black line "track" laid out on the ground. The PCBs were designed using KiCad, and after assembly, using the Arduino IDE to program them.
Microcontroller selection: For the project there were 2 given microcontroller options to build our circuitry around. The ATmega4808 was selected for a few reasons: not external crystal oscillator needed, and its internal clock speed was faster than the other option. Another deciding factor was that the 4808 was offered to us in SMD, meaning we could make the PCBs smaller.
Line detection reliability: Out sensor boards were capable of outputting both analogue and digital signals. Using a combination of the two signal types, an effective line detection algorithm able to be developed.