Code completed for the PIC12F675. I always viewed this as the processor of choice for the project, but I had PIC12F510 in stock so that came first.
PIC12F510 has EEPROM on board. this makes the storing of calibration data possible.
Due to the PCB design the only pin I could easily use without changing the PCB was the status LED, so bringing this pin high on power up now gives Learn mode.
When used with the calibration track this will count transitions on left and right sides and adjust motor power accordingly to help maintain the bot in a straight line.