Defining BETA Criteria (2020)
What to expect from NanoEFI at BETA.
= Done, Ready
= Actively in progress
= Planned in later software update.
- Single Cylinder
- Dual Cylinder V-Twin, 90°
- Dual Cylinder Straight Twin, 360°
Supported Trigger Sources (Crankshaft RPM / Position)
- Single-pulse Inductive Trigger
- Sensorless Raw Magneto Killwire (Single; 90° Twin)
- N-2 Pattern
- Single-cylinder Timed/720° Injection Scheduling (with positive phase sync)
- Fallback Single-cylinder Split/360° Injection Scheduling (if no means of phasing is available)
- Dual-cylinder Sequential Port Injection Scheduling
- Dual-cylinder TBI (Shared Injector) Scheduling
- External Wideband O2 Mode
- Narrowband O2 Mode
- Speed-density Mode
- Basic Self-learning / Autotune
- Timed Ignition, 720° adjustment (Single Cylinder)
- Wasted spark, 360° adjustment (Dual Cylinder)
- External CDI Driver
System Precision and Accuracy
- RPM Resolution: 1RPM
- RPM Accuracy: ±1RPM typical, ≤10RPM in specific conditions
- Injection pulse resolution: TBD
- Table value resolution: 0.4% (8-bit, 256 increments)
- 8 Analog Sensor Channels (SN1 to SN8, all 10-bit resolution)
- SN4 and SN6 Channels have 1K pull-up resistors (for 2-wire temperature sensors)
(Alternatively, 4 and 6 can be used for TWI / I2C external serial communication at a later time)
- Over and under voltage protection
- ESD Protection
- Battery Voltmeter (Dedicated channel “SN9”, Reads 0v to 22v max)
- SN5 can optionally be used to drive an external tachometer
- Direct Analog (0v - 5v): MAP, TPS
- Ratiometric (0.5v to 4.5v): Fuel or Oil pressure transducers
- NTC Thermisters (1K pullups/dividers on SN4 and SN6): CLT, IAT
- Oxygen: One-wire Direct Narrowband O2, External Wideband O2 Controller
- Switches: Manual toggles (polled, not interrupt-driven)
HICO/Injector Drivers (High Current Output)
- HICO1 and HICO2: Saturation mode
- HICO1 Only: Peak-and-hold mode
- Flyback protected
- Relay, solenoid, fan compatible (Max 6a per channel)
Quick guide to common inductive loads (and testing of each):
- High-Z Injectors (11 to 16 ohms): 1a to 1.5a
- Low-Z Injectors (down to 3 ohms): ~5a peak
- Heated O2 sensors: 1a - 3a
- Standard 43psi fuel pumps: 5a
- Relays: 0.2a each (can be run in parallel)
- 4-stroke phase detection
- Returnless fuel pressure regulation (PWM-based)
- Reverse polarity protection
- Secure SSL/TLS v1.2
- Secure Websockets
- Wireless Cloud Tuning (Requires an internet connection)
- Hotspot Mobile Tuning
- Data logging
- Engine profiles and tunes stored in the cloud
- Real-time Streaming Data View
- Gauges and Graphs
- Connect from remote location
- Multiple ECU devices registered per account
- Instant switching between devices/machines in live view
- Sealed ECU Enclosure
- American-made automotive cross-link wire (meeting SAE J1128 standards)
- Build LitePlacer machine for PCB assembly
- ECU assembly process + potting and related fixtures
- 28mm / 34mm Throttle Body
- In-box Instructions
NanoEFI’s trigger input channel is designed for sensors/signals in the +5v to +12v range. The ECU can accept signals higher than ±12v peak voltage, by use of an external resistor-diode pair (ask me about this if you think you need it). Up to ±250v has been successfully live tested with the 10 cent resistor/diode pair.
The signal should ideally be square. However, noisy signals directly from inductive sources (like your magneto’s kill wire) are acceptable due to some pretty neat signal filtering in nEFI’s software. Even with multiple rising edges per pulse, nEFI can accurately filter out the false edges and sync properly. This was a bit out of the way to develop, but pays off by keeping installation simple. Especially on smaller mass-produced engines with electrical systems which often aren’t made the best, or with any kind of electrical fidelity in mind.
So even if signals are a bit sloppy from the best trigger source on your engine, in many cases you won’t have to hassle with drilling or hacking in a dedicated crankshaft sensor/ring pair. Plus, you won’t need to pay extra for a sensor either, or have it fail on you. Cool, huh?
Signals which peak below +4v will not reliably work. Any negative component of the signal is blocked and not useful.
Using the injector drivers for other purposes
The two injector circuits are capable of driving devices other than injectors. This may be useful to you if only a single injector is needed for your project. In that case, the other driver can be used for all sorts of other inductive loads. Since they can serve purposes other than just running injectors, these two channels have been given a more generic label: “HICO”, short for High Current Output.
Each injector channel (two total) are designed to drive up to 6a @ 12v (72w) continuously. As of writing this, I still have more testing to do to confirm the max rating.
NanoEFI has a single ignition channel. It cannot drive a coil directly, instead it is intended to trigger/manipulate an external CDI. In many cases, the stock CDI from the machine is suitable.
By default, analog channels are read one-at-a-time on a set schedule, every 2.5ms, in round-robin fashion. If all 8 channels are used (default behavior), the read rate for any individual channel would be 50hz (50 reads per second). This is fast enough for most uses. Conversely, if only one channel is used, the read rate would be 400 per second. This may or may not be important to your specific application.
Scheduling of sensor reads at specific crankshaft angles per combustion cycle will be supported. I’ll follow up regarding the characteristics (or any limitations) of scheduled reads as the feature is implemented.
The read rate of sensors has no effect on live view in Airtune, even at 50hz it is much faster than live view. The refresh rate of data streamed in live view is determined by your ping/latency to the NanoEFI server, which is typically between 50ms to 100ms on a good connection (10 to 20 times per second).