Project SPECTRE (Speeduino PrintEd Circuit board TjeeRdiE). This is a PCB with the hardware to run speeduino on a STM32F407VE6T board from ebay. (Or a STM32 BLACK_F407VE as it is sometimes called).
Schematics and more information on the cpu board can be found here: (https://github.com/mcauser/BLACK_F407VE)
The case with connectors can be found here: https://nl.aliexpress.com/item/32839361268.html?spm=a2g0z.12010615.8148356.7.1da330edPBhz16
Latest version is 0.5.2
A stand alone Peak and Hold injector driver board is now in a seperate repository. See: https://github.com/Tjeerdie/Peak-And-hold-Driver
Take a look at the very informative manual for speeduino: https://speeduino.com/Speeduino_manual.pdf
There is a difference for the TPS with respect to the manual. The TPS must be fed by 3.3V and not 5V like the other speeduino boards. For best performance it is better to wire all the grounds of the sensors to the GND pins and not use the PWR_GND or carchassis for this.
How to load the firmware to the STM32 see: https://speeduino.com/forum/viewtopic.php?f=13&t=1914&p=26572#p26572
The TS Mapping column is the pin you enter in the "Local Auxillary Input Channel Configuration" when repurposing the input pins for another purpose (example: oil pressure sensor): https://speeduino.com/forum/viewtopic.php?f=14&t=2809
Pin# | Function | Alternative | Switch | Tuner Studio Mapping |
---|---|---|---|---|
1 | GND_PWR | |||
2 | GND_PWR | |||
3 | 12V_ECU | |||
4 | 12V_ECU | |||
5 | INJ_CH8 | 66 | ||
6 | INJ_CH7 | 67 | ||
7 | INJ_CH5 | 62 | ||
8 | INJ_CH6 | 64 | ||
9 | IDLE1-OUT | STEP_1A_OUT | JP5 | |
10 | BARO | A9 | ||
11 | Spare_2_out | Step_2B_OUT | JP6 | 71 |
12 | Spare_1_Out | Step_1B_OUT | JP7 | 72 |
13 | IGN_CH1 | |||
14 | 02_2 | A4 | ||
15 | FAN | |||
16 | IDLE2-OUT | STEP_2A_OUT | JP8 | |
17 | IAT | |||
18 | IAT_2 | A0 | ||
19 | FUEL_PUMP | |||
20 | CLT_2 | A1 | ||
21 | RS232_TX | |||
22 | GND | IGN5-OUT | JP18 | |
23 | O2 | |||
24 | INJ_CH4 | |||
25 | MAP | |||
26 | GND | IGN6-OUT | JP16 | |
27 | CLT | |||
28 | INJ_CH3 | |||
29 | CANH | |||
30 | GND | |||
31 | IGN_CH2 | |||
32 | INJ_CH1 | |||
33 | GND | |||
34 | RS232_RX | |||
35 | TPS | |||
36 | IGN_CH3 | 24 | ||
37 | 5V | |||
38 | FLEX_IN | |||
39 | VR2- | |||
40 | IGN_CH4 | 34 | ||
41 | VR2+ | |||
42 | VR1- | |||
43 | VR1+ | |||
44 | INJ_CH2 | |||
45 | CANL | |||
46 | 3.3V | |||
47 | BOOST-OUT | |||
48 | TACHO-OUT |
There are 12 jumpers on the board to set/change various hardware configurations to suit your needs. with a sharp object scratch away the default bridge and use a solder bridge between the alternative configuration pins. The pull up resitors (JP1/JP4) are briged vs non bridged and no need to skratch anything away.
JP# | Function | Default | Alternative |
---|---|---|---|
1 | Halleffect Pullup resistor | Not Conneced | Connected |
2 | Halleffect or VR input VR1 | VR | Hall |
3 | Halleffect or VR input VR2 | Hall | VR |
4 | Halleffect Pullup resistor | Not Conneced | Connected |
5 | STEP_1A_out or IDLE1-OUT | IDLE1-OUT | STEP_1A_OUT |
6 | Spare_2_out or Step_2B_OUT | Spare_2_out | Step_2B_OUT |
7 | Spare_1_Out or Step_1B_OUT | Spare_1_Out | Step_1B_OUT |
8 | IDLE2-OUT or STEP_2A_OUT | IDLE2-OUT | STEP_2A_OUT |
10 | Tacho out voltage | 5V output | 12V output |
15 | Flex fuel or Boot0 in | Flexfuel | Boot0 |
16 | Ignition 6 or GND | GND | IGN6 |
18 | Ignition 6 or GND _ | GND | IGN7 |
Information for board assembly and choosing components.
The hardware serial port 1 is shared between bluetooth and RS232 output on the ECU connector. So that means you can only build it with the bluetooth module in place OR the max232 ic in place not both! That will break the communication.
Dont forget to configure the bluetooth module to use 115200 bps baudrate using the HC-05/HC-06 AT commands.
If you want your main/Tuner studio communiation to use the hardware serial port 1 (So bluetooth or RS232 on the ECU connector). Build the speeduino firmware in the arduino IDE with no "usb support" -> "None". In that case it will default to use hardware serial 1 as the communication.
If the bluetooth comms are not working and you are using a HC-05 or HC-06 module (both are 3.3v so its safe to direcly connect to the MCU). For V0.5.2 of SPECTRE [R37,R38] can be replaced by 0 ohms. For V0.5.3 [R38] can be replaced by 0 ohm.
If you build the board with the injector driver mosfets to be BSP78 [Q10,Q11,Q13,Q14,Q18,Q19,Q20,Q21] you can leave the bzx84C39 + 1N4148 out [33,D34,D35,D36,D37,D38,D39,D40,D41,D42,D43,D44,D45,D46,D47,D48]. These are used for clamping, but the BSP78 has internal clamping. You can use other mosfets with SOT223 footprint in place of the BSP78. If these are not clamped or reptetative avalanch rated use the clamping diodes to keep them in spec.
Note: This workaroud is no longer working. There is no solution yet.
Here is a scription how to use one of the analog spare inputs (IAT_2 = ECU pin 18) as VSS input for speeduino. This can be a hall type sensor or a porximity sesnsor. it can NOT be a VR type sensor
- Remove C2 and C4 from the board
- On the MCU pin headers of the board connect PA0 to PA2 with a bit of solder
- in Tuner Studio select pin 50 (PA2) for the VSS input pin.
PA0 (pin 48 in TS) can not work as VSS pin because of conflicting interrupts with the crank sensor (PE0)
The following functions have been tested and confirmed to be working on a volvo B230FK redblock engine. This a 4 cylinder engine with small turbo. A VAG wasted spark coil with internal drivers is used as ignition
VR2 input (Trigger 2) [OK]
Halleffect trigger input (Trigger 1) [OK]
VR1 input (Trigger 1) [OK]
Halleffect trigger input (Trigger 2) [OK]
Manifold Absolute pressure (MAP) [OK]
Injector outputs [OK]
Lambda sensor (O2) [OK]
Throttle position input [OK]
Bluetooth module (PA9,PA10) [OK]
Battery voltage reading [OK]
Ignition outputs [OK]
Fuel pump relay [OK]
FAN relay [OK]
PWM idle output [OK]
Coolant temperature (CLT) [OK]
Inlet Air Temperature (IAT) [OK]
RS232 TX [OK]
RS232 RX [OK]
BOOST output [OK]
Stepper idle output [OK]
TACHO out [OK]
BARO
CAN bus TX
CAN bus RX
FLEX fuel input
Coolant temperature (CLT_2)
Inlet Air Temperature (IAT_2)
Lambda sensor (O2_2)
This project is licensed under the GNU GENERAL PUBLIC LICENSE - see the LICENSE.md file for details