Exactly!

For some reason, with Arduino, most people just put all their code into one .ino file and that's it. This is definitely not the way I want to go for this project. I want everything to be organized and each module into their own .cpp file. In the end, it will probably require a bit more RAM and flash to do it this way (and maybe that's why people don't use OOP as much with Arduino ?) but the code is going to be soooo much cleaner.

Here is what I have in mind:

ECU comms (choose one)
- ALDL 8192 baud
- ALDL 160 baud
- MegaSquirt Serial
- MegaSquirt CAN
- OBD 2

Display pages (choose 0 or more):
- ECU monitoring pages (can be enabled as many time as wanted)
- 0-60 time
- Quarter mile time
- SD card info (if SD card data logging enabled)
- Weather (Temperature/Humidity/Altitude)
- G-force and compass
- GPS data

Optional modules (choose 0 or more):
- SD card data logging
- RTC (to properly name data logs files)
- Data logging trigger (if data logging enabled)
- Alarms (w/ buzzer)