Embedded Software Engineer Touchscreen GUI & UI Firmware for Dual Source Logic Controller (C/C++)

Posted 1 hour ago

Worldwide

Summary

*Job Title:** Embedded Software Engineer – Touchscreen GUI & UI Firmware for Dual-Source Logic Controller (C/C++) **Job Description:** We are seeking an expert Embedded Systems Firmware Developer to write a from-scratch, highly secure control script for a new, domestic power routing module. The system manages selective power switching between two distinct, high-voltage incoming sources (Source A and Source B) to feed a heavy residential storage application based on real-time user-defined profiles and sensor thresholds. The software must be written natively from a plain-English logical switching manifest derived from our utility patent portfolio. No legacy code will be provided. This is a strict "clean-room" development project. ### Core Project Requirements: 1. **Sensor Processing:** Write stable logic to process real-time analog data inputs from a dedicated 3.2mm analog temperature probe nested inside a fluid storage well. Imbue the logic with moving-average filtering to eliminate sensor noise and signal drift. 2. **Touchscreen UI & Engine Mapping (Phase 1 Focus):** The firmware must drive an SPI-connected small color TFT/LCD touchscreen panel to display real-time dual-source telemetry and status configurations: * **Global Dashboard Variables:** Display the current time and live sensor temperature readings using a high-visibility layout at the top of the interface canvas. * **Asset Status 1 (Source A Input):** Monitor and display real-time incoming voltage and calculate live power in Watts. Apply a dynamic, multi-state status indicator depending on whether the path is actively conducting or idling. * **Asset Status 2 (Source B Input):** Monitor and display real-time input line voltage and calculate live power draw in Watts. Apply a dynamic, multi-state status indicator depending on whether the path is actively conducting or idling. 3. **Core Local Process Control Logic:** Program a configurable, local "User Profile Map" adjusted via basic on-screen touchscreen arrows or inputs that dynamically shifts the system between output states based on temperature: * **Hysteresis Loop:** Implement a strict, local thermostat-style hysteresis loop (deadband width) tracking the core probe to manage load cycling. * **Manual Boost Mode Trigger:** Implement a manual touchscreen "Boost Mode" button. When tapped, the controller overrides standard baseline constraints, instantly engaging the backup power path to supply full power to the load on a hardcoded, user-selectable countdown window. 4. **Overcurrent & Thermal Safety Failsafes:** Implement a high-speed logic loop that constantly calculates load demands via an on-board current-sensing shunt chip. If the calculated load crosses our safety ceiling or the temperature probe exceeds a hard safety limit, the firmware must instantly drop all output control pins to enter an absolute state of rest. ### Required Deliverables & Security Controls: * Clean, well-commented, modular C/C++ source code targeting an **STMicroelectronics STM32** (or similar ARM Cortex-M) 32-bit microcontroller platform. * **Architecture for Future Smart Home Scaling:** Structure the microcontroller’s menu system and memory map using a standardized, register-based serial data framework (such as Modbus or a standard UART/SPI register command matrix). This ensures that an auxiliary wireless communication daughterboard can be seamlessly integrated directly onto the communication pins down the road without requiring a total rewrite of our core switching logic. * **Firmware Silicon Lock:** The developer must deliver the complete script setup configuration required to activate **Readout Protection (RDP) Level 2** on the target chip during the flashing assembly phase, permanently blinding the microcontroller's debugging ports to prevent downstream code extraction.

  • $1,500.00

    Fixed-price
  • Expert
    Experience Level
  • Remote Job
  • One-time project
    Project Type
Skills and Expertise
Mandatory skills
C++
C
Embedded System
Microcontroller Programming
Activity on this job
  • Proposals:15 to 20
  • Last viewed by client:1 hour ago
  • Interviewing:
    0
  • Invites sent:
    0
  • Unanswered invites:
    0
About the client
Member since Jan 20, 2022
  • United States
    Yuma7:40 PM
  • $3.3K total spent
    5 hires, 4 active
  • 32 hours
  • Individual client

Explore similar jobs on Upwork

Embedded C
STM32
ARM Cortex-M
Microcontroller Programming
Embedded System
Electronics
Image Processing
MATLAB

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