#include #include #include #include #include #include #include // OLED Display Configuration - Alternative SSD1306 mode #define OLED_SDA 21 #define OLED_SCL 22 #define OLED_RST 16 #define OLED_ADDR 0x3C // BLE Configuration #define SERVICE_UUID "12345678-1234-1234-1234-123456789abc" #define BATTERY_CHAR_UUID "87654321-4321-4321-4321-cba987654321" #define SPEED_CHAR_UUID "11111111-2222-3333-4444-555555555555" #define DEVICE_NAME "mirror-hud" // Try SSD1306 compatibility mode (comment out SSD1309 line above and use this) U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, OLED_RST, OLED_SCL, OLED_SDA); // Other variables and classes remain the same... bool dataReceived = false; float batteryLevel = 0.0; float speed = 0.0; void initDisplay() { Serial.println("=== TRYING SSD1306 MODE ==="); Wire.begin(OLED_SDA, OLED_SCL); // Manual reset pinMode(OLED_RST, OUTPUT); digitalWrite(OLED_RST, LOW); delay(100); digitalWrite(OLED_RST, HIGH); delay(100); u8g2.begin(); u8g2.clearBuffer(); u8g2.setFont(u8g2_font_ncenB18_tr); u8g2.drawStr(15, 35, "tangerine"); u8g2.sendBuffer(); Serial.println("SSD1306 mode display initialized"); } // Minimal main functions for testing void setup() { Serial.begin(115200); delay(1000); Serial.println("Starting OLED test..."); initDisplay(); } void loop() { delay(1000); }