Problema mandando datos de wemos d1 a pantalla nextion 2.4

Hola a todos!

Estoy haciendo una interfaz con una pantalla nextion de 2.4", el diseño y el control de botones lo tengo controlado, pero no consigo enviar datos de arduino a la pantalla nextion.
Para descartar problemas en mi proyecto he usado un ejemplo que acompaña a la libreria oficial de la pantalla (GitHub - itead/ITEADLIB_Arduino_Nextion), el codigo de ejemplo es el siguiente:

/**
 * @example CompText.ino
 *
 * @par How to Use
 * This example shows that ,when the "+" component on the Nextion screen is released,
 * the value of text component will plus 1,when the "-" component released ,the value of 
 * text component will minus 1 every time.
 *
 * @author  Wu Pengfei (email:<pengfei.wu@itead.cc>)
 * @date    2015/7/10
 * @updated 2016/12/25 bring HMI up to v0.32 to avoid too old issues
 * @convert by Patrick Martin, no other changes made
 * @copyright 
 * Copyright (C) 2014-2015 ITEAD Intelligent Systems Co., Ltd. \n
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of
 * the License, or (at your option) any later version.
 */

#include "Nextion.h"

void t0PopCallback(void *ptr);
void b0PopCallback(void *ptr);
void b1PopCallback(void *ptr);

/*
 * Declare a text object [page id:0,component id:1, component name: "t0"]. 
 */
NexText t0 = NexText(0, 1, "t0");

/*
 * Declare a button object [page id:0,component id:2, component name: "b0"]. 
 */
NexButton b0 = NexButton(0, 2, "b0");

/*
 * Declare a button object [page id:0,component id:3, component name: "b1"]. 
 */
NexButton b1 = NexButton(0, 3, "b1");

char buffer[100] = {0};

/*
 * Register object t0, b0, b1, to the touch event list.  
 */
NexTouch *nex_listen_list[] = 
{
    &t0,
    &b0,
    &b1,
    NULL
};

/*
 * Text component pop callback function. 
 */
void t0PopCallback(void *ptr)
{
    dbSerialPrintln("t0PopCallback");
    t0.setText("50");
}

/*
 * Button0 component pop callback function.
 * In this example,the value of the text component will plus one every time when button0 is released.
 */
void b0PopCallback(void *ptr)
{
    uint16_t len;
    uint16_t number;
    
    dbSerialPrintln("b0PopCallback");

    memset(buffer, 0, sizeof(buffer));
    t0.getText(buffer, sizeof(buffer));
    
    number = atoi(buffer);
    number += 1;

    memset(buffer, 0, sizeof(buffer));
    itoa(number, buffer, 10);
    
    t0.setText(buffer);
}

/*
 * Button1 component pop callback function.
 * In this example,the value of the text component will minus one every time when button1 is released.
 */
void b1PopCallback(void *ptr)
{
    uint16_t len;
    uint16_t number;
    
    dbSerialPrintln("b1PopCallback");

    memset(buffer, 0, sizeof(buffer));
    t0.getText(buffer, sizeof(buffer));
    
    number = atoi(buffer);
    number -= 1;

    memset(buffer, 0, sizeof(buffer));
    itoa(number, buffer, 10);
    
    t0.setText(buffer);
}

void setup(void)
{
    /* Set the baudrate which is for debug and communicate with Nextion screen. */
    nexInit();

    /* Register the pop event callback function of the current text component. */
    t0.attachPop(t0PopCallback);

    /* Register the pop event callback function of the current button0 component. */
    b0.attachPop(b0PopCallback);

    /* Register the pop event callback function of the current button1 component. */
    b1.attachPop(b1PopCallback);

    dbSerialPrintln("setup done");
}

void loop(void)
{
    /*
     * When a pop or push event occured every time, 
     * the corresponding component[right page id and component id] in touch event list will be asked.
     */
    nexLoop(nex_listen_list);
}

El error es que no se refresca la informacion en la pantalla y en la salida serial encuentro el siguiente mensaje de error a cada pulsacion de los botones.

19:18:49.742 -> [1073670532:0,2,b0]
19:18:49.742 -> b0PopCallback
19:18:49.777 -> get t0.txt⸮⸮⸮recvRetString[0,]
19:18:49.847 -> t0.txt="1"⸮⸮⸮recvRetCommandFinished err
19:18:49.952 -> [1073670532:0,2,b0]
19:18:49.985 -> b0PopCallback
19:18:50.020 -> get t0.txt⸮⸮⸮recvRetString[0,]
19:18:50.089 -> t0.txt="1"⸮⸮⸮recvRetCommandFinished err
19:18:52.145 -> [1073670508:0,3,b1]
19:18:52.145 -> b1PopCallback
19:18:52.180 -> get t0.txt⸮⸮⸮recvRetString[0,]
19:18:52.248 -> t0.txt="65535"⸮⸮⸮recvRetCommandFinished err
19:18:52.560 -> [1073670508:0,3,b1]
19:18:52.560 -> b1PopCallback
19:18:52.594 -> get t0.txt⸮⸮⸮recvRetString[0,]
19:18:52.664 -> t0.txt="65535"⸮⸮⸮recvRetCommandFinished err

Se os ocurre que pueda estar haciendo mal o que este mal en el ejemplo?

CompText_v0_32.ino (3.38 KB)