ESP32 Bluetooth Power Framework -- 2

Job ID: 40121374

Budget: ₹12,500 – ₹37,500 INR

I’m building a product around an ESP32 and I need a compact, reusable framework that handles two things flawlessly: complete Bluetooth support—both BLE and Classic—and rigorous low-power operation.

The core of the job is to wrap ESP-IDF features (or Arduino-ESP32 if you prefer) into clean, well-documented modules that I can drop into future projects without touching the underlying drivers again. Your code should make it just as easy to start advertising over BLE as it is to open an SPP channel on Classic, while automatically slipping the chip into Light- or Deep-Sleep whenever traffic is idle. All transitions must respect Espressif’s Power Management APIs so I can tweak wake-up sources later.

Deliverables
• Source code with clear, self-contained APIs for:
  – BLE (GATT server/client, advertising, notifications)
  – Classic Bluetooth (SPP or RFCOMM data channel)
  – Unified power manager that switches between Active, Light-Sleep, and Deep-Sleep based on activity timers I define
• example/main showcasing both Bluetooth modes and automatic sleep/wake behaviour
• README explaining setup, configuration options, and any required menuconfig flags

I will test the framework on an ESP32-WROOM-32 module; if it compiles and the demo proves stable at the advertised current draw, the milestone is complete. Feel free to suggest additional tweaks—WiFi hooks, OTA helpers, etc.—but they are not required for this phase.