I got hand a Atom Lite with the R232 shield and got it working after applying some workarounds. Here are my observations/experiences:
-
The shield Transmit line is labeled with a blue R, the shield Receive line is labeled with a green T. This is opposite to what I expected !
I guess this Oriental logic: please connect the other device Receive line to this device R (transmit) line. -
Using Arduino 1.8.13 and the esp32 1.0.4 board library, the hardwareserial device would not receive anything on the Atom pin 22. The shield itself works fine with other devices (M5stack core), and other RS232 shields show the same problem when connected to the Atom Lite. The problem is present with both the 'ESP32 Pico' and the 'M5Stick-C' board type.
Interesting, pin 23 works fine, so I only could the reception of data to work after patching the RS232 shield (connect pin 22 line to pin 23) and configuring the hardware serial with pins 23 and 19:
Serial2.begin(38400,SERIAL_8N1,23,19); -
When the RS232 shield is powered through the 5V of the M5, it outputs 0V (low) to +12V (high) signals, which are kindly accepted by any other RS232 device that I tried. The RS232 specs say that the low signal must be below -3V, so you might run into equipment that does not accept the 0V low level. However, I guess that most modern devices are happy with 0-12V range.
So the external 12V power is usually not required. -
When the RS232 shield powered by 12V, it outputs -12V (low) to +12V (high), according to the RS232 specs. The Atom is powered as well, so no USB power is required in this situation.
I guess that the problem with pin 22 is an error in the ESP32 library, or in the ESP32 core. Any information on how to fix this is appreciated !