I've decided to start from scratch again, I didn't think the way I was headed was where I wanted to go
Updated source code
I've made an ATMega328p as the primary chip now running at 3.3v and 2MHz with the ESP as a slave WiFi device. I couldn't find a graceful way around the esp crashing and being able to run long running tasks. I may have had sloppy code or was just trying to use the chip as something it just wasn't good at. There is a SRAM chip to store the readings in the event of a crash and simply because I didn't have enough space on the atmega to store as many reading in backlog as I wanted.

In it's enclosure

Being Programmed: You can see the red programmer cable in the upper left
Main Component BOM (Not including sensors or charger)
SRAM ChipClock (On a breakout with its own battery backup and crystal)
I/O Expander
ESP8266
ATMega328p