Use this forum to chat about hardware specific topics for the ESP8266 (peripherals, memory, clocks, JTAG, programming)

User avatar
By nuclearrambo
#28952 I got my ESP8266 yesterday and I tried to get it to run.
I do not have a direct USB to Serial module, but I do have a MSP430F5529 launchpad.
So, I configure the MSP430's Serial1 to communicate with the ESP8266 and Serial0 to return back data from ESP8266 back to the computer.
I have also soldered a 10k resistor between VCC and CH_PD to bring it out from power down mode.

I tried to send AT command and in return I get a weird set of numbers. Have a look.
Image
The shorter numbers are when I send "AT", the longer string is when I typed "AT+GMR"
Can anyone tell me what am I doing wrong? I asked the seller about the baud rate and he said it was 115200 by default.
User avatar
By Barnabybear
#29223 Hi, it looks like you have some sort of loop back and the numbers are just the commands you are sending.
If you look at them as decimal ascii pairs converted twice (guessing once on the Tx & once on the Rx):
54 = 6 & 53 = 5 then put the two numbers together 65 = A
The full strings decode to:
Code: Select all(54)(53)  (56)(52)  (49)(51)   (49)(58)
(6) (5)   (8)  (4)   (1) (3)   (1)  (0)
 A           T          CR          NL

(54)(53)  (56)(52)  (52)(51)   (55)(49)   (55)(55)   (56)(50)   (49)(51)   (49)(58)
(6) (5)   (8) (4)    (4) (3)    (7) (1)    (7) (7)    (8) (2)    (1) (3)    (1) (0)
 A           T         +          G           M         R          CR        NL

Hope that helps.
User avatar
By nuclearrambo
#29229 Thanks, it helps a lot.
So basically I do not have a USB to UART but I do have a MSP430F552 launchpad which happens to have multiple UARTs and gets connected over USB.
This is my code which I am trying to use:

Code: Select allvoid loop()
{
  while(Serial1.available()>0)
    Serial.print(Serial1.read());
  while(Serial.available()>0){
    Serial1.print(Serial.read());
  }
}


Your comment helped me understand the problem and now I modified the code to Serial.write() which actually prints raw bytes and hence, I am able to get an "OK".