Automotive ECU Tester Dashboard Development
Worldwide
We are seeking a skilled freelancer to develop a dashboard for automotive ECU testing using Qt6/QML and Raspberry Pi. The project involves creating a user-friendly interface to monitor and control ECU parameters. The ideal candidate will have experience in Qt6/QML and Raspberry Pi, and be able to deliver a high-quality, efficient solution. The project is part-time and expected to last maximium 2 weeks Project Overview I am developing a simple prototype of an Automotive ECU Tester and require an experienced Embedded Software Developer to build a real-time graphical dashboard application for Raspberry Pi. The dashboard will be connected to an Arduino Mega Pro controller that acquires approx. 33 sensor data and ECU signals in real time. This is not a web application. The dashboard must be developed using Qt6/QML and optimized for embedded Linux environments running on Raspberry Pi Zero 2 W and newer Raspberry Pi platforms. The final system will be connected directly to an HDMI display and must boot automatically into the dashboard without requiring any user interaction. --- Mandatory Technical Requirements Software Stack: * Qt6 * QML * C/C++ * Raspberry Pi OS (Linux) * GPU-accelerated rendering using EGLFS * Hardware-accelerated animations * Serial communication via UART (between Arduino Mega and Rpi Zero 2W) The application must: * Run fullscreen * Run without a desktop environment * Launch automatically on boot * Output to any HDMI-capable display * Operate as a kiosk appliance No Electron, Chromium, Python GUI frameworks, web technologies, Flutter, or game engines. --- System Architecture Requirements The application must be designed using a modular component architecture. Examples: * Gauge.qml * VoltageMeter.qml * Indicator.qml * WaveformView.qml * InjectorAnimation.qml * CoilIndicator.qml Requirements: * Components must be reusable. * New gauges must be easily added. * New indicators must be easily added. * Layout changes should require minimal code modifications. * Future expansion should not require redesigning the UI. The goal is to allow future customization without advanced Qt programming knowledge. --- Communication Protocol Mandatory - The system must use a structured binary protocol. - Text-based communication is NOT acceptable. - Examples of unacceptable approaches: MAF=2.5,MAP=3.1,IAT=22,... Reasons: * Higher CPU usage * Slower parsing * Fragile communication * Poor scalability Required approach: * Packed binary data structure * Fixed packet format * CRC validation * Packet synchronization * Error detection The protocol must be fully documented. --- Arduino Mega Pro Firmware Firmware responsibilities: Analog Inputs * MAF * MAP * IAT * ECU Voltage * Sensor Voltage Digital Signals * 8 Ignition Coil Channels * 8 Injector Channels * Battery * Switch * Start Switch Button * ETC * Fan 1 * Fan 2 * Fuel Pump * IMMO+ * IMMO- * MRC+ * MRC- * IAC Stepper Signals Signal Processing * CKP acquisition * CMP1 acquisition * CMP2 acquisition Requirements * Timer interrupt architecture * Waveform buffering * Extensible code structure * Well-documented source code Preferred implementation: * Timer1 ISR * 10 kHz acquisition rate minimum However, I am open to suggestions that result in the betterment of the final prototype. --- Dashboard Features Analog Gauges Animated circular gauges: * MAF * MAP * IAT Voltage Displays Digital voltage meters: * ECU Voltage (0–25V) * Sensor Voltage (0–5V) Ignition Coils * 8 coil indicators * Positive state visualization * Negative state visualization * Firing animation Injectors * 8 injector indicators * Animated spray effect Digital Status Indicators * Battery * Switch * Start * ETC * Fan 1 * Fan 2 * Fuel Pump * IMMO+ * IMMO- * MRC+ * MRC- * IAC signals Waveform Oscilloscope: Display real-time scrolling waveforms for: * CKP * CMP1 * CMP2 The waveform display is a mandatory feature. Simple blinking LEDs are not acceptable. The oscilloscope should allow visualization of: * Missing tooth patterns * Cam synchronization * Timing relationships * Signal integrity And I am open to suggestions here too! --- ## Simulation Mode A complete simulation mode is required. The dashboard must operate without hardware connected. Simulation mode should generate realistic values for: * Gauges * Voltage readings * Coil activity * Injector activity * CKP waveform * CMP waveform * Status indicators Purpose: * Demonstrations * Development * Testing * Troubleshooting --- Debug Panel A hidden developer panel must be available. Activation: F12 key when the keyboard is connected to the Pi Functions: Analog Controls Manual sliders for: * MAF * MAP * IAT * ECU Voltage * Sensor Voltage Digital Controls Manual toggles for: * Coils * Injectors * Battery * Switch * Fuel Pump * IMMO * MRC * IAC * Fan outputs ### Waveform Controls Ability to: * Simulate RPM * Simulate CKP * Simulate CMP This feature will be heavily used during development and validation. --- ## Raspberry Pi Deployment Developer must provide: Auto-Boot Configuration * systemd service * automatic startup * watchdog-safe startup sequence Kiosk Configuration * no desktop interaction * automatic application launch * HDMI display support Performance Optimization Target hardware: * Raspberry Pi Zero 2 W The dashboard must maintain smooth operation and responsiveness on this platform. --- Deliverables Source Code Complete source code including: * Qt6/QML frontend * C++ backend * Arduino firmware Executables * Raspberry Pi ARM build * Ready-to-run deployment package Simulation Mode Fully operational simulation mode ### Debug Panel Integrated debug interface ### Deployment Scripts * Installation scripts * Startup scripts * systemd configuration ### Documentation Comprehensive documentation including: 1. System Setup Guide 2. Communication Protocol Specification 3. Dashboard Architecture Guide 4. Adding New Sensors and Components Guide 5. Simulation Mode Guide --- ## Required Experience Applicants should demonstrate experience with: * Qt6 * QML * Embedded Linux * Raspberry Pi * Real-time serial communications * Automotive or industrial systems * GPU-accelerated embedded UI development Please provide: * Relevant portfolio projects * GitHub links (if available) * Examples of Qt/QML dashboards * Examples of embedded Linux projects
$300.00
Fixed-price- IntermediateExperience Level
- Remote Job
- Ongoing projectProject Type
Skills and Expertise
Activity on this job
- Proposals:5 to 10
- Interviewing:0
- Invites sent:0
- Unanswered invites:0
About the client
- United Arab EmiratesSharjah11:21 PM
Explore similar jobs on Upwork
How it works
Create your free profileHighlight your skills and experience, show your portfolio, and set your ideal pay rate.
Work the way you wantApply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
Get paid securelyFrom contract to payment, we help you work safely and get paid securely.
About Upwork
- 4.9/5(Average rating of clients by professionals)
- G2 2021#1 freelance platform
- 49,000+Signed contract every week
- $2.3BFreelancers 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