The initial concept tests are out of the way and the Atmega328P has the green light. The focus for this version is to get the system working on a single breadboard, and at least running idle stable.
Version 0.1 Progress (Last update 9/8/2015)
Legend
- = Waiting for development / On temporary hold
- = In Progress
- = In Testing
- = Finished & Tested
- = Removed
Hardware
Sensor Input
- ✓ Trigger Sensor (RPM / CPOS)
- ✓ Pin protection (Half-wave Rectified | 4.8v Regulated)
- ✓ Tolerate up to 150vAC from trigger module
- ✓ Pass logic HIGH as low as 20vAC
- ✓ 4.8vDC maximum at pin
- ✓ Clean signal up to 250hz
- ✓ Pin protection (Half-wave Rectified | 4.8v Regulated)
- Throttle Position Sensor (TPS)
- Manifold Absolute Pressure (MAP)
- Intake Ambient Temperature (IAT)
WiFi ESP8266-12 Module
- ✓ Serial communication with Atmega328 chip
- ✓ Bi-directional line level shifter circuit 5v to 3.3v
- ✓ Tap in TX/RX/GND on FTDI cable view communication with the Arduino serial monitor
Operational Output
- Fuel Injector
- Injector Watchdog (555 timer?) to ensure signal to injector is killed if processor hangs
Status Reporting
- ✓ Serial Output over USB (was LCD)
Power Supply and Protection
- v0.1 circuit protection based on Speeduino.
The power supply circuitry will be stress tested for protection against transient voltage, spikes, etc in this application. Any improvements will be offered for contribution to the Speeduino project.
Software
Main Routines
- ✓ Internal tachometer (on Timer0 set to hardware interrupt)
- Calculated by micros() between each trigger signal (RISING edge)
- ✓ Output events scheduling (on Timer1)
- Tested to within 2° accuracy @ 12,000rpm (25uS)
- Set time-critical event outputs to high
- Clear Timer1
- ✓ Status reporting (on Timer2 – 10s interval)
- Main Loop
- Check for events expire using micros()
- Finish expired events
WiFi Remote Programmer Interface
- ✓ Firmware: AI-Thinker v0.21.0.0 / SDK 0.9.5
- ✓ SoftAP mode for basic WiFi Settings Setup (SSID, security settings, etc)
- ✓ Station (regular wifi client) mode for programming and NanoEFI software updates
- ✓ Accessible via web browsers on local network
- ✓ Internal HTTP Server
- ✓ Confirm UDP performance for possible data logging and/or live viewing on mobile devices
- Front end: User interface (HTML5/JS) (hosted online to save internal memory)
- File uploader form
- File handling on the Atmega328p
Note: List is non-exhaustive
This list doesn’t include every aspect of development, additional line items will continue to be added.