Datasheet: Hw-044
The HW-044 is sold on:
Note: There is no official single datasheet from one manufacturer, because HW-044 is a generic module name. However, the underlying circuit is well-documented using BSS138 level shifter schematics (e.g., from SparkFun or Adafruit’s 8-channel BSS138 breakout).
The HW-044 integrates a precision analogue front-end, A/D converter, microcontroller-based signal processing, and an I2C peripheral for host communication. The front-end conditions the transducer element (e.g., resistive, capacitive or MEMS sensor), applies excitation where needed, filters the signal (anti-aliasing), then digitizes with a high-resolution sigma-delta ADC. On-chip firmware performs temperature compensation, linearization, optional averaging, and error-checking. Data are presented over I2C as signed 16-bit words with a small status register. An interrupt/alert pin signals threshold crossings or data-ready.
Here is a simple sketch to test your HW-044.
Wiring:
The Code (with debounce logic):
const int TOUCH_PIN = 2; const int LED_PIN = 13;int lastTouchState = LOW; int currentTouchState;
void setup() pinMode(TOUCH_PIN, INPUT); pinMode(LED_PIN, OUTPUT); Serial.begin(9600); Serial.println("HW-044 Touch Sensor Ready");
void loop() currentTouchState = digitalRead(TOUCH_PIN); hw-044 datasheet
if (currentTouchState == HIGH && lastTouchState == LOW) // Touch detected (edge detection) Serial.println("Touched!"); digitalWrite(LED_PIN, !digitalRead(LED_PIN)); // Toggle onboard LED delay(50); // Simple debounce
lastTouchState = currentTouchState;
| Parameter | Value / Range | |-----------|----------------| | Number of channels | 8 | | Low voltage side (LV) | 1.8V – 5V (typically 3.3V) | | High voltage side (HV) | 2.8V – 6V (typically 5V) | | Max signal frequency | ~100 kHz – 200 kHz (safe for I²C, SPI up to a few hundred kHz) | | Logic type | Open-drain / push-pull (works with both, best with open-drain) | | Direction | Bidirectional per channel, automatic | | Input voltage for LV side | Provided externally via "LV" pin | | Input voltage for HV side | Provided externally via "HV" pin | | Typical application | I²C, UART, GPIO, one-wire buses | | Common IC used (on board) | BSS138 N-channel MOSFET + pull-up resistors (4.7kΩ or 10kΩ) | The HW-044 is sold on:
| Pin Label | Function | Description | |-----------|----------|-------------| | VIN | Power Input | 2.7V – 5.5V DC. 5V recommended for maximum output power. | | GND | Ground | Connect to system ground. | | BCLK | Bit Clock | Also known as BCLK or SCK. I²S serial clock. | | LRC | Left/Right Clock | Also known as WS or FS. Frame sync for I²S. | | DIN | Data Input | Serial audio data line (I²S data). | | GAIN | Gain Select | Strapping pin (see gain settings below). | | SD_MODE | Shutdown / Mode | High = normal operation, Low = shutdown. Also used for channel/chip address. | | SPK+ / SPK- | Speaker Output | Connect to 4Ω – 8Ω speaker. Do NOT connect to ground. |
Note: On some HW-044 revisions, the GAIN and SD_MODE pins may be unlabeled or swapped. Always check the silkscreen on your specific board.
The Raspberry Pi’s GPIO pins are digital only. To read analog values from the HW-044, you must add an external ADC, such as the MCP3008 (8-channel, 10-bit) or ADS1115 (16-bit).
Simpler approach: Use an Arduino as a co-processor and communicate over serial or I2C. Note: There is no official single datasheet from







