The basis of my version is the rugged ModICE enclosure, protected up to IP69k rating; pressure washer proof. It would enable the use of the device in harsh environments like boats, motorcycles, snowmobiles and other such vehicles. Pin budget of 60 should be sufficient, but I've queried Cinch about the specific 112 pin ECU header faceplate for availability in hobbyist batch sizes; such a header would allow the board to have all the features modern OEM control units have and then some. The enclosure is sealed, so all connections must be made through the faceplate connector; also air pressure sensors must be external, including ambient absolute pressure.
Unfortunately, many of the goals are counterintuitive with the DIY spirit. Since the enclosure is tamper proof too, so once the unit has been assembled, it won't be easy to take apart for modifications. Because you can't really expand much the capabilities later on, flexibility needs to be thought of in the design. The PCB will be a 4-layer, as it is desirable in this case for their superior noise immunity due to the uninterrupted ground and power planes and better routing possibilities for top and bottom layer signal layers, which can also use thicker traces. The downside is 4 layer boards can't be made at home, but they have become much more affordable to obtain in small quantities recently. Preferred choice of components is surface mount, through hole are to be used only when there is no alternative; notable example being the connector itself and the TO-220 parts. Component sizes are selected so they can be soldered manually though.
Here's my initial list of features:
Output:
- Twelve high power (IGBT) output drivers, used as follows:
- Six precision drivers for injection and ignition, four example configurations:
- 4 cylinders: 4 injectors, 2 ignition channels
- 6 cylinders: 3 injector pairs, 3 ignition channels
- 8 cylinders: Bank injection, 4 ignition channels
- Bank/batch injection and distributor ignition for more cylinders (injection load spread over several pins)
- 2 high current outputs for fuel pump and ignition/injection relay
- 4 PWM outputs with 16 bit precision (boost controller, power steering speed data, PWM-driven BAC, EGR, etc)
- Six precision drivers for injection and ignition, four example configurations:
- General purpose moderate current outputs (for LED indicators or external relay drivers)
- Malfunction Indicator / Check Engine light
- Shift cue light
- tach output
Input:
- Pulse:
- G and NE signals (opto and hall, no VR conditioning)
- Vehicle Speed Sensor
- Analog:
- Intake air temp
- Engine coolant temp / cylinder head temp
- Manifold Absolute Pressure (external sensor)
- Ambient Absolute Pressure (external sensor)
- EGT (dual channel for the benefit of V engine builders)
- EGO2 (narrow/wide band single channel)
- Flex fuel sensor
- TPS
- Knock (if not pre-conditioned)
- Any good cases for extra analog inputs?
- Binary:
- Map/Mode select; Street/Track power etc
- Extra load request (higher power demand from alternator, eg, when heaters, blowers, A/C is on; increases idle speed)
- User definable switches, internally debounced (eg launch control, datalog start/stop, datalog mark)
- Spark event detection (some ignition modules support this feature, perhaps expandable to ionic sensing once that's figured out)
Data IO:
- USB
- CAN (hoping for OBD-II output code!)
- ...Bluetooth? (there are OBD2-to-BT converters to be used with Android cockpit software.)
Electrical:
- 12V continuous
- Device ground (three pins)
- High-current (MOSFET/IGBT) ground (six pins)
- Return ground for sensors
- +5V for 3-wire sensors
The final tally for undefined function would be 11, which could used for GP switch inputs, GP analog inputs and GP transistor outputs; number of each should be decided.