Firmware Developer Needed for Smart BLE-Connected Manometer (ESP32, Pressure Sensor, OLED, BLE, OTA) need Mobile App Development

Contact person: Firmware Developer Needed for Smart BLE-Connected Manometer (ESP32, Pressure Sensor, OLED, BLE, OTA)

Phone:Show

Email:Show

Location: Patuakhali, Bangladesh

Budget: Recommended by industry experts

Time to start: As soon as possible

Project description:
"Project Overview:

We are developing a Smart Digital Manometer using the ESP32-WROOM microcontroller and need an experienced embedded firmware developer to write production-grade firmware for a working hardware prototype. The device includes a digital pressure sensor (WF100DPZ), battery fuel gauge (MAX17048), OLED display, RGB LEDs, buzzer, and Bluetooth LE connectivity. The sensor readings are displayed locally and published over BLE to a mobile app (initially testing with Blynk).

Scope of Work:
Microcontroller Platform: ESP32-WROOM
Development Environment: Arduino (preferred), ESP-IDF (optional)
Core Requirements:

✅ Pressure Sensor Data Handling:
Interface with WF100DPZ pressure sensor via I²C (GPIO21, GPIO22)

Convert raw sensor data to PSI and inH₂O (water column) format

Filter invalid/garbage values outside ±5 kPa range

Format and display cleaned data on OLED and BLE

✅ Auto-Zero Calibration:
Long press or BLE trigger initiates 3-second averaging

Store offset in NVS (EEPROM equivalent)

Apply correction to future readings

Battery Monitoring:
Read battery percentage and voltage from MAX17048 via I²C

Update BLE battery characteristic every 5 seconds or >5% change

OLED Display:
Real-time pressure in PSI and inH₂O

Battery level indicator

BLE status

Auto-calibration feedback

No junk data display

RGB LED & Buzzer Alerts:
RGB LED (IO17-Red, IO18-Green, IO19-Blue)

Pressure thresholds: Red = High, Yellow = Medium, Green = Low

Buzzer (IO32)

3/2/1 beep depending on pressure range with hysteresis logic
BLE + OTA:
Implement BLE GATT server using ESP32 NimBLE

Pressure + battery + calibration characteristics

OTA support via BLE (and optional fallback to Wi-Fi OTA)

OTA progress shown on OLED

Test LED (IO14):
1 Hz blink = normal

Solid ON = sensor/I²C failure

Fast blink = calibration or OTA mode

Please don't give auto bid, I will not count those, add "SmartManometer" in the middle of your bid.

Deliverables:
Fully working Arduino-compatible firmware (commented + modular)

NVS handling for zero-offset

BLE characteristics + OTA integration

Help connecting to Blynk (or suggest a better IoT platform)

Support for uploading to real hardware (via CP2104 USB)

Tools Provided:
Full hardware schematic (PDF)

Sensor datasheet with I²C commands

Links to MAX17048 libraries:

Hideakitai MAX17048

Adafruit MAX17048

Preferred Skills:
ESP32 firmware experience

BLE + I²C integration

Familiar with low-pressure sensor calibration

Familiar with OTA updates on ESP32

Optional: Blynk, MQTT, Firebase, or other IoT cloud platforms

⏱ Timeline & Budget:
Need working prototype firmware within 7–10 days

Budget: Open to offers based on experience and delivery time

How to Apply:
Please include:

Examples of similar ESP32 projects (BLE, OTA, sensors)

Whether you're comfortable working with pressure sensors and calibration

Your preferred IoT platform (if not Blynk)

Estimated cost and delivery time

We’re excited to collaborate and bring this smart manometer to life!" (client-provided description)


Matched companies (0)