and when I measure the gpio0 and gpio2 on esp-12F its high(~3.3V) and the the gpio15 is low(~15mV) which according to the datasheet means that the firmware loaded correctly(the firmware supposed to be flashed by the manufacturer)
but when I send an AT command the response is gibberish:
I assumed that maybe the chip was damaged, but its the fourth chip that I tried with same response(from 3 different manufacturers and one of these boards are made for development purposes. Important to mention that the developer board has micro USB connection and connecting that to my pc it works as intended, meaning for the AT command it responds OK)
Any suggestion why is this happening and maybe how can I connect it properly to arduino?
From here
"The ESP8266's default serial baud rate is 9600 bps . This communication speed can be configured, but slower speeds are recommended if software serial is used."
Sorry for the confusing description, but its an esp-12F not just an esp8266(I know technically the same with minor additions) and according to the esp-12F datasheet the default baud rate is 115200, and yes I also tried with different baud rates as well just to be sure that it is indeed 115200. And also it starts the communication with meaningful characters during boot(sort of)
there is an external power supply(its not highlighted on the wiring diagram that I made, but its there) which is sufficient, also if it wouldn't be enough the gpio2 and the gpio0 pins wouldn't be in a strong high state it would be lower than 3.3V(I had issues with power supply when I started working with this, but now its sufficient). Also the reason why I added the 1000uf capacitor is to make it a bit more stable since the power consumption should be spikey and not constant.
its connected to the esp-12F TX pin, but its yellow and it might be hard to see.
the idea is that the esp-12F TX pin communicates via 3.3V which might now be considered high for the arduino and that was the solution that I came up with. btw if I just simply connect the esp-12F TX pin to the arduino RX pin it works as I described before(the consistent gibberish response) there is no difference, but a proper voltage shifter indeed might be a solution. I will update this when I got my hands on one of those
The overall connection is still wrong. The collector resistor should be connected to Vcc, and the collector to Arduino RX. However, since that circuit inverts the signal, it is useless for SoftwareSerial. You can try a direct connection, but there is no guarantee that the Arduino pin will recognize a signal somewhat less than 3.3V as a HIGH.
Do yourself a favor and get the bidirectional logic level converter.
I got a bidirectional logical converter and it still was the same gibberish as before. Therefore I started to think that there is something wrong with the arduino uno board so I switched it to a mega. I know about the mega that it works properly. when I uploaded the same code there was no response at all. so I changed the code so instead it uses the 2 and 3 pins it uses the Serial1 aka the 19 and 18 pins for serial communication and it was working properly.
Any idea what is wrong with the SoftwareSerial or more likely with my code?