name: honeywell
description: Honeywell Sensing MPN encoding patterns, suffix decoding, and handler guidance. Use when working with Honeywell sensors or HoneywellHandler.
Honeywell Sensing Manufacturer Skill
Overview
Honeywell Sensing is a major manufacturer of industrial and commercial sensors. The product portfolio includes:
- Humidity Sensors (HIH series) - Capacitive humidity sensors with analog/digital output
- Pressure Sensors (HSC, SSC, ABP, MPR series) - MEMS-based pressure sensors
- Hall Effect Sensors (SS4xx, SS5xx series) - Linear position and switch sensors
- Magnetometers (HMC series) - 3-axis digital compass ICs
- Optical Sensors (HOA, HLC series) - Reflective and interrupter sensors
- Rotary Sensors (HRS, HPX series) - Rotary position encoders
MPN Structure
Honeywell uses different MPN structures for each product family:
Humidity Sensors (HIH series)
HIH[SERIES]-[PACKAGE]-[VARIANT]
│ │ │ │
│ │ │ └── Options/Features code
│ │ └── Package/condensing type (021, 022, 031, 032)
│ └── Series number (4000, 5030, 6130, 8120, etc.)
└── Humidity Integrated Hybrid prefix
Pressure Sensors (HSC/SSC/ABP/MPR series)
HSC[TYPE][OUTPUT][ADDR][RANGE][UNIT][PKG]
│ │ │ │ │ │ │
│ │ │ │ │ │ └── Package code (A3=DIP, A5=SMT)
│ │ │ │ │ └── Pressure unit (PG=psi, MD=mbar, KP=kPa)
│ │ │ │ └── Range (001, 060, 150, etc.)
│ │ │ └── I2C Address (N=default, A-F=alternate)
│ │ └── Output type (R=ratiometric, S=spi, A=analog, D=digital)
│ └── Transfer type (D=differential, M=MEMS, S=standard)
└── High accuracy Sensing prefix (HSC=TruStability, SSC=Standard, ABP=Basic, MPR=MicroPressure)
Hall Effect Sensors (SS4xx/SS5xx series)
SS[FAMILY][TYPE][PKG][VARIANT]
│ │ │ │ │
│ │ │ │ └── Variant number (1, 2, etc.)
│ │ │ └── Package (A=TO-92, E=SOT-89, T=SOT-23, L=SIP)
│ │ └── Model in series (41, 49, 95, etc.)
│ └── Family (4=low-cost, 5=high performance)
└── Solid State prefix
Magnetometers (HMC series)
HMC[SERIES][PKG][-SUFFIX]
│ │ │ │
│ │ │ └── -TR = Tape and Reel
│ │ └── L = LCC package
│ └── Series number (5843, 5883, etc.)
└── Honeywell Magnetic Compass prefix
Package Codes
Humidity Sensors (HIH series)
| Code |
Package |
Description |
| -021 |
SIP |
SIP non-condensing |
| -022 |
SMD |
SMD non-condensing |
| -031 |
SIP |
SIP condensing |
| -032 |
SMD |
SMD condensing |
Pressure Sensors
| Suffix |
Package |
Description |
| A3 |
DIP |
Through-hole DIP |
| A5 |
SMT |
Surface mount |
| AA |
DIP |
DIP variant |
| SA |
SIP |
Single inline |
| MD |
SMD |
Surface mount device |
Hall Effect Sensors
| Letter |
Package |
Pins |
| A |
TO-92 |
3 |
| E |
SOT-89 |
3 |
| T |
SOT-23 |
3 |
| L |
SIP |
3-4 |
Magnetometers
| Suffix |
Package |
Description |
| L |
LCC |
Leadless chip carrier |
| (none) |
QFN |
Bare die or QFN |
Product Families
Humidity Sensors (HIH series)
| Series |
Type |
Output |
Interface |
| HIH4000 |
Analog |
Voltage |
Analog |
| HIH4010 |
Analog |
Voltage |
Analog (covered) |
| HIH5030 |
Analog |
Voltage |
Analog |
| HIH6130 |
Digital |
I2C |
I2C |
| HIH6131 |
Digital |
I2C |
I2C (alarm output) |
| HIH8120 |
Digital |
I2C |
I2C |
| HIH8121 |
Digital |
I2C |
I2C (alarm output) |
Pressure Sensors
| Family |
Type |
Accuracy |
Output Options |
| HSC |
TruStability |
+-0.25% FSS |
I2C, SPI, Analog |
| SSC |
Standard |
+-2% FSS |
I2C, SPI, Analog |
| ABP |
Basic |
+-2.5% FSS |
I2C, SPI, Analog |
| MPR |
MicroPressure |
+-0.25% FSS |
I2C |
Hall Effect Sensors
| Series |
Type |
Output |
Application |
| SS49x |
Linear |
Analog |
Position sensing |
| SS59x |
Linear |
Analog |
High sensitivity |
| SS4xx |
Switch |
Digital |
Proximity detection |
| SS5xx |
Switch |
Digital |
High sensitivity |
Supported Component Types
From HoneywellHandler.getSupportedTypes():
| ComponentType |
Products |
SENSOR |
All sensor types |
HUMIDITY_SENSOR |
HIH series |
PRESSURE_SENSOR |
HSC, SSC, ABP, MPR series |
HALL_SENSOR |
SS4xx, SS5xx series |
MAGNETOMETER |
HMC series |
SENSOR_OPTICAL |
HOA, HLC series |
Pattern Matching
Registered Patterns (from initializePatterns)
// Humidity Sensors
"^HIH[0-9].*" // HUMIDITY_SENSOR, SENSOR
// Pressure Sensors
"^HSC[A-Z].*" // PRESSURE_SENSOR, SENSOR
"^SSC[A-Z].*" // PRESSURE_SENSOR, SENSOR
"^ABP[A-Z].*" // PRESSURE_SENSOR, SENSOR
"^MPR[A-Z].*" // PRESSURE_SENSOR, SENSOR
// Hall Effect Linear Sensors
"^SS49[0-9].*" // HALL_SENSOR, SENSOR (linear)
"^SS59[0-9].*" // HALL_SENSOR, SENSOR (linear)
// Hall Effect Switch Sensors
"^SS4[0-8][0-9].*" // HALL_SENSOR, SENSOR (switch, not SS49x)
"^SS5[0-8][0-9].*" // HALL_SENSOR, SENSOR (switch, not SS59x)
// Magnetometers
"^HMC[0-9].*" // MAGNETOMETER, SENSOR
// Rotary Sensors
"^HRS[0-9].*" // SENSOR
"^HPX[0-9].*" // SENSOR
// Optical Sensors
"^HOA[0-9].*" // SENSOR_OPTICAL, SENSOR
"^HLC[0-9].*" // SENSOR_OPTICAL, SENSOR
Series Extraction Rules
| Prefix |
Extraction Rule |
Example |
| HIH |
HIH + up to 4 digits |
HIH6130-021-001 -> HIH6130 |
| HSC |
Just "HSC" |
HSCDANN001PG2A3 -> HSC |
| SSC |
Just "SSC" |
SSCMANV060PGAA5 -> SSC |
| ABP |
Just "ABP" |
ABPMANN060PG2A3 -> ABP |
| MPR |
Just "MPR" |
MPRLS0025PA00001A -> MPR |
| SS49 |
"SS49" |
SS495A1 -> SS49 |
| SS59 |
"SS59" |
SS59ET -> SS59 |
| SS4 |
"SS4" (switch) |
SS441A -> SS4 |
| SS5 |
"SS5" (switch) |
SS451A -> SS5 |
| HMC |
HMC + up to 4 digits |
HMC5883L -> HMC5883 |
| HRS |
Just "HRS" |
HRS100 -> HRS |
| HPX |
Just "HPX" |
HPX200 -> HPX |
| HOA |
HOA + up to 4 digits |
HOA1180-001 -> HOA1180 |
| HLC |
HLC + up to 4 digits |
HLC2705-001 -> HLC2705 |
Package Code Extraction Rules
The handler uses different extraction logic per product family:
Pressure Sensors (HSC/SSC/ABP/MPR)
// Extract last 2 characters from the main part (before any hyphen)
// HSCDANN001PG2A3 -> A3 -> DIP
String suffix = mainPart.substring(mainPart.length() - 2);
switch (suffix) {
case "A3" -> "DIP"
case "A5" -> "SMT"
case "AA" -> "DIP"
case "SA" -> "SIP"
case "MD" -> "SMD"
}
Humidity Sensors (HIH)
// Package code is in the second segment after hyphen
// HIH6130-021-001 -> 021 -> SIP
switch (segment) {
case "021" -> "SIP" // SIP non-condensing
case "022" -> "SMD" // SMD non-condensing
case "031" -> "SIP" // SIP condensing
case "032" -> "SMD" // SMD condensing
}
Hall Effect Sensors (SS4xx/SS5xx)
// Package code is the letter before final digit (if present)
// SS495A1 -> A -> TO-92
// SS441A -> A -> TO-92
switch (pkgChar) {
case 'A' -> "TO-92"
case 'E' -> "SOT-89"
case 'T' -> "SOT-23"
case 'L' -> "SIP"
}
Magnetometers (HMC)
// Look for trailing L indicating LCC package
// HMC5883L -> L -> LCC
if (basePart.endsWith("L")) return "LCC"
Example MPNs with Explanations
Humidity Sensors
| MPN |
Series |
Package |
Description |
| HIH6130-021-001 |
HIH6130 |
SIP |
Digital humidity sensor, SIP non-condensing |
| HIH6130-022-001 |
HIH6130 |
SMD |
Digital humidity sensor, SMD non-condensing |
| HIH4000-001 |
HIH4000 |
(varies) |
Analog humidity sensor |
| HIH8120-021-001 |
HIH8120 |
SIP |
High accuracy digital humidity |
Pressure Sensors
| MPN |
Series |
Package |
Description |
| HSCDANN001PG2A3 |
HSC |
DIP |
TruStability, differential, 1 psi, DIP |
| HSCDRRN060MDSA |
HSC |
SIP |
TruStability, 60 mbar differential, SIP |
| SSCMANV060PGAA5 |
SSC |
SMT |
Standard pressure, 60 psi gauge, SMT |
| ABPMANN060PG2A3 |
ABP |
DIP |
Basic pressure, 60 psi gauge, DIP |
| MPRLS0025PA00001A |
MPR |
SMT |
MicroPressure, 25 psi, SMT |
Hall Effect Sensors
| MPN |
Series |
Package |
Description |
| SS49E |
SS49 |
SOT-89 |
Linear hall effect, SOT-89 |
| SS495A |
SS49 |
TO-92 |
Linear hall effect, TO-92 |
| SS495A1 |
SS49 |
TO-92 |
Linear hall effect, TO-92, variant 1 |
| SS441A |
SS4 |
TO-92 |
Hall switch, bipolar, TO-92 |
| SS451A |
SS4 |
TO-92 |
Hall switch, unipolar, TO-92 |
| SS59ET |
SS59 |
SOT-23 |
Linear hall, high sensitivity, SOT-23 |
Magnetometers
| MPN |
Series |
Package |
Description |
| HMC5883L |
HMC5883 |
LCC |
3-axis magnetometer, I2C, LCC |
| HMC5883L-TR |
HMC5883 |
LCC |
Same as above, tape and reel |
| HMC5843 |
HMC5843 |
(QFN) |
Older 3-axis magnetometer |
Optical Sensors
| MPN |
Series |
Package |
Description |
| HOA1180-001 |
HOA1180 |
(varies) |
Reflective optical sensor |
| HLC2705-001 |
HLC2705 |
(varies) |
Optical interrupter |
Official Replacement Logic
The isOfficialReplacement() method in HoneywellHandler checks:
- Same series: Parts in the same series are typically compatible (different packages)
- Pressure range match: For pressure sensors, range must match for compatibility
- Known compatible pairs:
- HIH6130 <-> HIH6131 (alarm output variant)
- HIH8120 <-> HIH8121 (alarm output variant)
- HIH4000 <-> HIH4010 (covered variant)
- HMC5883 variants
Handler Implementation Notes
matches() Override
The handler provides explicit matches() implementation for better performance:
@Override
public boolean matches(String mpn, ComponentType type, PatternRegistry patterns) {
switch (type) {
case HUMIDITY_SENSOR:
return upperMpn.matches("^HIH[0-9].*");
case PRESSURE_SENSOR:
return upperMpn.matches("^HSC[A-Z].*") ||
upperMpn.matches("^SSC[A-Z].*") ||
upperMpn.matches("^ABP[A-Z].*") ||
upperMpn.matches("^MPR[A-Z].*");
// ... etc.
}
}
getSupportedTypes() Pattern
Uses Set.of() (modern, immutable) - compliant with codebase best practices:
@Override
public Set<ComponentType> getSupportedTypes() {
return Set.of(
ComponentType.SENSOR,
ComponentType.HUMIDITY_SENSOR,
ComponentType.PRESSURE_SENSOR,
ComponentType.HALL_SENSOR,
ComponentType.MAGNETOMETER,
ComponentType.SENSOR_OPTICAL
);
}
Related Files
- Handler:
manufacturers/HoneywellHandler.java
- Component types:
SENSOR, HUMIDITY_SENSOR, PRESSURE_SENSOR, HALL_SENSOR, MAGNETOMETER, SENSOR_OPTICAL
- Similarity:
SensorSimilarityCalculator (general sensor similarity)
Learnings & Quirks
- SS49x vs SS4xx conflict: The handler uses specific patterns to distinguish linear sensors (SS49x, SS59x) from switch sensors (SS4xx where xx != 9x). Patterns
SS4[0-8][0-9] exclude SS49x.
- Pressure sensor range extraction: Range is embedded in the long MPN string at different positions. The handler searches for 3-digit or 4-digit numeric chunks.
- Humidity sensor package in hyphenated segment: Unlike most manufacturers where package is a suffix, HIH sensors encode package info in the second hyphen-separated segment (021, 022, 031, 032).
- HMC5883 vs HMC5883L: Both extract series "HMC5883" but "L" suffix indicates LCC package. They are the same IC in different packages.
- No manufacturer-specific ComponentTypes: Unlike TI or ST handlers, Honeywell uses generic types (HUMIDITY_SENSOR, PRESSURE_SENSOR) without _HONEYWELL suffixes.
- getManufacturerTypes() returns empty set: Honeywell does not define custom ManufacturerComponentType enums.