diff --git a/firmware/test1/heizung-test1/src/main.cpp b/firmware/test1/heizung-test1/src/main.cpp
index 39b274332abfe9c5921674c815623204b968ae17..6e524f62bce945e458e64dfe0f27587d7222e6b8 100644
--- a/firmware/test1/heizung-test1/src/main.cpp
+++ b/firmware/test1/heizung-test1/src/main.cpp
@@ -58,6 +58,13 @@ Adafruit_NeoPixel pixelsDigout1(2, DIGOUT1, NEO_GRB + NEO_KHZ800);
 void setup() {
   rp2040.enableDoubleResetBootloader();
 
+  Serial.begin(9600);  // USB serial, baudrate is ignored
+  if (0) {
+    while (!Serial)
+      ;
+    Serial.println("a1");
+  }
+
   pinMode(DRIVE1, OUTPUT); digitalWrite(DRIVE1, LOW);
   pinMode(DRIVE2, OUTPUT); digitalWrite(DRIVE2, LOW);
   pinMode(WS2812_DISPLAY, OUTPUT);
@@ -83,7 +90,6 @@ void setup() {
   Wire.setSDA(I2C_OLED_SDA);  // I2C0
   Wire.setSCL(I2C_OLED_SCL);
 
-  Serial.begin(9600);  // USB serial, baudrate is ignored
   Serial1.begin(115200);
   Wire.begin();
   Wire.setClock(100000);
@@ -266,7 +272,7 @@ void loop() {
   }
   prevButton4 = buttons[3];
 
-  if (rp2040.getCycleCount64() > 2 * 133*1000*1000 && displayMode == 0) {
+  if (rp2040.getCycleCount64() > 2 * 133*1000*1000 && displayMode == 0 && hasDisplay) {
     if (displayModePrev != 0) {
       display.fillRect(67, 0, 128-67, 64, SSD1306_BLACK);
       display.drawBitmap(0, 0, logo_data, logo_width, logo_height, SSD1306_WHITE);
@@ -314,7 +320,7 @@ void loop() {
     display.println();
 
     display.display();
-  } else if (displayMode >= 1 && displayMode <= 3) {
+  } else if (displayMode >= 1 && displayMode <= 3 && hasDisplay) {
     int first = (displayMode-1) * 12, last = first + 11;
     display.fillRect(0, 0, 128, 64, SSD1306_BLACK);
     display.setTextSize(1);
@@ -338,7 +344,7 @@ void loop() {
         display.write("  ");
     }
     display.display();
-  } else if (displayMode == 4) {
+  } else if (displayMode == 4 && hasDisplay) {
     display.fillRect(0, 0, 128, 64, SSD1306_BLACK);
     display.setTextSize(1);
     display.setTextColor(SSD1306_WHITE);
@@ -377,7 +383,7 @@ void loop() {
       display.drawFastHLine(0, y++, v/16, SSD1306_WHITE);
     }
     display.display();
-  } else if (displayMode == 5) {
+  } else if (displayMode == 5 && hasDisplay) {
     display.fillRect(0, 0, 128, 64, SSD1306_BLACK);
     display.setTextSize(1);
     display.setTextColor(SSD1306_WHITE);
@@ -442,7 +448,7 @@ void loop() {
     display.println(v5);
 
     display.display();
-  } else if (displayMode == 6) {
+  } else if (displayMode == 6 && hasDisplay) {
     if (displayModePrev != 6) {
       display.fillRect(0, 0, 128, 64, SSD1306_BLACK);
       display.drawBitmap(0, 0, logo_data, logo_width, logo_height, SSD1306_WHITE);