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)