Open ralfoide opened 6 years ago
Hi @ralfoide,
First of all thanks for taking the time to test this out and write this quality post.
I'm currently doing some testing with the WiFi LoRa 32 board myself and can't figure out how to get readings from UART0, even when CP2102 is not in use. In the code, did you reference the board as "Serial", since UART0 takes the place of USB Serial, or did you set it up as a separate "SoftwareSerial" with custom pins?
Quite old Issue but it is in fact possible to use the UART2. I did so using HardwareSerial.h The PIN 16 is only the OLED RESET. It is used when starting things up and might be reclaimed as soon as the OLED has been reset. I have not yet tried to use both OLED and UART2 in one Project, but they do not interfere each other when only one is used.
If use micropython you can change pin rx for sample
from machine import UART
uart = UART(2, 9600)
uart.init(9600, bits=8, parity=0, stop=1)
defaut object is object UART(2, baudrate=9600, bits=8, parity=0, stop=1, tx=17, rx=16, rts=-1, cts=-1, timeout=0, timeout_char=2) is of type UART
now you can make that
uart = UART(2, 9600)
uart.init(9600, bits=8, parity=0, stop=1,tx=17,rx=5)
bye bye oled reset :)
have a fun
What about if you need to use UART2? How to pass OLED_RST to another PIN?
pinMode(16, OUTPUT);
digitalWrite(16, LOW); // set GPIO16 low to reset OLED
delay(50);
digitalWrite(16, HIGH);
SerialGPS.begin(9600, SERIAL_8N1, 16, 17);
Serial.begin(115200);
I have a TTGO Lora with OLED. Guess hardware is much the same. GPIO16 is used for OLED RST and needs to be high when display is in use. I tried to just assign another free pin to USRT2 and it worked like a charm. Also together with an active OLED.
HardwareSerial Serial2(2);
void setup() { .. Serial2.begin(9600, SERIAL_8N1, RXD2, TXD2); } void loop() { while (Serial2.available()) { Serial.print(char(Serial2.read())); } … }
@sthex you think you can explain more to me on how you got your TTGo Lora board to work with the RockBlock. I have a TTGO T Beam with Lora without OLED display.
Also, has anyone gotten this to work with Heltec ESP32 with Lora Board? I have tried to assign different pins with little to no luck.
In my GIT you find a TTN Mapper Project (platformio) which works on ttgo t-beam Rev 1.0 and 1.1 and Heltec Wireless Stick. The 3 environments can be selected in platformio.ini. The GPS on Heltec Wireless Stick uses RX on 23 and TX on 17 as recommended by @sthex The Project uses the LMIC library for TTN connection
hello,
What about LORA32 with OLED There is a way to add an extra UART ? (in my case a SIM800)
This isn't really an issue, more like a documentation snippet which I didn't find anywhere else.
I got 2 ESP32 Wifi Kit 32 boards. Fantastic little boards. One of the projects was to interface with an existing RS232 device (aka "serial port"). One of the strengths of the ESP32 is that it has 3 UART modules. So first I tried to see which ones were available on this board.
TL;DR: One must realize that on this particular board, UART1 and UART2 cannot be used and UART0 has limitations.
Source: ESP32 datasheet here https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf
Compared with the Heltec Schematic Diagram for the Wifi module: https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series/raw/master/SchematicDiagram/WIFI_Kit_32_Schematic_diagram.PDF
What we need to do is look at the ESP32 datasheet to see where U0/U1/U2 are listed and cross-reference that with the Wifi Kit 32 schematic to see how the pins are used.
Note: U0RTS is listed in the ESP32 datasheet as ESP32 pin 22, GPIO22. In the Wifi Kit 32 Pinout graphic, it is also listed as GPIO22. However it is listed in the Wifi Kit 32 schematic as pin 21, GPIO15, shared with the OLED SCL.
So, voilà, bottom line:
I hope this will help others.