ESP32 + MPU6050 Motion-Detection & Count Firmware

Job ID: 39402027

Budget: $250 – $750 USD

Looking for Embedded Coder – ESP32 + MPU6050 Motion-Based Counter

I’m building a small battery-powered device that needs to detect a specific motion pattern (primarily a downward movement) and increment a counter each time that motion is completed.

All hardware is ready — I just need someone to handle the firmware side.



Hardware:
• ESP32 Development Board
(with BLE and deep sleep capability)
• MPU-6050 Accelerometer/Gyroscope
(mounted to a moving surface)
• Power: 2x CR2032 batteries
(must optimize for low power and deep sleep)



What the Firmware Needs to Do:
1. Detect motion pattern
• Use the MPU-6050 to recognize a clear, downward movement
• Filter out false positives (e.g. small shakes, other directions)
2. Increment a stored counter
• Only count after the movement completes and the surface is still
3. Sleep management
• Run ultra-low power
• Stay in deep sleep most of the time
• Wake either from movement or via low-frequency polling
4. (Optional but preferred)
• Broadcast the counter value via BLE
• Allow a mobile app to request/reset the count



What I Need from You:
• Fully working and flashable code (Arduino IDE or ESP-IDF)
• Clean structure, well-commented for future edits
• Assistance verifying motion detection via serial logging