
In Progress
Posted
Paid on delivery
I’m building a handheld, battery-powered pen that can trace flat surfaces and get clean vector files from im looking into if anyone has input or upgrades to make it more accurate the twisting of the pen throws it off currently that uses two ESP32 boards in tandem. The ESP32-2432S028R with its 2.8" touchscreen is the only output surface, so every piece of feedback the user sees—live motion data, battery percentage, simple menus, and a DXF file browser stored on the MicroSD card—must be rendered there. A single-cell Li-Po feeds the whole system; the LCD board already hosts the USB-C charger and a voltage divider that needs to be read and converted into a friendly percentage on screen. Inside the case an ESP32-C3 SuperMini handles all sensing. It reads a PAA5100JE optical-flow module for X/Y displacement and a BNO08X IMU for full 9-DoF orientation, fuses the results, then streams compact packets over UART to the LCD board. Both MCUs should remain flash-upgradable over USB-C. What I need from you is production-ready, well-documented firmware on both sides, written in clean, non-blocking style so I can extend it later. Deliverables • ESP32-C3 firmware: drivers for PAA5100JE & BNO08X, lightweight fusion (Madgwick or similar), UART packetiser with checksum • ESP32-2432S028R firmware: touchscreen UI, graphic rendering of incoming pose data, battery status calculation, MicroSD DXF file manager, OTA/USB update handling • A simple, versioned UART protocol spec implemented on both boards and supplied as a brief PDF/README • Build and flash instructions for PlatformIO or ESP-IDF, plus commented source Acceptance will be based on stable 50 Hz data updates on the LCD, accurate battery read-out within ±3 %, smooth menu navigation on touch, and error-free flashing through USB-C on both MCUs.
Project ID: 40603625
27 proposals
Remote project
Active 18 hours ago
Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs

I am an experienced embedded systems engineer specializing in ESP32 firmware, sensor fusion, and real-time embedded applications. I can develop clean, production-ready firmware for both ESP32 boards, implementing reliable PAA5100JE and BNO08X integration, efficient sensor fusion, a versioned UART protocol with checksum, and a responsive touchscreen interface with battery monitoring and MicroSD DXF management. My code will follow a modular, non-blocking architecture that is easy to maintain and extend, with comprehensive documentation, build instructions, and reliable USB-C flashing support. I can also help improve the pen’s tracing accuracy by minimizing orientation drift through enhanced sensor fusion, calibration, and compensation for pen rotation, resulting in more precise vector output.
$10 USD in 3 days
0.0
0.0
27 freelancers are bidding on average $107 USD for this job

Hello, I can help you with this project. I have experience with ESP32-based embedded development, UART communication, sensor integration, touchscreen interfaces, and battery-powered devices. I would be happy to review the current tracing accuracy and suggest improvements to reduce the effect of pen rotation and improve overall precision. Thank You.
$20 USD in 7 days
7.5
7.5

Hi there, I read your offer carefully and understand that you need production-ready firmware for a handheld ESP32-based tracing pen, with an ESP32-C3 handling optical-flow and IMU sensing, and an ESP32-2432S028R touchscreen board handling UI, battery display, MicroSD DXF browsing, and live motion feedback. I can develop the PAA5100JE and BNO08X drivers, motion/orientation fusion, UART packet protocol with checksum, non-blocking firmware on both MCUs, touchscreen menus, battery percentage calculation, SD file manager, build instructions, and clear documentation. My background in embedded systems, ESP32 firmware, sensors, IMU fusion, UART communication, touchscreen UI, battery-powered devices, and clean firmware architecture fits this project well. I can also help improve accuracy by addressing pen twist effects through better calibration and sensor-fusion handling. Just send me a message and we can discuss the current code, hardware wiring, and accuracy issues. Best regards, Samuel Tshibangu
$56 USD in 1 day
6.5
6.5

Hi, how are you doing? I went through your project description and I can help you in your project. your project requirements perfectly match my expertise. We are a team of Electrical and Electronics engineers, we have successfully completed 1000+ Projects for multiple regular clients from OMAN, UK, USA, Australia, Canada, France, Germany, Lebanon and many other countries. We are providing our services in following areas: Antenna Design (CST, HFSS) Embedded C Programming. VHDL/Verilog, Quartus/Vivado, LabVIEW/ Multisim/PSPICE/VLSI MATLAB/SIMULINK Network Simulator NS2/NS3 Microcontroller like Arduino, Raspberry Pi, FPGA, AVR, PIC, STM32 and ESP32. IDEs like Keil MDK V5, ATmel studio and MPLab XC8. PLCs / SCADA PCB Designing Proteus, Eagle, KiCAD and Altium IOT Technologies like Ethernet, GSM GPRS. HTTP Restful APIs connection for IOT Communications. Also, we have good command over report writing, I can show you many samples of our previous reports. Kindly consider us for your project and text me so that we can further discuss specifically about your project's main goals and requirements.
$200 USD in 7 days
6.0
6.0

⭐⭐⭐⭐⭐ I've carefully reviewed your project, and I believe the key challenge isn't the firmware itself—it's accurately compensating for the pen's rotation. Simply combining optical flow with an IMU isn't enough; the optical-flow vectors must be transformed using the BNO08X orientation so twisting the pen doesn't introduce position errors. That's where I'd focus first. I'll develop clean, modular firmware for both ESP32 boards using a non-blocking architecture. The ESP32-C3 will acquire data from the PAA5100JE and BNO08X, perform sensor fusion (Madgwick or equivalent), compensate for rotation, and transmit compact checksum-protected UART packets. The ESP32-2432S028R will provide a responsive touchscreen UI with live motion data, battery monitoring, MicroSD DXF browser, and USB/OTA update support. Deliverables include: • Firmware for both ESP32 boards • Versioned UART protocol specification • PlatformIO/ESP-IDF projects with commented source • Build, flash, and documentation I've developed ESP32-based embedded systems involving IMUs, sensor fusion, displays, UART communication, and real-time firmware, and I enjoy solving motion-tracking problems like this. One suggestion I'd like to explore is using the BNO08X's rotation vector to continuously compensate for pen twist, which should significantly improve vector accuracy without changing your hardware. I'd be happy to discuss a few additional enhancements that could further reduce drift while keeping the design lightweight.
$20 USD in 7 days
5.1
5.1

I am an Embedded Systems Engineer with hands-on experience in ESP32, STM32, Arduino, IoT solutions, PCB design, and industrial automation. I specialize in developing complete hardware and firmware solutions from concept to production. My experience includes sensor integration, wireless communication, data logging systems, Ethernet and Wi-Fi connectivity, MQTT communication, cloud integration, and custom PCB development. My expertise includes: • ESP32 Firmware Development • STM32 Firmware Development • Arduino Projects • PCB Design using Altium Designer • IoT Solutions (Wi-Fi, BLE, Ethernet, MQTT) • AWS IoT Integration • Sensor Integration and Calibration • Data Logging Systems • Industrial Automation Projects • Embedded Linux Development • Serial Communication (UART, RS485, Modbus) • I2C, SPI, CAN Bus Development • Product Prototyping and Testing Recent project experience includes: • ESP32 Ethernet-based monitoring systems • BLE sensor networks with multiple wireless nodes • Engine dynamometer data acquisition systems • Industrial pressure, temperature, RPM, and level monitoring systems • MQTT-based cloud monitoring solutions • Custom PCB design and manufacturing support I focus on delivering reliable, well-documented, and production-ready solutions while maintaining clear communication throughout the project.
$250 USD in 10 days
4.9
4.9

Hi, I can develop production-ready firmware for both ESP32 boards using a clean, modular, non-blocking architecture that's easy to maintain and extend. I'll implement reliable PAA5100JE and BNO08X integration, sensor fusion, a versioned UART protocol with checksum, responsive touchscreen UI, battery monitoring, MicroSD DXF management, and well-documented source code with PlatformIO/ESP-IDF build instructions. My focus is stable 50 Hz updates, robust communication, and long-term reliability rather than quick hacks. I'd be happy to discuss the pen's rotation accuracy as well and suggest improvements to reduce drift caused by twisting. Looking forward to working with you. Regard, Ihor
$200 USD in 7 days
4.1
4.1

Hi, This is an interesting embedded project, especially because the challenge is not only reading sensors but producing stable, accurate motion data on a handheld device. I have experience developing firmware for ESP32-based embedded systems, integrating SPI/I²C sensors, UART communication, battery-powered devices, and responsive graphical interfaces. My approach is to build clean, modular firmware using a non-blocking architecture so it remains easy to maintain and extend. For this project, I would separate sensing, sensor fusion, communication, and UI into independent modules. The UART protocol will be versioned and documented, and both boards will support straightforward USB updates. I also believe the current accuracy issue is likely related to how optical-flow data and IMU orientation are fused during pen rotation, and I would focus on improving that algorithm rather than simply filtering the data. Clear communication and regular progress updates are important to me, and I would be glad to discuss the system architecture before development begins. Best regards, Shenglin Gu.
$150 USD in 3 days
3.5
3.5

Your tracing pen is a solid concept—dual ESP32s, optical flow plus IMU fusion, all on a battery. The twist drift you're seeing is exactly what a properly tuned Madgwick filter on the C3 can fix, and I've shipped this kind of sensor fusion before. Here's what I bring to this: → I've built dual-MCU UART systems with checksummed packets for real-time pose data at 50 Hz → I know the BNO08X driver inside out and can fuse its output with the PAA5100JE for stable tracking → I'll deliver clean, non-blocking firmware on both MCUs with a full touch UI, battery readout, and DXF browser → I can have a working build ready for your review within 02 days I can do this for $60 and include a PDF protocol spec and PlatformIO build instructions. Let's talk in chat.
$60 USD in 2 days
3.5
3.5

1. I will build the ESP32-C3 firmware to read the PAA5100JE and BNO08X simultaneously, apply Madgwick sensor fusion, compensate for pen twist using the IMU quaternion, and transmit timestamped packets with CRC checksum to eliminate corrupted data. 2. I will develop the ESP32-2432S028R firmware with a responsive touchscreen UI showing live X/Y movement, orientation, battery percentage, MicroSD DXF browser, and system status while maintaining stable 50Hz updates using a fully non-blocking task architecture. 3. I will create a lightweight versioned UART protocol so both ESP32 boards remain synchronized, making future firmware upgrades and additional sensors easy to integrate without breaking compatibility. 4. One challenge with optical-flow pens is rotational drift when the user twists the device. I've solved similar issues by transforming optical sensor movement into the world coordinate frame using IMU orientation and applying calibration plus filtering to greatly reduce accumulated error. 5. Another common issue is packet loss and UI lag. I overcome this with buffered UART communication, sequence numbers, watchdog recovery, and asynchronous rendering so the display remains smooth even during heavy processing.
$150 USD in 3 days
3.1
3.1

I love the idea of a handheld tracing pen that turns physical lines into clean vector files—sounds like a really satisfying tool to use and build. The twist drift is a classic pain point with IMU-based systems, and I think a solid Madgwick fusion running on the C3 can clean that up nicely. Here's what I bring to this: → I've written production firmware for dual-MCU ESP32 systems using UART with checksum validation → I know the BNO08X driver stack and have tuned sensor fusion for real-time motion tracking → I can deliver clean non-blocking code on both the C3 and the LCD board, with a full UI and DXF browser → I can have a working prototype firmware ready for you to test in under 3 days. I can do this for $50 and keep the code well-commented so you can extend it however you want. Let's jump on a quick chat to talk through the fusion approach and UI flow.
$50 USD in 3 days
3.1
3.1

HI, KINDLY READ THROUGH MY PROPOSAL The twist error is the key issue: optical-flow X/Y must be compensated with BNO08X orientation before vector output. I’m an embedded firmware engineer with 6 years’ experience and 67+ completed projects. • C3: PAA5100JE + BNO08X fusion, 50Hz UART + checksum • LCD: touch UI, Li-Po %, SD/DXF browser, USB updates I’ll keep both sides non-blocking, version the protocol, and validate 50Hz, ±3% battery and rotation drift. Deliverables: source, README/protocol + flash guide. Question: is the sensor offset from pen tip fixed? Quick chat and I can start ASAP today!!
$1,000 USD in 8 days
0.6
0.6

Here is how I will structure the firmware for your handheld vector-tracing pen: 1. ESP32-C3 Sensor Node (PAA5100JE + BNO08X): • Asynchronous drivers for PAA5100JE (optical displacement) and BNO08X (IMU orientation). • Lightweight sensor fusion algorithm (Madgwick/Mahony) operating at a stable >50Hz update rate. • Compact binary packet serialization with CRC16/Checksum over high-speed UART to guarantee corruption-free telemetry. 2. ESP32-2432S028R UI & Storage Node: • Smooth, non-blocking touchscreen UI (LVGL / TFT_eSPI) running on dedicated FreeRTOS tasks to prevent screen stutter. • Real-time motion rendering engine, calibrated battery voltage-to-percentage lookup table, and MicroSD DXF file browser. • Independent UART receiver task decoding incoming packets and updating the UI smoothly. 3. Code Quality & Deliverables: • Clean, modular PlatformIO source code with comprehensive comments for both MCUs. • Versioned UART Protocol Specification (documenting packet structure, payload, and checksums). • Step-by-step flashing, build, and calibration guide.
$250 USD in 14 days
0.8
0.8

Hello There! I'm Md Ruhul Ajom, and I'm excited to partner with you. I can dive into your project immediately. I have over 10 years of experience in embedded systems, ESP32 firmware development, sensor fusion, UART communication, and real-time GUI development using PlatformIO and ESP-IDF. I understand you're building a dual-ESP32 handheld vector-tracing pen and need production-ready firmware with reliable sensor fusion, a versioned UART protocol, touchscreen UI, battery monitoring, DXF browser, and clean non-blocking architecture. I can also help improve tracing accuracy by compensating for pen rotation using the BNO08X orientation data, reducing drift through sensor calibration and fusion, and refining the optical-flow algorithm. I'm skilled in ESP32, C/C++, PlatformIO, ESP-IDF, LVGL, UART, SPI/I2C, IMU sensor fusion, and embedded UI development. I'm ready to start immediately and would be happy to discuss your project and accuracy improvement strategy. Looking forward to hearing from you. Best regards, Md Ruhul Ajom
$10 USD in 1 day
0.0
0.0

I’d love the opportunity to develop the complete firmware for your dual-ESP32 handheld tracing system. I have experience with ESP32-based embedded development, sensor integration, UART communication, touchscreen interfaces, and creating clean, modular firmware that is easy to maintain and expand. I will deliver production-ready firmware for both ESP32 boards, including the PAA5100JE optical sensor, BNO08X IMU integration with efficient sensor fusion, a robust checksum-based UART protocol, responsive touchscreen UI, battery percentage calibration, MicroSD DXF browser, and reliable USB/OTA update support. The code will follow a non-blocking architecture to ensure stable 50 Hz updates and smooth user interaction. In addition, I'll provide fully commented source code, PlatformIO/ESP-IDF build instructions, and clear protocol documentation so future development is straightforward. I’m also happy to suggest improvements for reducing drift caused by pen rotation by refining the fusion algorithm and compensating optical-flow data using IMU orientation.
$20 USD in 3 days
0.0
0.0

I see you need ESP32 boards – the C3 to read a PAA5100JE sensor and a BNO08X IMU and send pose data, and the 2432S028R to display it on a 2.8 inch touchscreen with battery, DXF browsing and OTA updates. I will write non‑blocking C3 firmware with drivers, a Madgwick fusion loop and UART packets with checksum, and add USB‑C OTA flashing and PlatformIO build steps. The display code will show pose at 50 Hz, battery percent within three percent and allow DXF browsing with smooth touch menus. You will get stable real‑time updates, accurate battery read‑out and reliable USB flashing. I have ten years of software work including Arduino, IoT and PCB layout, so I can deliver production‑ready code on schedule. What UART baud rate and checksum type do you prefer? Do you have UI color or font size preferences for the screen?
$200 USD in 2 days
0.0
0.0

Hello, I’m interested in helping improve your ESP32-based surface-tracing pen. I have 8 years of experience in embedded systems, industrial automation, C/C++, sensor integration, UART communication, and hardware-software testing. The main issue appears to be coordinate error caused by pen rotation. The PAA5100JE measures movement relative to the sensor body, so its X/Y displacement should be transformed into a stable surface coordinate system using orientation data from the BNO08X. Calibration, filtering, sensor synchronization, pen-tip offset compensation, and mechanical mounting should also be reviewed. I can help with: • Reviewing the existing hardware and firmware • PAA5100JE and BNO08X integration • Rotation compensation and sensor fusion • Versioned UART packets with checksum • Non-blocking 50 Hz data communication • Touchscreen UI and live motion display • Battery percentage calculation • MicroSD DXF file management • Platform IO/ESP-IDF build instructions • Clean, documented C/C++ source code Since the posted budget is limited, I propose starting with a technical review and proof-of-concept plan to identify the cause of the accuracy issue. After reviewing the code, wiring, sensor logs, and a video of the twisting problem, I can recommend the correct implementation approach and milestones.
$30 USD in 7 days
0.0
0.0

Hi i would use SPI to let the ESP32 talk to each other but i would recommend switching to I2C or a similart protocol that supports multiple masters.
$20 USD in 7 days
0.0
0.0

Hi there, I can develop the dual-board firmware for your vector-tracing pen within 7 days. My recent hardware projects align perfectly with your exact stack: I recently built a custom smartwatch utilizing the ESP32-C3 SuperMini, and I engineered a Smart Battery Management System, meaning I am highly experienced with accurate Li-Po voltage divider calculations, filtering, and ESP architectures. I clearly understand the required topology: the SuperMini acts as the dedicated sensor hub (handling the PAA5100JE, BNO08X, and sensor fusion), streaming a clean, packetized UART payload to the ESP32-2432S028R, which operates entirely as a non-blocking UI and file manager. My execution plan: C3 Sensor Hub: Implement lightweight Madgwick fusion and a strict UART packetizer with checksums to guarantee error-free 50Hz data transmission. Touch UI Board: Utilize FreeRTOS tasks to decouple the UART listener from the UI rendering. This ensures the touchscreen menus and DXF browser remain perfectly smooth without stuttering. I will also integrate the battery reading logic here. Deliverables: Provide clean PlatformIO source code, OTA update handling, and the simple UART protocol spec as a brief PDF/README. I am bidding highly competitively to establish my reputation on this platform, but I guarantee production-ready, non-blocking code. Let's chat! Best regards, Abuzar
$20 USD in 4 days
0.0
0.0

Hi, I can deliver non-blocking, production-ready firmware for both your ESP32-C3 and ESP32-2432S028R boards, including a solution for the pen twisting issue. Fixing the Pen Twist / Yaw Rotation: The PAA5100JE optical flow sensor reports local (dx, dy) displacements. When the pen twists, the local coordinate frame rotates relative to the tracing surface. I will use the 6-DoF/9-DoF quaternion orientation output directly from the BNO08x (using Sensor Fusion / SHTP protocol) to apply a 2D rotation matrix: • X_world = dx * cos(yaw) - dy * sin(yaw) • Y_world = dx * sin(yaw) + dy * cos(yaw) This mathematically neutralizes pen rotation, ensuring accurate world-coordinate vector paths. What I Will Deliver: 1. ESP32-C3 Sensing Firmware: PAA5100JE optical flow + BNO08x integration, 50 Hz packetizer with CRC16 checksum over UART. 2. ESP32-2432S028R UI Firmware: Non-blocking UI (TFT_eSPI / LVGL), real-time pose rendering at 50 Hz, Li-Po battery ADC mapping (±3% accuracy curve), MicroSD DXF file browser. 3. UART Protocol & Docs: Clean, versioned UART packet specification PDF/README and modular, well-commented PlatformIO/Arduino code. Ready to start immediately. Let's build a smooth, accurate device!
$25 USD in 4 days
0.0
0.0

Hey there! I went through your hardware specs, and I love this project. As an embedded systems developer with solid experience in ESP32, C/C++, and multi-MCU serial communication, I can hit the ground running. I can structure the non-blocking firmware using PlatformIO, implement the PAA5100JE and BNO08X data fusion on the ESP32-C3, and ensure a smooth, responsive UI and DXF file handling on the display board via reliable UART packets.!
$20 USD in 1 day
0.0
0.0

Edwardsville, United States
Payment method verified
Member since Apr 14, 2021
$8-15 USD / hour
$2-8 USD / hour
$8-15 USD / hour
$2-8 USD / hour
$30-250 USD
₹12500-37500 INR
$19-20 CAD
$250-750 USD
₹1500-12500 INR
₹12500-37500 INR
₹1500-12500 INR
$30-250 AUD
₹75000-150000 INR
$250-750 AUD
₹1500-12500 INR
$750-1500 USD
₹1500-12500 INR
₹37500-75000 INR
$30-250 USD
$750-1500 USD
$2-8 USD / hour
₹12500-37500 INR
₹100-400 INR / hour
€30-250 EUR
₹750-1250 INR / hour