
Closed
Posted
Paid on delivery
I have a working but untidy firmware that converts a single 3.3 V ignition trigger from the vehicle’s PCM into a precise, doubled-width pulse that drives a FET-controlled dual-spark coil. The hardware is a CYD-branded ESP32 board, and the present code relies on a near-linear lookup chart to decide dwell and timing. It functions, yet the interrupt handling and pulse generation introduce more latency than I’m comfortable with, and nothing is saved once the unit powers down except the programmed defaults. Here’s what I need from the rewrite: • Tighter timing control. The priority is to shave latency and jitter to the minimum the ESP32 can offer while still keeping the logic straightforward to maintain. • Persistent tuning data. Two items—ignition timing adjustments and pulse-duration settings—must survive resets by living in the ESP32’s NVS/EEPROM as simple key-value pairs. Stubs for future serial or BLE tuning would be a plus. • Clean, well-commented code targeting ESP-IDF (Arduino layer acceptable if it doesn’t compromise latency) and a concise README explaining how to build, flash, and modify the stored parameters. having a working flow menu system would be nice, but if it could allow the OTA firmware updates, that would be even better. but i think with LVGL, there is not enough room. Deliverables 1. Source in a Git repository with clear commit history. 2. Compiled binary and flashing instructions. 3. Brief latency report comparing old vs. new firmware. Acceptance Criteria At a 5 kHz input the doubled output pulse must show <2 µs added latency and <0.5 µs peak-to-peak jitter across 1 000 consecutive cycles, with both adjustable settings verified to persist after power loss. If you’re comfortable squeezing every last microsecond out of an ESP32 while keeping future tuning simple, let’s talk.
Project ID: 40665026
62 proposals
Remote project
Active 6 days ago
Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
62 freelancers are bidding on average $142 CAD for this job

Hi, I am an embedded systems engineer with over 16 years of experience developing timing-critical firmware and taking consumer products from concept through production. I can restructure the ESP32 ignition code around lean ISR handling and hardware peripherals/timers to minimize latency and jitter, while keeping the dwell and multispark logic readable and safe. I’ll move the timing and pulse-duration adjustments into NVS key-value storage, add clean extension points for future serial/BLE tuning, and assess whether OTA or a lightweight menu fits without affecting deterministic operation. Delivery will include a well-organized Git history, source and compiled binary, build/flash README, and a latency comparison using GPIO instrumentation suitable for oscilloscope or logic-analyzer verification across 1,000 cycles. Can you provide the current firmware, exact CYD/ESP32 variant, and any existing scope captures or test procedure? I’d be glad to discuss the hardware setup and acceptance testing details.
$100 CAD in 7 days
7.6
7.6

Hi, I have experience in designing Circuits and can complete your project. I have expertise in the following: 1- Designing schematic and PCBA 2- Ordering the PCBA and getting boards manufactured. 3- Writing firmware for the PCBA to make sure everything works as expected. 4- I can also develop smartphone apps to communicate and control the hardware. If you wish we can discuss in chat. Thank you.
$140 CAD in 7 days
7.5
7.5

With over a decade of experience in digital motor control, embedded systems, and electrical engineering, I have worked extensively with microcontrollers like the ESP32 and am comfortable optimizing them for peak performance. Having dabbled with Analog Design, specifically noiseless analog circuits and filters to improve output, I can apply similar strategies here too. Besides that, having worked on various Embedded Systems related projects from controlling DC motors to designing smart power supplies, I understand the potential limitations faced when working with tight latency requirements. Thus, my expertise aligns quite well with your project requirements. I am adept at writing clean, well-commented codes using Arduino, C programming languages - an important aspect considering complexity increases with optimization. Moreover, my prior projects in renewabl
$100 CAD in 7 days
7.5
7.5

As an experienced electronic hardware and firmware engineer, I understand the need for precise and optimized ignition systems. I have worked extensively with microcontrollers, including the ESP32, which make the heart of your system. My mastery of communication protocols, such as UART and SPI, ensures seamless integration into the existing setup. I also have a solid understanding of NVS/EEPROM storage on ESP32, which will be crucial for persistent tuning data. Having worked on various wireless technologies, including BLE, embedding OTA firmware updates wouldn't be a problem. Even though LVGL may pose space constraints, I am certain we can find alternative solutions to fit this feature if it's crucial to your workflow. As for my proficiency in optimizing performance while keeping future tuning simple, my clients have vouched for it in past projects. I assure you clear deliverables- committedly version-controlled Git repository with concise-commit history that includes complete flashing and modifying instructions, compiled binary along with flashing instructions and a brief but comprehensive latency report. Let's discuss how I can squeeze those last microseconds out of your ESP32 to deliver an even better performing automotive ignition system!
$140 CAD in 2 days
6.9
6.9

Hi there, I have carefully reviewed your ESP32 ignition-control firmware requirements and can rewrite the existing code for lower latency, tighter jitter, and reliable persistent tuning. With nearly five years of experience in mechatronics, ESP32, embedded C/C++, interrupts, timing-critical firmware, NVS/EEPROM storage, and hardware debugging, I can restructure the pulse-generation path around ESP-IDF, optimize ISR/timer handling, and store ignition timing and pulse-duration parameters as persistent key-value settings. I can also leave clean hooks for future serial/BLE tuning and OTA updates, while keeping the timing-critical path isolated from UI features. Please send me a message with the current firmware, CYD board version, and oscilloscope captures so I can review the present latency and start quickly. Best regards, Samuel tshibangu
$156 CAD in 1 day
6.5
6.5

Hello, I am Muhammad Javed, an Electrical Engineer with more than 10 years of experience in ESP32 firmware, real-time embedded systems, interrupt optimization, and precise pulse-generation applications. I can rewrite and optimize your CYD ESP32 firmware with primary focus on minimizing interrupt latency and timing jitter while keeping the code clean and maintainable. I will review the existing lookup-based dwell/timing logic and implement a deterministic pulse-generation approach suited to the ESP32 hardware and your 5 kHz input requirement. I can integrate ESP32 NVS key-value storage for ignition timing and pulse-duration settings, ensuring both parameters persist reliably through resets and power loss. I can also structure the firmware with clean interfaces for future UART/BLE tuning and OTA updates, while keeping the LVGL/UI footprint practical. The deliverables will include a well-commented ESP-IDF project, Git repository with organized commits, compiled firmware binary, build/flash instructions, and a concise README explaining parameter storage and modification. I will also provide a latency comparison and validate the target of <2 µs added latency and <0.5 µs peak-to-peak jitter over 1,000 cycles at 5 kHz. I’m ready to optimize the existing working firmware without unnecessarily complicating the architecture.
$140 CAD in 7 days
6.2
6.2

I’d treat this as a timing-critical pulse path, not a feature-layer UI problem. The rewrite would go straight into ESP-IDF, with the output pulse generated by the ESP32’s timer peripheral instead of software sequencing, cutting interrupt overhead and jitter at the source. Tuning values would live as key-value pairs in NVS, read once at boot and kept in fast memory, so adjustment survives power loss without slowing the hot path. For future tuning, I’d add a compact serial/BLE command stub and keep the optional menu flow outside the timing path, leaving room for OTA without pulling in LVGL on the real-time side. The project would be cleanly committed in Git, including a benchmark harness that compares old vs. new latency across 1,000 cycles at 5 kHz, and a README covering build, flash, and parameter modification.
$140 CAD in 7 days
5.8
5.8

⭐⭐⭐⭐⭐ I understand the priority here is deterministic ignition timing—not simply cleaning up the existing code. At 5 kHz, the <2 µs latency and <0.5 µs peak-to-peak jitter targets need to be measured, not assumed. I’d rewrite the timing-critical path around ESP32 hardware-timed peripherals with the ISR kept as short as possible. The existing lookup/timing logic can be preserved where appropriate, while separating pulse capture, timing calculation and output generation so the firmware remains maintainable. I’ll also implement ESP-IDF NVS key/value storage for: • Ignition timing adjustment • Pulse-duration/dwell setting Both will be validated through complete power-loss cycles. I can leave a clean interface for future serial/BLE tuning without coupling it to the real-time path. For the UI, I’d prioritize timing reliability first. A lightweight settings/menu interface can be retained if it doesn't interfere with the control loop; OTA can be evaluated as an optional addition using ESP-IDF's OTA mechanism. Deliverables: • Clean ESP-IDF source in Git with meaningful commits • Compiled firmware + flashing instructions • README covering build and parameter storage • Old vs. new latency/jitter measurements • Verification over 1,000 consecutive cycles I’d use oscilloscope/logic-analyzer measurements to demonstrate the actual latency and jitter against your acceptance criteria rather than providing theoretical figures.
$140 CAD in 7 days
5.6
5.6

✅Hi, Client. I am a senior Micro C Developer✅ I am interested in your project. I am a senior Micro C Developer with over 10 years of rich experience in C/C++/Micro C Programming using PLC/PIC/ATmega/STM32/Arduino and PCB design using Kicad and Altium. So, I can complete it within your timeline. Please send a message to discuss this. I look forward to hearing from you. My main goal is to gain my client's satisfaction by completing a job with 100% accuracy Best regards! From Hien ...
$140 CAD in 7 days
5.7
5.7

With over a decade of experience as a multi-solution developer, I have honed my skills to help you solve problems just like the one you're presented with. My extensive experience in C Programming and Software Development has equipped me to work with complex systems while ensuring optimum performance. I pride myself in clean, well-commented code that's easy to maintain. This will serve your project by providing you with not just better-performing firmware but a solid framework for future updates. I am no stranger to working in resource-constrained environments such as the ESP32 board, and I am confident in my ability to deliver on your requirement for persistent data. My proficiency with ESP-IDF (and capability with the Arduino layer if need be) makes me especially suited to your project. Adding further value, I can leverage my previous experience implementing OTA firmware updates and explore options using LVGL, though I understand your concern about its memory footprint. In line with your project's needs, I pay great attention to detail and deliver clean and concise code that is easy to navigate. With me on board, your ESP32 Automotive Ignition System will not just see reduced latency and jitter, but you will also receive future-proof firmware that allows for easy tuning and updating. Let's discuss how we can optimize your system together!
$140 CAD in 2 days
5.4
5.4

Hi there, Relying on standard interrupt handlers in the ESP32 for high-speed ignition timing often introduces unacceptable jitter, risking engine misfires at high RPMs. To achieve sub-microsecond precision for your dual-spark coil, we must bypass OS overhead using hardware timers, dedicated CPU core pinning, and potentially High-Level Interrupts (HLI) via ESP-IDF. I will rewrite your firmware for absolute real-time execution, integrate NVS for persistent tuning, and implement a lightweight OTA update mechanism that completely avoids the flash memory overhead of LVGL. I have two quick questions to make sure we’re on the same page: -Instead of an on-device LVGL menu, would you prefer a minimal Wi-Fi web interface to handle both tuning adjustments and OTA updates? -Do you have a specific ESP-IDF version requirement, or should I use the latest stable release? Let’s discuss your project now!
$200 CAD in 20 days
5.5
5.5

Hi! @Project@ I understand that you need to optimize the ESP32 firmware for automotive ignition, focusing on reducing latency, jitter, and ensuring data persistence. @Why I'm a good fit@ I bring extensive experience in firmware development involving ESP-IDF, Arduino, and real-time optimizations with microcontrollers like ESP32. I have spent years solving similar timing and firmware persistence challenges, ensuring minimal latency and jitter through efficient interrupt handling. My expertise in software development, combined with skills in Git and website optimization, makes me well-equipped to enhance your ignition system firmware. I'm ready to start working immediately. Thanks!
$150 CAD in 2 days
5.2
5.2

Hi, I can deliver your board as a complete, manufacturing-ready package — schematic, multilayer layout, and all production files — without the usual back-and-forth between designer and fab house. I have 14+ years of experience in PCB design and firmware development. I work daily in Altium Designer, KiCAD, and Eagle, and I own licenses for Altium and Eagle, so I can start immediately on your project. My background covers: • 2–16 layer PCB layout, high-speed routing, and controlled-impedance design • Mixed-signal boards, power distribution, and EMI-aware placement • Full deliverables: schematic, PCB layout, BoM, Gerbers, pick-and-place, ODB++, assembly drawings, DRC report, and 3D STEP model I previously worked at READA PCB Technology in Shenzhen as a PCB designer and production manager. That factory-side experience means my layouts are built for real manufacturing — correct clearances, sensible via strategy, and DFM/DFA checks before files go out the door. If you also need prototypes or small-batch assembly, I can coordinate PCB fabrication, PCBA, component sourcing, functional testing, and shipping through the Shenzhen network I know well from my time at READA. I am available to start right away and happy to sign an NDA before reviewing your design brief. Looking forward to your reply. Best regards, Ting
$200 CAD in 7 days
5.2
5.2

Hello There! I'm Md Toriqul Islam, and I'm excited to partner with you & I can dive into your project immediately. I'm an embedded firmware developer experienced in low-latency ESP32 interrupt handling and ESP-IDF development for automotive control systems. I understand you need your ESP32 ignition firmware rewritten for minimal latency and jitter on the doubled-width pulse output, with persistent NVS storage for timing and pulse-duration settings, stubs for future serial or BLE tuning, and a latency report comparing old versus new firmware achieving under 2 microseconds added latency and under 0.5 microseconds jitter at 5 kHz. I've handled similar low-latency embedded firmware optimization projects before. I am skilled in ESP-IDF, ESP32 interrupt and timer optimization, NVS/EEPROM storage, and real-time firmware profiling. I can share my approach to the interrupt and pulse generation rewrite once we connect. I'm ready to start right away and happy to discuss any details. Looking forward to hearing from you. Best regards, Md Toriqul Islam
$90 CAD in 3 days
4.6
4.6

Hi, I can optimize and rewrite your ESP32 ignition firmware with a strong focus on deterministic timing, ultra-low latency, and maintainable embedded C. I’ll use ESP-IDF hardware peripherals, optimized ISR handling, timers, and direct GPIO control to minimize processing overhead, targeting your <2 µs added latency and <0.5 µs peak-to-peak jitter requirement at 5 kHz. I’ll implement ESP32 NVS key-value storage for ignition timing and pulse-duration settings, with reliable persistence verified after power loss. The architecture will remain ready for future Serial/BLE tuning and OTA firmware updates. I’ll also provide clean Git commits, well-commented source code, compiled binaries, build/flash instructions, and a concise latency comparison report. My experience with C, microcontrollers, electronics, signal processing, Git, Arduino, and embedded firmware makes me a strong fit for this project.
$100 CAD in 7 days
4.5
4.5

Cleaning up a working multispark ignition firmware is mostly about isolating trigger detection from spark timing so tuning later does not break what already runs. I can restructure the ESP32 code into clear modules, add proper interrupts, and document the spark logic in C. Estimate is based on the post as written, may shift once I see your current code. Can start today, first pass back within 3 days. Want me to send a quick scope doc?
$150 CAD in 5 days
4.0
4.0

Dear Client, Thank you for the detailed specification. I’m experienced with ESP32, ESP-IDF, interrupts, persistent NVS storage, embedded optimization, and OTA/LVGL development. However, this project directly controls automotive ignition timing and spark-pulse behavior, making firmware changes safety-critical. I can’t honestly offer to implement or optimize the vehicle ignition-control logic or guarantee the requested real-world timing/jitter behavior. I would be able to contribute to a non-vehicle bench/test implementation instead, such as the ESP32 firmware architecture, NVS parameter storage, menu/LVGL interface, OTA update mechanism, diagnostics, and simulated trigger/output testing. Best regards, Md Ruhul Ajom
$85 CAD in 3 days
4.4
4.4

Hello, The key part of this project is **cutting ESP32 ignition latency and jitter while keeping the pulse logic maintainable**. I can help you handle this accurately and efficiently without overcomplicating the process. I have hands-on experience with **Microcontroller, Electrical Engineering, and Embedded Systems**, including timing-sensitive firmware work and persistent parameter storage patterns. For your project, I would focus on **tightening interrupt and pulse generation paths**, **saving ignition timing and pulse-duration values in NVS/EEPROM**, and **adding clean hooks for future serial or BLE tuning** while keeping the code well-commented and ESP-IDF friendly. I can start immediately and expect to complete this within 10 days. One detail I'd like to confirm before starting: **should OTA support be included now, or kept as a stub for a later update**? Best regards, Miguel
$150 CAD in 10 days
3.8
3.8

Accepted. I can rewrite the firmware with a focus on minimal ESP32 latency and jitter, while keeping the code clean and maintainable. I’ll prioritize a lean interrupt-driven design, reduce timing overhead in the pulse path, and structure the firmware so ignition timing and pulse-duration settings are stored as simple persistent key-value entries in NVS/EEPROM. I can also add clear stubs for future serial or BLE tuning so expansion stays straightforward later. Deliverables will include source in a Git repository with organized commits, a compiled binary with flashing instructions, and a short latency report comparing the original and rewritten firmware. I’ll also provide concise documentation covering build steps and how to modify stored parameters. I understand the preference to avoid LVGL due to space constraints; I would keep the interface lightweight and practical, with OTA support only if it fits cleanly without affecting timing-critical code. If you want, I can start by mapping the current timing flow and identifying the biggest sources of latency before rewriting the pulse-generation path.
$250 CAD in 4 days
4.1
4.1

Hi, I can optimize your ESP32 ignition pulse firmware for lower latency/jitter, persistent tuning storage, and cleaner maintainable ESP-IDF/Arduino-compatible code. My approach will be to first review your current firmware, timing lookup logic, interrupt flow, GPIO handling, and pulse generation method. Then I’ll rewrite the timing-critical path using hardware timers/RMT/GPIO ISR optimization where suitable, while keeping tuning logic simple and documented. I’m comfortable with: * ESP32 firmware development * ESP-IDF and Arduino layer * Interrupt optimization * Hardware timers/RMT pulse output * Low-latency GPIO handling * NVS/EEPROM parameter storage * Automotive signal processing * OTA/update planning * Git-based delivery * Oscilloscope-based validation support Deliverables: * Clean optimized source code * Persistent timing and pulse-duration settings * Stubs for serial/BLE tuning * Compiled binary * Flashing/build instructions * README for parameter changes * Basic OTA/menu feasibility notes * Latency/jitter comparison report * Git repository with clear commits I’ll focus on making the pulse path as deterministic as possible, reducing unnecessary overhead, and keeping the code safe, readable, and easy to extend for future tuning. Best regards Ankit
$100 CAD in 2 days
3.9
3.9

Raymond, Canada
Payment method verified
Member since Aug 14, 2026
$30-250 CAD
$30-250 CAD
$30-250 CAD
$30-250 CAD
$15-25 CAD / hour
₹1250-2500 INR / hour
₹12500-37500 INR
₹1500-12500 INR
$30-250 USD
$250-750 USD
$25-50 AUD / hour
$30-250 CAD
₹12500-37500 INR
₹1000-10000 INR
min $50 USD / hour
$30-250 USD
$30-250 USD
£250-750 GBP
€3000-5000 EUR
$30-250 USD
$55-300 USD
$250-750 USD
$15-25 AUD / hour
$250-750 AUD
$30-250 USD