Juice Box is an open-source, programmable ignition controller designed around the Speeduino project. It is a DIY/low-cost alternative to mainstream ignition controllers on the market with the advantage of having additional IO for logging & tuning purposes.
The PCB measures 119 x 80mm and is designed to fit in the Hammond Manufacturing 1457 series enclosure which can be specified with mounting flanges. PCB design and schematics can be found on EasyEDA.
Features:
Additional IO on the board helps support other functions. For example, O2 sensor readings can be used for carburettor tuning or the coolant temperature input can be used for controlling the radiator fan.
Most of the components on the PCB are SMD, 0603 size. While these are very small, they are still manageable for DIY assembly. There are hundreds of videos online showing various techniques. Alternatively, boards can be ordered populated with surface mount components provided the BOM and pick and place files are correct. JLC PCB offer this service at very reasonable prices and ship to most countries.
The purpose of the power supply is to provide a stable 5V to the Teensy and bias for the analogue inputs. The board is designed to work with a switch-mode power module due to their high efficiency and no requirement for a heat sink but shares the same pin-out as traditional linear voltage regulators. The LM7805CV will work for example.
The board has three test points. One for the 5V supply from the regulator. A second for the crank signal after it has been conditioned by the MAX9924 which should help with diagnosing crank position sensor issues. The third is for the tacho output signal.
Current version of the board is v1.7. This adds an onboard in CAN bus transciever and changes to the GPIO circuitry which allow the use of analogue inputs on those pins. It also adds a switch to bypass the Variable Reluctance sensor amplifer for usage of a hall-effect sensor for crank position and a switch to supply the ignition outputs with either 5V or 12V.
24-way Molex connector pin-out:
Molex Pin | Teensy Pin | Function | Molex Pin | Teensy Pin | Function |
---|---|---|---|---|---|
1 | A5 | Coolant temperature input (CLT) | 13 | 36 | General-purpose 1 input (GPIO1) |
2 | A4 | Auxiliary sensor 2 input (AUX1) | 14 | 35 | General-purpose 2 input (GPIO2) |
3 | A3 | Auxiliary sensor 1 input (AUX2) | 15 | 34 | General-purpose 3 input (GPIO3) |
4 | A2 | Throttle position sensor input (TPS) | 16 | 33 | General-purpose 4 input (GPIO4) |
5 | A1 | Inlet air temperature (IAT) | 17 | 29 | Ignition coil 1 output (IGN1) |
6 | A0 | O2 sensor input (O2) | 18 | 30 | Ignition coil 2 output (IGN2) |
7 | GND | Ground (GND) | 19 | 31 | Ignition coil 3 output (IGN3) |
8 | N/A | VR+ | 20 | 32 | Ignition coil 4 output (IGN4) |
9 | N/A | VR- | 24 | 21 | Fuel pump output (FPO) |
10 | 28 | Tach output (TACH) | 22 | 25 | Cooling fan output (CFO) |
11 | N/A | 5V analogue reference output (5VREF) | 26 | 23 | High-current output 1 (HC1) |
12 | N/A | 12V input (+VE) | 27 | 24 | High-current output 2 (HC2) |
The MAP sensor used is the MPX4250 which has a 5mm barb. Most 6mm OD tubing will fit. The Bluetooth antenna uses a standard SMA connector.
I recommend taking some time to read through the Speeduino wiki since most of the relevant wiring is identical to Juice Box (observing the pin-out above). A few notes on the other inputs and outputs:
These can be used like any of the other analogue inputs. Either a 2-wire (signal and ground) or 3-wire (5V reference, signal and ground) can be used.
General-purpose inputs are also now analogue inputs from board revision v1.7. They are also connected to the TVS for protection. With the right choice of resitors, they can also be made to work as digital inputs.
These 4 outputs are sinking which means one side of the device you are trying to switch is connected to the positive supply, the other is connected to the output pin on Juice Box. When the output is enabled, the pin is connected to ground, completing the circuit to the device. High current outputs are capable of switching 10 amps. If you need to switch more or need to switch the positive side of a device, a relay can be added to the circuit.
The tachometer output is a 12V signal pulsed for each spark event (2 per revolution on a 4 cylinder, wasted spark configuration).
LED Label | Meaning |
---|---|
LED1 | Power on |
IGN1-4 | Ignition outputs |
LED2/LED7 | Bluetooth status/programming |
Configuration is via TunerStudio. Tuner Studio is a fully-featured EFI analytics and tuning application but is compatible with Juice Box for configuring ignition and sensor settings. Refer to the Speeduino Wiki pages for more detailed information on configuring TunerStudio.
Mobile apps such as Shadow Dash and Real Dash offer Bluetooth connectivity via mobile for logging. MSDroid can be connected for full functionality via an OTG USB cable.
The PCB accepts an HC-05 or SPP-C Bluetooth module. Before a new HC-05 module can be used, it must be programmed with a baud rate of 38400. The easiest way to program a module is to assemble the board and use the Teensy to program it.
#include <SoftwareSerial.h>
SoftwareSerial mySerial(9, 10); // RX, TX
void setup()
{
Serial.begin(9600); // Serial monitor
mySerial.begin(9600); // Bluetooth module (38400 for programming mode if using an HC-05)
}
void loop()
{
if (mySerial.available())
{
Serial.write(mySerial.read());
}
if (Serial.available())
{
mySerial.write(Serial.read());
}
}
AT
and the HC-05 should respond with OK
AT+UART=115200,0,0
to set the baud rate to 115200, the stop bit to 0 (1-bit) and the parity to 0 (none)AT+NAME=
and the password with AT+PSWD=
For more information on the HC-05 module, see this PDF
The board has provision for an external antenna to improve the range. This is exposed via a solder pad, T1. To connect the external antenna, a short length of wire needs to be soldered between the existing module antenna and pad T1. Ideally, with the existing antenna trace cut near the start.
Juice Box is open source and has been developed with DIY enthusiasts in mind. It is available for anyone to duplicate or modify according to the GPL 3.0 license. Juice Box is not officially affiliated or endorsed by the creators of the Speeduino project.