Git Product home page Git Product logo

opens-ecu's Introduction

Open Source Electronic Control Module

This a SeniorProject implementation of an Electronic Control Module focused on the Fuel Management System of a small one cylinder EFI engine developed by EE & ECE students of The University of Texas at El Paso.

This project is an open source Electronic Control Unit focused on the Fuel Management System of a small (35.8cc) 1 cylinder 4 strokes Electronically Fuel Injected engine (Honda GX35) based on the "Honda GX35 Engine Fuel Injection kit" sold by ecotrons.com and its sensors included in its kit.

Hardware and SDK

The ECU features an Xtensa ® dual-core 32-bit LX6 Espressif's ESP32-S2-WROOM-32D development board microprocessor as the main controls system for the Fuel Injection System as well as the custom functionalities of the ECU.

The development board contains relevant features for the project such as:

  • 34 × programmable GPIOs
  • 12-bit SAR ADC. Up to 18 channels
  • 2 × 8-bit DAC
  • 3 × UART
  • CAN 2.0
  • Motor PWM
  • LED PWM up to 16 channels
  • Hall sensor

It is programed and flashed in C/C++ from a Debian based Linux distribution using Espressif's SDK and framework ESP-IDF In order to compile the project the ESP-IDF Toolchain and build tools are required. more information can be found in the Get Started guide.

The ESP32 runs on a FreeRTOS operating system whith lwIP for OS functionality implementation such as task registration, load distribution, semaphores, interrupt service routines, etc.

Resources:

Project preparation:

Before compiling the project and after the succesful installation of Espressif's toolkit please follow the next steps.

  • Open the terminal and navegate to your project's main direcotry
  • Run idf.py fullclean
  • After full clean command has finished, run idf.py menuconfig
  • Upon running menuconfig command, a menu is going to open on the terminal. Navegate it with the up/down keys and go to "Partition Table --->" and press enter
  • Make sure the name under Custom partition CSV file matches the name of the partition table file in the root directory of the project. (partitions.csv in this case).
  • Save sdkconfig file by pressing S and quit the menu by pressing Q
  • Lastly run idf.py build to compile the project and/or idf.py flash to compile and flash it into the ESP32. idf.py monitor can be used to connect to the "terminal-like" console developed to communicate with the ECU (to close the monitori push ctrl + ]).

Features

opens-ecu's People

Contributors

marcocrio avatar cacortespliego avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.