Hi, I'm having same problem here but with Arduino Pro Mini 3.3v 8Mhz. I only receive junk characters too. ![]()
By making the following connection it works but using a Usb FTDI (or TTL) to PC:
FTDI RX to SIM800L TX
FTDI TX to SIM800L RX
FTDI GND to SIM800L GND
SIM800L VCC to 4.2v Battery
Just use any Serial app and you're ready to go, default baud speed is 115200.
If you send "AT" command, "OK" is received with no problems.
So I've figured out:
_ SIM800L module is working ok.
_ It's not a powering issue, 4.2v battery is fine.
_ It's not speed mismatch (115200 is ok)
_ What we receive is not Chinese, but unrecognized characters.
I'm almost certain that the problem is with Logic Level Tolerance.
The datasheet of the module states it's 2.8v level RXD and TXD so we need to care of level shifting to the needed 2.8v IO.
I don't have any diodes, but i've made many attemps with resistors to pull up and pull down the signals, with no luck yet (not very skilled with electrical issues).
There is a solution that might work right straightforward for 5volts here:
http://www.martyncurrey.com/arduino-with-hc-05-bluetooth-module-in-slave-mode/
For 3.3v pro mini arduino will keep trying.
Also remember that the module and arduino are powered with different power supplies, so, you need one more wire, a ground-to-ground connection. And never connect the module to 5v otherwise you'll fry it.