   display->drawString(digitalClockCenterX + x , 40 + y, saqi );
 }
 
+void co2VoCFrame(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y) {
+  display->setTextAlignment(TEXT_ALIGN_LEFT);
+  display->setFont(ArialMT_Plain_24);
+  display->drawString(10 , 16 + y, livco2 );
+  display->setFont(ArialMT_Plain_24);
+  display->drawString(10 , 40 + y, livvoc );
+}
+
 // This array keeps function pointers to all frames
 // frames are the single views that slide in
-FrameCallback frames[] = { analogClockFrame, digitalClockFrame };
+FrameCallback frames[] = { analogClockFrame, digitalClockFrame, co2VoCFrame };
 
 // how many frames are there?
-int frameCount = 2;
+int frameCount = 3;
 
 // Overlays are statically drawn on top of a frame eg. a clock
 OverlayCallback overlays[] = { clockOverlay };

#define CMD_DISP_OFF "display/off"
#define CMD_DISP_ON "display/on"

const char* ssid     = "You are being watched";
const char* password = "Akihabara";
const char* mqtt_server = "10.0.1.250";

bool debug = false;

int clockCenterY = ((screenH-16)/2)+16;   // top yellow part is 16 px height
int digitalClockCenterY = clockCenterY - 12;
int digitalClockCenterX = screenW/2;
//float liv_temp, liv_rh;
//int bal_aqi;

// utility function for digital clock display: prints leading 0
String twoDigits(int digits){
