Hi everyone,
I’m working on a remote water monitoring project and am currently stuck trying to get reliable turbidity data from a Modbus RS-485 sensor into a Particle Boron.
I don’t have a deep electronics/firmware background, so I’m hoping someone can point me in the right direction or help identify what I may be doing wrong.
Hardware Setup
-
MCU: Particle Boron LTE
-
Sensor: Yosemitech turbidity sensor (RS-485 Modbus)
-
Interface: DFRobot RS-485 to TTL signal adapter
-
Power:
-
Sensor powered via 12V supply
-
Boron powered via USB
-
Shared ground between components
-
Wiring (as currently configured)
-
Sensor → RS-485 adapter:
-
A → A
-
B → B
-
12V → 12V
-
GND → GND
-
-
RS-485 adapter → Boron:
-
TX → Boron RX
-
RX → Boron TX
-
GND shared
-
(Photos attached for reference)
Goal
-
Read turbidity (NTU) values from the sensor via Modbus
-
Send data to Particle Cloud (via
Particle.publish) -
Ultimately deploy this in a remote buoy system
Current Issues
-
I am not getting valid turbidity readings
-
Particle Console shows events, but values are incorrect (e.g. “test” or junk data)
-
Serial monitor becomes unstable or stops working when RS-485 is connected
-
Unsure if issue is:
-
Wiring
-
UART configuration
-
Modbus request/response handling
-
Voltage level mismatch
-
What I’ve Tried
-
Verified Particle Boron connects to cloud (breathing cyan)
-
Able to publish test events successfully
-
Confirmed sensor powers on
-
Double-checked A/B wiring polarity
-
Attempted basic serial reads (but inconsistent results)
Key Questions
-
Is there anything obviously wrong with my wiring/setup?
-
Do I need a specific library or proper Modbus implementation for Particle devices?
-
Could this be a voltage level or RS-485 direction control issue?
-
Any recommendations for debugging Modbus communication on Boron?


