https://github.com/liftoff/multiwii-firmware
Hopefully someone with a better handle on the MultiWii code (and C++ in general) will take a look at that and make it more usable. Right now it supports VBAT, Vario, Barometer Altitude, T1 temperature (barely--very innacurate), and some other things. The code is also there to support T2, RPMs, and Fuel but MultWii doesn't have any support for those things (that I'm aware of) so they're commented out.
There's more GPS-specific code but I haven't tested it. In theory it should show your GPS altitude (GAlt in OpenTx) and your GPS-reported speed ("Spd").
For this to work you need a HARDWARE SERIAL INVERTER. Basically you need to invert both the Tx and Rx signals from a (UART) serial port on your MultiWii FC's to send/receive from the Smart Port. I made one myself with two transistors and some resistors... I'll see if I can post a circuit diagram (have to make one first).
Thank you to all the folks in #multiwii on Freenode for their help!
UPDATE: I've created a diagram of what I'm using to connect my flight controller's serial port to the Smart Port:

Here's a picture of what it looks like in the real world:

Combined with my custom Crius All-In-One-Pro 2.0 I/O board and custom wiring harnesses:
