ESP32 convert logic level RS232 with MAX3232 and ICT billacceptor

javamaks
Posts: 1
Joined: Sun Jul 27, 2025 9:17 pm

ESP32 convert logic level RS232 with MAX3232 and ICT billacceptor

Postby javamaks » Sun Jul 27, 2025 9:22 pm

Hi everyone,

I’m working on connecting an ICT L83 (RS232 version) bill acceptor to my ESP32 DevKit V1 using a MAX3232 for RS232 to TTL level conversion.

Setup:

ESP32 3.3V logic

MAX3232CSE with 0.1uF ceramic capacitors (100V rated)

ICT L83 bill acceptor via DB9 cable (using TX, RX, GND only)

MAX3232 powered from ESP32's 3.3V

Bill acceptor powered separately with 12V DC

Wiring (as per datasheet + verified):

DB9 Pin 2 (TXD from bill acceptor) → MAX3232 R1IN

MAX3232 R1OUT → ESP32 RX

ESP32 TX → MAX3232 T1IN

MAX3232 T1OUT → DB9 Pin 3 (RXD to bill acceptor)

GNDs connected together

Symptoms:

I measured the signal on MAX3232 R1OUT (to ESP32): idle = 3.3V, signal bursts visible (see oscilloscope screenshot)

Signal on T1OUT (to DB9) looks OK: I see around ±5V RS232 waveform from ESP32 TX

HOWEVER, the bill acceptor never leaves INHIBIT state (no response to ENABLE)

I tried with 2 different ICT bill acceptors, both show same result

The green LED on bill acceptor is on, but I noticed it gets slightly warm

No signs of MAX3232 overheating this time, but in previous mistake I reversed RX/TX and that time it did get hot

I'm unsure if my previous wiring mistake could have damaged both bill acceptors

Additional tests:

Probing V+ and V– on MAX3232 shows ±4.5V → charge pump works

Baudrate is 9600, 8E1 (even parity)

Oscilloscope on DB9 TX from bill acceptor (pin 2) shows RS232 waveform (~±5V), meaning ICT sends data

Oscilloscope on MAX3232 R1OUT shows TTL waveform (~3.3V), so signal reaches ESP32

I send proper ENABLE command after receiving power-up frame (0x80 or 0x8F), but ICT never reacts

I tried even manually simulating ENABLE frames, same result

Questions:

Is it safe to power ICT bill acceptor only from +12V and GND, or does DB9 VCC need to be connected too?

Could the bill acceptor require VCC (e.g. pin 1) on DB9 to operate properly?

How to ensure MAX3232 is working perfectly?

Could I have damaged internal logic in ICT bill acceptor due to previous wrong connection?

Has anyone successfully integrated ICT L83 (RS232) with ESP32?

Any ideas or advice are appreciated. I can provide schematic and oscilloscope waveforms if needed.

Thanks in advance!
Attachments
Снимок экрана 2025-07-27 215902.png
Снимок экрана 2025-07-27 215902.png (44.57 KiB) Viewed 311 times

eriksl
Posts: 199
Joined: Thu Dec 14, 2023 3:23 pm
Location: Netherlands

Re: ESP32 convert logic level RS232 with MAX3232 and ICT billacceptor

Postby eriksl » Thu Aug 14, 2025 4:08 pm

I have some experience with the MAX3232. It's just fine, it works as described. The problem is that there are clones of the MAX3232. Many of them. Google and you know ;-). I happened to have a clone. Mine was one of the type that kind of works but has problems with signal voltages above about 6 V. Hilarious once you know, otherwise very frustrating. Luckily this was fixable. Added a resistor and a zener diode in the receive signal so the chip never sees a voltage above 6 V and it started working.

Oh and also: the clones may be very picky with the charge pump capacitors. It's very easy to blow the chip completely or at least never be able to reach the required output voltage. Some things have been written about this too.

Lesson: the original MAX3232 is expensive, very expensive. But the cheap clones are cheap for a reason.

Who is online

Users browsing this forum: PetalBot and 5 guests