Home / Sensors / JXBS-3001-PH-RS

JXCT · RS-485 sensor

Weihai JXCT Electronics

JXBS-3001-PH-RS

JXCT standalone soil pH probe (pH scale 0.01).

✓ Verified for SankhyapHVerification 0.95 · datasheet-confirmed
At a glance

The JXBS-3001-PH-RS is a single-parameter RS-485 soil probe reporting pH over Modbus-RTU on RS-485 at 9600 bps, 8N1, on DC 12–24 V. This guide documents 4 registers, default Modbus address 1. It does not report moisture, temperature, EC and others. For those on the same bus: moisture → JXBS-3001-TR (4-in-1); temperature → JXBS-3001-TR (4-in-1). Sankhya firmware profile: JXCT_pH_only.

Remote pH observation with the correct JXCT register

Sankhya Farms supports the standalone JXBS-3001-PH-RS through the JXCT_pH_only profile. It polls at 9600 baud, selects the documented high-precision pH word and applies the JXCT 0.01 scale before the value reaches the free cloud dashboard. This avoids two common integrations that appear to work but are wrong: reading the lower-precision address by default, or decoding JXCT pH with the ZTS family's 0.1 multiplier.

The probe can serve as a simple observation instrument in an orchard, greenhouse, nursery, raised bed, home garden, landscape soil or container trial. A pH history is especially helpful when an amendment or a change in irrigation water is expected to act slowly. The system need not control anything; it can preserve a read-only record for later comparison. For hydroponic nutrient solutions, use an electrode assembly explicitly rated for liquid service rather than assuming that every RS-485 pH probe can remain submerged.

Sankhya choice: register 000DH is used as the primary high-precision pH source. The lower-precision 0006H word remains documented for troubleshooting. Connect a supported sensor.

Which JXBS pH register should I read?

For the primary measurement, read holding register 000DH and multiply the unsigned word by 0.01 pH. The model also exposes 0006H, described here as the lower-precision pH value. Configuration uses 0100H for the slave address and 0101H for baud. A raw value of 642 at the high-precision address is pH 6.42. Sankhya stores 6.42, not the integer 642.

Why might another integration show pH ten times too high?
It may be applying the ZTS 0.1 scale to a JXCT word that requires 0.01, or it may be reading the wrong address. Match the exact manufacturer family and revision.
Can pH be logged without an irrigation system?
Yes. The node and dashboard can operate as a monitoring system only; pumps and dosing equipment are optional and separate.

Bus & electrical specs

Protocol
Modbus-RTU over RS-485
Default baud
9600 bps
Serial format
8N1
Function codes
0x03
Supply voltage
DC 12–24 V
Power
≤ 0.15 W (12 V DC)
Default address
1
Ingress / housing
IP68
Probe / element
316L stainless steel
Operating temp.
−40 to +80 °C (probe)
Firmware profile
JXCT_pH_only

Specs sourced from: Official JXBS-3001-TR datasheet (R208894) and JXCT manuals.

Modbus-RTU register map

Function codes 0x03 at 9600 bps, 8N1. Data registers are read with 0x03; configuration registers are written with 0x06. PLC column shows the 4xxxx Modbus holding-register convention.

RegisterPLCParameterTypeScaleUnitR/WNotes
0006H40007Low-precision pHuint160.01pHROScale 0.01. Range 3-9 pH. Accuracy ±0.3 pH. Response time ≤15s.
000DH40014High-precision pHuint160.01pHROScale 0.01. Higher precision variant of pH reading. Use this register for primary measurement.
0100H40257Device addressuint161RWRange 0-252. Factory default 1.
0101H40258Baud rateuint161RWFactory default 9600 bps. 2400=2400; 4800=4800; 9600=9600

Worked query

# Read high-precision pH at 000DH request 01 03 00 0D 00 01 15 C9 response 01 03 02 00 47 D8 15 # 0047H=71 => pH=7.1
# Read low-precision pH at 0006H request 01 03 00 06 00 01 64 0B response 01 03 02 01 34 D8 15 # 0134H=308 => pH=3.08

Changing address & baud rate

This probe is configured over the same RS-485 bus using Modbus write commands (function code 0x06). Configure one device at a time on the bus.

Notes & caveats

Confirmed from official JXCT PDF (v2.0, 2020-10-24). Default baud 9600 (not 4800). Power 12-24V (not 5-24V). Long-term stability ≤5%/year. Two pH registers — use 000DH (high precision) as primary. JXCT config register layout (0100H/0101H) confirmed.

Common questions

What baud rate does the JXBS-3001-PH-RS use by default?
9600 bps, 8N1. It is a Modbus-RTU slave; default address 1.
What supply voltage does the JXBS-3001-PH-RS need?
DC 12–24 V (≤ 0.15 W (12 V DC)).
How do I change the JXBS-3001-PH-RS Modbus address?
Write the device-address register with function code 0x06, one device on the bus at a time, then power-cycle. See the Configuration section above.
Is the JXBS-3001-PH-RS compatible with the Sankhya platform?
Yes — it is in the Sankhya RS-485 sensor library and the firmware-generation pipeline can produce node firmware for it.
What does the JXBS-3001-PH-RS not measure?
The JXBS-3001-PH-RS reports pH only — it does not report moisture, temperature, EC, N-P-K, salinity and TDS. On the same RS-485 bus, add moisture: JXBS-3001-TR (4-in-1); temperature: JXBS-3001-TR (4-in-1); EC: JXBS-3001-TR (4-in-1).
How many Modbus registers does the JXBS-3001-PH-RS expose?
This guide documents 4 registers, read with function code 0x03 and written with 0x06 where the register is RW. Documented entries include Low-precision pH, High-precision pH, Device address and Baud rate.

How this differs from similar models

How the JXBS-3001-PH-RS compares with the other RS-485 models in the Sankhya library. "Drop-in" means the same parameter set and the same register map, read by the same firmware profile.

ModelRelationshipMeasuresBaudDifference
JXBS-3001-TR (4-in-1)SiblingMoisture, Temperature, EC, pH9600Adds moisture, temperature and EC.
JXBS-3001-TR (7-in-1)SiblingMoisture, Temperature, EC, pH, N-P-K9600Adds moisture, temperature, EC and N-P-K.
JXBS-3001-NPK-RSSiblingN-P-K9600Adds N-P-K, drops pH.

Related JXCT sensors

Run this sensor on a Sankhya node

Every sensor on this page is in our RS-485 library. Pick your model, and the firmware-generation pipeline builds the Modbus (or ASCII) polling code for an ESP32-S3 node — no hand-coding the register math.

Contact Us