
Suljettu
Julkaistu
Maksettu toimituksen yhteydessä
I have a custom board built around an STMicroelectronics MCU and I need a clean, well-structured C firmware that turns the chip into an I2CSPI host. The main job of the code is twofold: first, to issue and interpret I2C/SPI commands that control the connected device’s registers and modes; second, to expose a reliable communication interface so the higher-level application can talk to the hardware without worrying about timing, buffering, or error handling. Because this board will eventually ship, the code must follow good embedded-design practice: non-blocking state machines, clear separation between driver and application layers, and concise documentation inline and in a short markdown file. You’ll be working directly with GPIOs, clocks, and the peripheral registers, so solid electronics knowledge is important to keep signal integrity and pin configuration in check. Deliverables: • Fully-commented C source and header files compatible with STM32CubeIDE (HAL or bare-metal, your choice as long as it is readable and maintainable). • A brief “getting started” note that shows how to build, flash, and test the firmware on my board. • Basic validation script or schematic notes that prove SPI timing and logic levels meet spec. If you have prior experience bringing up I2C/SPI on STM32 parts and can demonstrate tight, production-ready code, I’d like to hear how quickly you can turn around a first build.
Projektin tunnus (ID): 40316606
32 ehdotukset
Etäprojekti
Aktiivinen 19 päivää sitten
Aseta budjettisi ja aikataulu
Saa maksu työstäsi
Kuvaile ehdotustasi
Rekisteröinti ja töihin tarjoaminen on ilmaista
32 freelancerit tarjoavat keskimäärin $166 USD tätä projektia

As an experienced professional with hands-on knowledge of STM32 programming, I'm confident that I can develop the clean, well-structured C firmware your custom board urgently needs. My strong background in digital motor control and embedded systems makes me proficient in GPIOs, clocks, and peripheral registers – vital aspects for turning your chip into an I2C/SPI host. You can count on my electronics expertise to ensure signal integrity, precise pin configurations, and reliable communication interfaces for seamless hardware interaction. In adhering to best practices for embedded design, I have a thorough understanding of non-blocking state machines and effective separation between driver and application layers. This guarantees both timing and error handling won't be a concern for your higher-level application. Moreover, my proficiency extends to concise documentation inline and in short markdown files, making it easier for maintenance. I also possess a solid track record in delivering production-ready projects on time. Being comfortable with STM32CubeIDE (HAL or bare-metal), I am ready to provide fully-commented C source and header files compatible with your chosen environment. In addition, I will include a comprehensive "getting started" note and a basic validation script or schematic notes to prove SPI timing and logic levels meet the specifications. Let's turn this around!
$115 USD 10 päivässä
7,4
7,4

Since 2003 I am working in Digital Electronic. So more than 18 years of experience in Electronics. Arduino NANO/UNO/MEGA, ESP32 and Raspberry PI to build a digital device to read sensor data and send it to the web server, motor control, control relay switches and LEDs. More than 5(five) years of experience in Arduino design and build. If you want an excellent and error-free project delivery, then send a message to me, please. Have more than 10(years) years of experience in C/C++ to build Windows/Linux applications and micro-controller firmware building. If you want a good job delivery, then send a message to me, please. Since 1995 I have been working on Analog and Digital Electronics to build any kind of device. I have build lots of devices. So more than 20 years of experience on Electronics. Including power supply design. Any kinds of schematic and PCB design. Expert PCB design in EasyEDA Pro IDE.
$250 USD 7 päivässä
7,3
7,3

As your needs specifically focus on firmware development for STMicroelectronics MCU, I bring to the table several years of solid experience with this particular family of chips, notably including the STM32. I understand the importance of utilizing non-blocking state machines, separating driver and application layers, and ensuring clear documentation inline and in a short markdown file. These coding practices have been an integral part of my work which I am excited to apply to this project. My proficiency in communication protocols like UART, SPI, Ethernet and USB that also involve solid knowledge of GPIOs and peripheral registers, make me well-equipped to handle your project's primary purpose - developing an I2C/SPI host code for your board. My work has been focused on ensuring reliable communication interfaces while abstracting hardware-level complexities for smooth interfacing with higher-level applications. Additionally, as well as delivering clean_code, a testament to good embedded-design practice, I can also provide you with a brief "getting started" guide as well as a validation script to ensure your board's adherence to the given spec. My commitment towards meeting deadlines without compromising on quality makes me an ideal fit for your project. Let's turn around a superb first build together!
$140 USD 7 päivässä
6,7
6,7

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.
$140 USD 7 päivässä
6,0
6,0

Hi, I have extensive experience developing embedded firmware for STM32 microcontrollers, including I2C and SPI peripheral bring-up, HAL and bare-metal drivers, and production-quality C code architecture. For this project, I will deliver: - Clean, well-commented C source and header files structured with a proper driver/application separation, compatible with STM32CubeIDE (HAL or bare-metal as preferred). - Non-blocking state machines for I2C/SPI communication to ensure reliable, timing-safe operation. - A concise Markdown "getting started" guide covering build, flash, and test steps for your custom board. - A basic validation script or schematic annotation confirming SPI timing and logic level compliance. I am comfortable working directly with GPIO configs, clock trees, and peripheral registers, and I understand the importance of signal integrity on production hardware. I can provide a first working build quickly after a brief onboarding call to review your schematic and register map. Looking forward to discussing the details!
$150 USD 7 päivässä
5,5
5,5

Hi, I have been developing projects on STM32 peripherals for more than 15 years of experience .We can have more on chat.
$250 USD 5 päivässä
5,4
5,4

Hi, I recently developed structured firmware for an STM32-based communication bridge handling both I2C and SPI interfaces, where the main challenge was implementing non-blocking state machines with reliable timing and error handling across multiple peripherals. From your description, you need clean, production-ready firmware that abstracts low-level I2C/SPI transactions into a stable host interface while maintaining proper layering and robustness. The key considerations will be non-blocking architecture, buffer management, fault recovery, and clear separation between driver and application layers. My approach would be: 1. Implement modular I2C/SPI drivers (HAL or LL) 2. Design non-blocking state machines with interrupt/DMA support 3. Add error handling (timeouts, NACK, bus recovery) 4. Build clean API layer for higher-level access 5. Provide well-documented code + bring-up/testing notes Quick question: Do you prefer HAL-based implementation for portability, or lean LL/bare-metal for tighter control and performance? Best regards Mykola
$140 USD 7 päivässä
5,2
5,2

Hi, I have 8+ years of embedded firmware development on STMicroelectronics STM32 platforms, delivering 20+ production boards with reliable I2C/SPI stacks, achieving <1% communication errors and reducing bring-up time by ~40% via reusable driver frameworks. I have built non-blocking, state-machine-based drivers with ISR/DMA optimization and validated SPI up to 40 MHz with consistent timing compliance. Approach ✅ I will design a layered firmware architecture separating low-level drivers, protocol handling, and application APIs using non-blocking state machines. ✅ I will implement I2C/SPI host drivers with interrupt/DMA support, robust error handling, and precise timing configuration per datasheet. ✅ I will create a clean abstraction layer with command parsing, register access, buffering, and timeout control. ✅ I will validate timing and signal integrity using logic analyzer measurements and provide concise documentation. Questions ✅ I would like to confirm the exact STM32 series and clock setup for proper peripheral configuration. ✅ I need the target device’s SPI/I2C timing specs (mode, max frequency, constraints). ✅ I would like to know if DMA-based transfers are required or interrupt-driven is preferred. ✅ I need clarification on the host interface and expected data throughput. Best, Yaroslav
$220 USD 5 päivässä
4,7
4,7

Hi, I have implemented a similar project for a previous client, so I am confident that I can help you. Please feel free to message me; I can send you a sample of an I2C/SPI driver I recently developed. It is written in bare-metal C, making it highly portable and easy to integrate into your existing project, whether you are using an RTOS or not. Best regards, Bui Thien An =========================================== About me I am an Embedded Software Engineer with 4 years of experience at BOS*H, and I have deep working knowledge of the STM32 family. I have rich experience in driver implementation working with I2C, SPI, DMA, and UART, as well as experience using Logic Analyzers to diagnose complex logic issues and verify communication protocols. I hope to have a chance to work with you.
$140 USD 7 päivässä
4,3
4,3

I can help you. I will implement a DMA-backed architecture for both I2C and SPI to ensure true non-blocking operation and zero CPU wait-states during transfers. I’ll structure the firmware with a clear HAL abstraction layer and a circular buffer interface to decouple hardware timing from your application logic. A critical hidden problem in custom STM32 boards is I2C bus lockup; I will include a GPIO-based recovery routine to clear the bus if a slave hangs the SDA line low. For the SPI implementation, I will specifically tune the GPIO output speed registers (OSPEEDR) to match your trace impedance, preventing the signal ringing and EMI issues common in high-speed custom PCB layouts. My focus will be on robust error-handling states for NACKs or collisions to ensure the host remains responsive under all bus conditions.
$50 USD 7 päivässä
4,2
4,2

Hi there, I’m 100% confident I can deliver this project with high quality and meet all your requirements. I reviewed your requirements and I’m a senior embedded engineer with 9+ years of experience developing STM32 firmware, including I2C/SPI drivers, low-level peripheral control, and production-grade embedded architectures. I’ve built multiple systems with clean driver abstraction, non-blocking state machines, and robust communication layers. Approach - I will design a modular firmware architecture separating HAL/LL drivers, middleware, and application layers - I will implement non-blocking I2C/SPI drivers (interrupt/DMA-based) with proper buffering, timeouts, and error handling - I will ensure correct GPIO, clock, and timing configuration for reliable signal integrity - I will expose a clean API interface for higher-level control without hardware complexity - I will provide well-commented code + markdown documentation and validation notes for timing/spec compliance I focus on readable, maintainable, and production-ready firmware. Questions - Target STM32 family (F1, F4, G0, etc.)? - HAL vs LL vs bare-metal preference? - Any specific throughput or timing constraints? Best regard
$50 USD 1 päivässä
3,3
3,3

⭐⭐⭐⭐⭐ This is a strong fit for my background. I work on STM32 firmware at the register/peripheral level and can build this as a clean, production-style communication layer, not just a quick demo. My approach would be: • bring up the STM32 I2C/SPI peripherals cleanly in STM32CubeIDE • implement a non-blocking state-machine architecture • separate low-level drivers, transport/buffering, and application-facing API • handle timeouts, retries, bus faults, and invalid transactions properly • document the code clearly so it is maintainable for shipping hardware Deliverables: commented .c / .h source files CubeIDE project ready to build and flash short getting started markdown basic validation notes/script for SPI timing and logic-level checks I can work in HAL or bare-metal. For long-term maintainability, I’d usually recommend HAL for bring-up with carefully structured driver layers on top, unless your timing constraints clearly justify a lower-level approach. Quick questions: • Which STM32 family/part number is on the board? • Is the device interface I2C, SPI, or both selectable? • Do you already have the target device register map / protocol spec? If you share the MCU part and interface details, I can estimate first-build turnaround accurately and keep the code clean enough for production handoff.
$30 USD 1 päivässä
2,9
2,9

I can develop clean, production-ready C firmware for your STMicroelectronics MCU that turns it into a reliable I2C/SPI host. With 5+ years of electrical engineering and embedded systems experience, I have hands-on expertise with STM32 MCUs, peripheral initialization, and robust driver development. My approach emphasizes maintainable, non-blocking state machines, clear separation between driver and application layers, and fully commented code. Your deliverables will include: Fully-commented C source and header files, compatible with STM32CubeIDE (HAL or bare-metal) A concise “getting started” guide for building, flashing, and testing on your board Notes and basic validation to confirm correct SPI/I2C timing, logic levels, and communication reliability I follow good embedded design practices to ensure your firmware is scalable, testable, and ready for production. First working build can be delivered in approximately 4–5 business days, with rapid iterations based on your feedback.I’d be happy to provide examples of prior STM32 I2C/SPI projects and discuss the pin configuration and board-specific considerations before starting.
$100 USD 4 päivässä
1,9
1,9

✅✅✅ STM32 Firmware & SPI/I2C Driver Engineer ✅✅✅ Hi there, I have strong experience developing STM32 firmware with robust SPI/I2C drivers, including register-level control, non-blocking communication, and production-grade embedded architectures. I’ve built clean driver/application layers with reliable buffering, timing control, and error handling. My approach is to implement a modular firmware structure using state machines, separating HAL/bare-metal drivers from application logic. I ensure precise SPI/I2C timing, interrupt/DMA-based transfers, and thorough validation for stable, scalable communication. A few questions: Which STM32 series and clock configuration are used? Do you prefer HAL or bare-metal? What are the SPI/I2C speed and timing requirements? I am ready to start immediately. Best regards
$30 USD 3 päivässä
2,7
2,7

Hey, I am ready when you are.✅ I’ve worked on something very similar. Developing firmware for STM32 SPI/I2C communication can be challenging due to the need for precise timing and reliable error handling. What really matters here is ensuring non-blocking state machines and clear separation between driver and application layers. I recently worked on a project involving STM32 MCU firmware development for SPI communication, focusing on efficient command interpretation and communication interface reliability. While I haven't specifically worked on I2C/SPI host implementation, I have extensive experience with similar low-level peripherals and protocols. Let's chat! -Ruslan
$150 USD 7 päivässä
0,0
0,0

Hello, I've reviewed your STM32 SPI Firmware Development project and I'm excited to offer my expertise. I understand the need for a clean, well-structured C firmware to transform your custom board into an I2C/SPI host, ensuring robust communication with clear documentation and adherence to embedded-design best practices. I recently completed a project developing firmware for an STM32-based system, implementing I2C/SPI communication with similar requirements. My experience with scalable backend systems and production-ready applications has honed my ability to deliver tight, reliable code. With over 7 years in building scalable systems, I possess strong skills in C programming, electronics, and microcontrollers, including extensive work with STM32. My background in developing applications that handle high-volume requests and complex integrations ensures I can meet your needs efficiently. I invite you to message me with more details. I will provide a detailed tailored proposal within 24 hours, showcasing how I can deliver high-quality firmware aligned with your specifications. Best regards.
$126 USD 5 päivässä
0,0
0,0

⭐⭐⭐⭐⭐ ✅Hi there, hope you are doing well! I have developed and deployed STM32 firmware for I2C and SPI communication on custom boards, ensuring fast and reliable register control and data transfer. The most important part for successfully completing this project is designing a non-blocking state machine that cleanly separates driver and application layers for maintainability and robust performance. Approach: ⭕ Use STM32CubeIDE with HAL or bare-metal C to develop clear, well-commented source and header files. ⭕ Implement a non-blocking state machine managing I2C/SPI protocols and GPIO configurations. ⭕ Create a reliable communication interface abstracting timing, buffering, and error handling. ⭕ Provide concise inline documentation and a markdown guide for building, flashing, and testing. ⭕ Deliver a basic validation script or schematic notes to verify SPI timing and logic levels. ❓ Could you please confirm which STM32 MCU model you are using? ❓ Any preference between HAL versus bare-metal approach? I am confident in delivering clean, production-ready STM32 firmware swiftly with thorough documentation to meet your shipping goals. Best regards, Nam
$200 USD 3 päivässä
0,0
0,0

Hi, im a stm32 specialist, firmware engineer, with a dozen projects conpleted(on UpWork). Used both I2C and SPI in many different contexts. So which mcu are you using exactly ? Do you have any time constraints to bridge between SPI/I2C? Available april 1
$250 USD 7 päivässä
0,0
0,0

Hi, I’m an embedded systems engineer with strong experience in STM32 firmware and low-level I2C/SPI driver development. You need to turn your **STM32-based board into a reliable I2C/SPI host with clean, production-ready firmware and proper abstraction layers**. I’ve worked on similar projects where robust communication stacks and non-blocking architectures were required for stable device control. **How I will approach this:** First, I’ll review your hardware setup (GPIO, clocking, connected device) and design a structured firmware architecture in STM32CubeIDE. I’ll implement non-blocking I2C/SPI drivers using state machines (interrupt/DMA-based), ensuring reliable register read/write operations with proper error handling and buffering. The code will be split into clear layers (driver + interface + application) so higher-level software can communicate without timing concerns. I’ll also validate SPI timing and signal behavior and provide a short guide for build, flash, and testing. One common issue in such designs is blocking communication or poor error recovery, which causes instability—I’ll ensure a fully non-blocking and fault-tolerant implementation. **Quick question:** do you prefer HAL-based drivers or a lightweight bare-metal implementation for tighter control? If this fits, we can start with peripheral bring-up and communication drivers as the first milestone, then move to full interface integration.
$50 USD 5 päivässä
0,0
0,0

Hey Hi, I can deliver a clean, production-ready firmware for your STM32-based board with a strong focus on reliability, modularity, and maintainability. I have hands-on experience developing I2C and SPI communication stacks on STM32 (both HAL and bare-metal), including register-level control, timing optimization, and debugging with logic analyzers. For your requirement, I will design a non-blocking state-machine architecture that cleanly separates: Low-level drivers (I2C/SPI, GPIO, clocks) Middleware (command handling, buffering, error recovery) Application interface (easy-to-use API for higher-level control)
$140 USD 7 päivässä
0,0
0,0

Chester, United States
Maksutapa vahvistettu
Liittynyt toukok. 27, 2004
$30-250 USD
$50 USD
$10-30 USD
$500-1000 USD
$250-750 USD
$10-65 USD
₹600-1500 INR
₹37500-75000 INR
$250-750 USD
$8-15 USD/ tunnissa
₹40000-250000 INR
$250-750 USD
$10-30 USD
₹10000-20000 INR
$30-250 AUD
$10-50 USD
₹600-1500 INR
₹37500-75000 INR
$30-250 USD
₹600-1500 INR
$250-750 USD
$250-750 AUD
€1500-3000 EUR
₹750-1250 INR/ tunnissa
$750-1500 USD