Skip to content

Commit b62b9ce

Browse files
authored
docs(troubleshooting): T-CAN485 needs GPIO16 driven, not just 17/19 (#49)
Reported in #48: a hand-written T-CAN485 config that enables /RE (GPIO17) and SHDN (GPIO19) but leaves GPIO16 floating receives nothing at all. 16 is 5V_EN — the ME2107 boost feeding the MAX13487E — so the transceiver is unpowered and an ESP32-side loopback test still passes, which sends people looking at baud rates and CCA firmware instead. The shipping board file has always set all three, and so does the config builder, so only people rolling their own YAML hit this. Nothing under site/ named GPIO16 before now.
1 parent 6f40643 commit b62b9ce

1 file changed

Lines changed: 43 additions & 0 deletions

File tree

site/src/content/docs/guides/troubleshooting.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ Still stuck? The rest of this page is organised by symptom.
3434
| Symptom | Solution |
3535
|---------|----------|
3636
| No devices discovered | Check UART wiring, verify 38400 baud ([Wiring](/esphome-tigomonitor/guides/wiring/)) |
37+
| No devices discovered on a LilyGO T-CAN485 | Drive GPIO16, 17 and 19 high — the transceiver is unpowered without them (below) |
3738
| High packet loss | Add `CONFIG_UART_ISR_IN_IRAM: "y"` ([UART Optimization](/esphome-tigomonitor/guides/uart-optimization/)) |
3839
| Memory exhaustion | Use an ESP32-S3 with PSRAM — it's required |
3940
| CCA sync fails (local HTTP) | Verify CCA IP, check network connectivity |
@@ -57,6 +58,48 @@ Still stuck? The rest of this page is organised by symptom.
5758
3. Check Tigo system is powered and communicating
5859
4. Look for any "Frame" messages in ESPHome logs
5960

61+
### No Devices Found on a LilyGO T-CAN485
62+
63+
**Symptoms:** Nothing received at all — the log shows no frames, and a UART debug
64+
block shows only `>>>` (transmit) lines with no `<<<` (receive) lines. An ESP32
65+
loopback or TX test still passes, because it never leaves the chip.
66+
67+
**Cause:** the board's RS485 front end needs **three** GPIOs held high, and the
68+
one people miss is GPIO16. It is not an enable — it is `5V_EN`, the ME2107 boost
69+
that supplies the MAX13487E transceiver. Left floating, the transceiver has no
70+
power and the receiver is deaf no matter how correct the wiring and baud rate are.
71+
72+
**Solution:** drive all three, and leave them on:
73+
74+
```yaml
75+
switch:
76+
- platform: gpio
77+
id: rs485_power_5v
78+
pin: GPIO16 # 5V boost that feeds the transceiver
79+
internal: true
80+
restore_mode: ALWAYS_ON
81+
- platform: gpio
82+
id: rs485_auto_direction
83+
pin: GPIO17 # /RE high => AutoDirection controls the receiver
84+
internal: true
85+
restore_mode: ALWAYS_ON
86+
- platform: gpio
87+
id: rs485_chip_enable
88+
pin: GPIO19 # SHDN high => normal operation (low = whole chip off)
89+
internal: true
90+
restore_mode: ALWAYS_ON
91+
```
92+
93+
Simpler still, include the shipping board file as a package and let it supply the
94+
front end for you — `boards/esp32-lilygo-t-can485.yaml`, as
95+
`boards/example-t-can485.yaml` does. The [config builder](/esphome-tigomonitor/config-builder/)
96+
also emits all three when you pick this board.
97+
98+
**While you are in there:** do not add a test writer that transmits bytes on this
99+
UART. `tigo_monitor` is receive-only, and the MAX13487E has no driver-enable pin —
100+
AutoDirection turns the driver on by itself whenever it sees activity, so those
101+
test bytes go straight onto your live CCA↔TAP bus.
102+
60103
### Devices Found But No Barcodes
61104

62105
**Symptoms:** Devices show as "Module XXXX" instead of barcode.

0 commit comments

Comments
 (0)