Ajuda com envio e recebimento de dados(SERIAL.READ E SERIAL.PRINT)

Bem, é o seguinte eu gostaria de saber como é que faz para enviar dados via teclado
e aparecer no Serial monitor. Eu utilizo o seguinte código
#include <stdlib.h>

int incomingByte = 0; // for incoming serial data

void setup() {
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
}

void loop() {

// send data only when you receive data:
if (Serial.available() > 0) {
// read the incoming byte:
incomingByte = Serial.read();

// say what you got:
Serial.print("I received: ");
Serial.println(incomingByte, DEC);
}
}

Mas quando eu digito por exemplo 100, o serial monitor imprimi 49. A questão é a seguinte, eu gostaria de digitar um número e este mesmo número seja imprimido na tela. Desde já agradeço

O serial.read(), retorna apenas um caracter por vez, não o número, e você esta usando DEC no Serial.println(incomingByte, DEC);
Tente isso

#include <stdlib.h>  

char incomingChar;   // for incoming serial data

void setup() {
        Serial.begin(9600);     // opens serial port, sets data rate to 9600 bps
}

void loop() {

        // send data only when you receive data:
       if (Serial.avalaible()) {
                // say what you got:
                Serial.print("I received: ");
            }
          

        while (Serial.available() > 0) {
                // read the incoming char:
                incomingChar = Serial.read();
                Serial.print(incomingChar);
        }

}

A sim, eu retirei o DEC e mudei o tipo da variavel para char, como no seu código, e funcionol perfeitamente. Obrigado