In order to write and test firmware on an MCU, you really need to hook it up to the peripherals it's supposed to control. Here's a picture of my main protoboard as of today:
It's a mess of wires, but it works.
On the left, with the USB cable plugged in, is a Teensy 3.2 development board; the MCU. On the right is the Navspark-GL development board providing GPS/GLONASS support. The black wire coming from the Navspark and going out of frame leads to an active antenna which doesn't work in my office at home since I'm effectively in the basement. The board sticking up just to the right of the Teensy is the HC-06 Bluetooth module. To the right of that is the 9DOF IMU (accelerometer, gyroscope, magnetometer), which isn't hooked up yet. The little black chip to the left of the Navspark is the CAN bus transceiver without it's wires to connect to an actual CAN bus.
The potentiometer on the left connects directly to one of the analog inputs on the Teensy. Eventually, I'll be adding a mess of analog input conditioning circuitry to allow switching input levels and provide buffering and protection of the sensitive analog inputs on the MCU.
The potentiometer on the right connects to an Arduino Nano which is out of frame at the end of the colorful wires in the top left. The Arduino is programmed to output some PWM signals that are connected to the digital inputs of the MCU for testing. I can turn the pot and get different duty cycles on the signals and measure them in various ways depending on the configuration of each digital input.
I'm happy to say it's all working as designed. The desktop application can talk to the prototype and configure everything. The GPS data is also received through the connection. I've been able to pair, send, and receive data through the Bluetooth module, both on my PC and my Android phone.
When I first started this project, I planned on using all the modules in the picture in the final product for myself. I was planning on etching a circuit board as a carrier for those modules, which would just plug into it. I bought a small project box to house everything too. But now, since I'm considering selling these, I decided I might was well design a proper circuit board, send it out to be made, and populate it with surface mount components with the goal of making it as small as I could manage. That board would represent what I might sell, even if I decide not to sell it due to lack of interest from anyone else.
The next steps include more testing, more coding, and more wiring on the protoboard. I'm also starting to consider my options for designing the new circuit board. More on that next time.