Multiple sampling (different sensors have different things)
Firmware Manual
Better code commenting
Better function naming schemes
Command mode WITHOUT disabling or interfering with normal device operation
Power management (sleep modes, etc.), low battery stops
ISR based software flow <active>
Disabling timers
Firmware without the Arduino libraries
Assert statements for runtime debugging
Supporting other microcontrollers (initially ATMega family, possibly others after that)
Automated verification techniques (using emulation and simulation)
Making use of debug LEDs available on cranberry
Advanced XBee control
Implement XBee cyclic sleep (and look at the problems that come with cyclic sleep as well)
Receiving packets through XBee and possibly responding
Remote programming
Unit tests
Static analysis of firmware (code coverage, etc.)
Error codes
Different firmware designs (what is the best way to implement firmware that covers all of the systems?)
Using a more powerful MCU + an RTOS
Using WiFi/ethernet to carry signals (IoT)