Flight controllers, with built in sensors, don’t you just love them?
From the following question on StackExchange, Looking for manufacturers of a MCU board with inertial sensors embedded [on hold]
Which manufacturers make a microcontroller MCU board with tilt sensor, compass, IMU, and GPS all integrated?
If it has all that I only need 8 IO for controlling external devices.
Does anyone know of a good MCU board that preferably compiles in C since most of my functions are in C? GNU C even better.
You might have a look at STM32 based quadcopter flight controllers. Often the GPS will be an external module, and possibly the compass as well, but they are designed for each connection and are typically intended for use with open source firmware, so well documented. You could also look at low-end Android phones but may have trouble getting full documentation to run your own system, as opposed to depending on binary drivers from the manufacturer.
Sparkfun sells a 9DOF board (no GPS onboard) that has an Atmega328. Since the programming header is broken out, and the schematic/layout are open source, you could certainly reprogram it. GPS is an easy add-on.
Some such multicopter boards would be the stm32-based Naze32 and CC3D, and the AVR- based Ardupilot and KK22.
GPS is seldom found integrated, but interfacing such a receiver isn’t hard.