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


Contact Us

Take the first step towards becoming your best self.

Footer Form

This field is for validation purposes and should be left unchanged.