 }
 
 void buttons_test() {
-    if (M5.BtnA.wasPressed()) {
+    if (M5.BtnA.wasReleased() || M5.BtnA.pressedFor(1000, 200)) {
         M5.Lcd.printf("A");
         Serial.printf("A");
     }
-    if (M5.BtnB.wasPressed()) {
+    if (M5.BtnB.wasReleased() || M5.BtnB.pressedFor(1000, 200)) {
         M5.Lcd.printf("B");
         Serial.printf("B");
     }
-    if (M5.BtnC.wasPressed()) {
+    if (M5.BtnC.wasReleased() || M5.BtnC.pressedFor(1000, 200)) {
         M5.Lcd.printf("C");
         Serial.printf("C");
     }
+}
+
+static byte c1;
+
+byte utf8ascii(byte ascii) {
+    if ( ascii<128 )   // Standard ASCII-set 0..0x7F handling  
+    {   c1=0;
+        return( ascii );
+    }
+
+    // get previous input
+    byte last = c1;   // get last char
+    c1=ascii;         // remember actual character
+
+    switch (last)     // conversion depending on first UTF8-character
+    {   case 0xC2: return  (ascii);  break;
+        case 0xC3: return  (ascii | 0xC0);  break;
+        case 0x82: if(ascii==0xAC) return(0x80);       // special case Euro-symbol
+    }
+
+    return  (0);                                     // otherwise: return zero, if character has to be ignored
+}
+
+String utf8ascii(String s)
+{      
+        String r="";
+        char c;
+        for (int i=0; i<s.length(); i++)
+        {
+                c = utf8ascii(s.charAt(i));
+                if (c!=0) r+=c;
+        }
+        return r;
 }
 
 void wifi_test() {

    // {
    //     adc_test();
    // }

    startupLogo();
    Wire.begin();

    // Lcd display

            M5.Lcd.print(i + 1);
            Serial.print(": ");
            M5.Lcd.print(": ");
            Serial.print(WiFi.SSID(i).c_str());
            M5.Lcd.print(utf8ascii(WiFi.SSID(i).c_str()));
            Serial.print(" (");
            M5.Lcd.print(" (");
            Serial.print(WiFi.RSSI(i));
