STM32 Firmware Engineer — CAN Bus + Automotive Steering Wheel Emulation Device

Posted last month

Only freelancers located in the U.S. may apply.U.S. located freelancers only

Summary

I've developed an inline harness device for Dodge/RAM vehicles that connects to the Steering Control connector with the goal of emulating steering wheel button presses. The hardware prototype is complete and in hand. I'm now looking for an experienced embedded firmware engineer to write the firmware for this device. WHAT THE DEVICE DOES The device emulates steering wheel button presses to automatically set the vehicle's transmission into ERS Manual Mode at gear M8 every time the driver puts the car into Drive. It does this by: - Monitoring the CAN C bus to detect transmission state changes - Taking temporary control of the resistance ladder lines at the C3 connector - Using a digital potentiometer to replicate specific voltage levels that correspond to Gear- and Gear+ button presses - Releasing control back to the driver after the sequence is complete MICROCONTROLLER STM32G431C6T6 FIRMWARE REQUIREMENTS 1. CAN Bus Monitoring - Configure FDCAN peripheral to filter and receive CAN ID 0x170 - Parse the bytes to determine transmission state (Park, Drive, M1–M8) 2. State Machine / Logic - When Drive is detected: take control of SC lines, send Gear +/- presses to reach M8, release control - Continuously monitor for state changes; re-execute sequence if vehicle exits and re-enters Drive - Confirm M8 has been reached by reading 0x38 on the CAN bus before releasing control 3. Button Press Emulation - Control the digital potentiometer over SPI to hit precise voltage targets on V71 and V72 4. Sleep / Wake - Monitor ADC on V71/V72 lines for low-power sleep/wake logic IDEAL CANDIDATE - Proven experience with STM32 microcontrollers (STM32CubeIDE) - Automotive CAN bus experience (reading/filtering frames, automotive protocols) - Familiarity with digital potentiometers and analog signal emulation - Experience writing embedded state machines - Ability to communicate clearly and work iteratively — this is a novel device and we'll likely need to test and tune together

  • Less than 30 hrs/week
    Hourly
  • 1-3 months
    Duration
  • Expert
    Experience Level
  • Remote Job
  • Ongoing project
    Project Type
Skills and Expertise
Mandatory skills
STM32
Microcontroller Programming
Activity on this job
  • Proposals:15 to 20
  • Last viewed by client:4 weeks ago
  • Hires:
    1
  • Interviewing:
    1
  • Invites sent:
    0
  • Unanswered invites:
    0
About the client
Member since Feb 7, 2022
  • United States
    Aurora11:44 PM
  • $5.4K total spent
    12 hires, 3 active
  • 63 hours
  • Individual client

Explore similar jobs on Upwork

ESP32
Kotlin
Bluetooth
Android
Firmware Programming
CH569 - bridge to USB3 SD and UART portFixed-price‐ Posted 4 weeks ago
Embedded Application
Microcontroller Programming
C
Embedded System
Firmware

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers earned on Upwork in 2020

Find the best freelance jobs

Growing your career is as easy as creating a free profile and finding work like this that fits your skills.

Trusted by

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo