Speeduino is now on Github Sponsors (Rather than Patreon): https://github.com/sponsors/noisymime
For anything you'd like to see added to Speeduino
#50226
Hi Guy's,

I have designed a Teensy 3.5 Board which is capable to support additional analog inputs which are A10 and A11 including translating to be 5V tolerant.

Would be very cool seeing them supported in firmware so I'm able to use baro correction, Oil Pressure and Fuel Pressure inputs with teensy......

Thanx,

// Transi
Attachments
teensy_v2.PNG
teensy_v2.PNG (1.15 MiB) Viewed 591 times
#50237
transi wrote:
Tue May 11, 2021 12:40 pm
Hi Guy's,

I have designed a Teensy 3.5 Board which is capable to support additional analog inputs which are A10 and A11 including translating to be 5V tolerant.

Would be very cool seeing them supported in firmware so I'm able to use baro correction, Oil Pressure and Fuel Pressure inputs with teensy......

Thanx,

// Transi
Firmware already support A10/A11 just set the analog input to your desite analog pin you can choose from A0 to A15
#50268
transi wrote:
Wed May 12, 2021 3:18 am
as far as I have tested, yes Firmware supports A10 and A11 while using Mega 2560 CPU board, but not using teensy3.5....... nothing happens when selecting A10 or A11 with teensy 3.5.
I test on Teensy 3.5, and A10/A11 work fine, but I test with my custom board and I add this board on firmware. maybe you need to add the pin on the board you have selected.
like:
pinFuelPressure = A10;
pinOilPressure = A11;

Or add your custom board, just add a new switch case in the init.ino, around line 1182, setPinMapping void loop. Remember which number you used and add this in speeduino.ini for tunerstudio, around line 256, under "start page 1, pinLayout" add your board to the list. If you used switch case 8, find the 9th "INVALID" and replace it with your board name.
#50283
transi wrote:
Wed May 12, 2021 3:10 pm
OK, thanx, will try to add my board to the ini file and add A10 and A11 afterwards...... Hope I will be able to understand how the ini file works ;-)
Just for example, this is how I add board in init.ino:
Code: Select all
#if defined(CORE_TEENSY35)
    case 54:
      //Pin mappings for the R42 V0.1 board
      pinInjector1 = 39; //Output pin injector 1 is on
      pinInjector2 = 38; //Output pin injector 2 is on
      pinInjector3 = 37; //Output pin injector 3 is on
      pinInjector4 = 36; //Output pin injector 4 is on
      pinInjector5 = 43; //Output pin injector 5 is on
      pinInjector6 = 24; //Output pin injector 6 is on
      pinInjector7 = 25; //Output pin injector 7 is on
      pinInjector8 = 40; //Output pin injector 8 is on
      pinCoil1 = 14; //Pin for coil 1
      pinCoil2 = 13; //Pin for coil 2
      pinCoil3 = 5; //Pin for coil 3
      pinCoil4 = 6; //Pin for coil 4
      pinCoil5 = 35; //Pin for coil 5
      pinCoil6 = 34; //Pin for coil 6
      pinCoil7 = 11; //Pin for coil 7
      pinCoil8 = 12; //Pin for coil 8
      pinTrigger = 26; //The CAS pin
      pinTrigger2 = 27; //The Cam Sensor pin
      pinTPS = A1; //TPS input pin
      pinMAP = A13; //MAP sensor pin
      pinIAT = A11; //IAT sensor pin
      pinCLT = A9; //CLT sensor pin
      pinO2 = A5; //O2 sensor pin
      pinO2_2 = A3; //O2 sensor pin (second sensor)
      pinBat = A14; //Battery reference voltage pin
      pinBaro = A7; //Baro sensor pin
      pinOilPressure = A4; //Oil Pressure pin
      pinFuelPressure = A6; //Fuel Pressure pin
      pinVSS = 30; //VSS input pin
      pinTachOut = 51; //Tacho output pin
      pinIdle1 = 42; //Single wire idle control
      pinIdle2 = 29; //2 wire idle control
      pinBoost = 50; //Boost control
      pinFuelPump = 53; //Fuel pump output
      pinStepperDir = 49; //Direction pin for DRV8825 driver
      pinStepperStep = 45; //Step pin for DRV8825 driver
      pinStepperEnable = 44; //Enable pin for DRV8825 driver
      pinLaunch = 46; //Can be overwritten below
      pinFan = 52; //Pin for the fan output
      pinSpareTemp1 = A8; //spare Analog input 1
      pinSpareTemp2 = A10; //spare Analog input 2
      pinSpareLOut1 = 7; //low current output spare1
      break;
#endif
I add case 54 in line 2060 (firmware 202103)

And add board name (in this case I change the "INVALID" in position 55 remember star count with zero) in speeduino.ini just between JUICEBOX (case 53) and Drop Bear (case 55). line 256
Code: Select all
pinLayout     = bits,   U08,      15, [0:7],  "INVALID", "Speeduino v0.2", "Speeduino v0.3", "Speeduino v0.4", "INVALID", "INVALID", "01-05 MX5 PNP", "INVALID", "96-97 MX5 PNP", "NA6 MX5 PNP", "Turtana PCB", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "Plazomat I/O 0.1", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "Daz V6 Shield 0.1", "BMW PnP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "NO2C", "UA4C", "INVALID", "INVALID", "INVALID", "DIY-EFI CORE4 v1.0", "INVALID", "INVALID", "INVALID", "INVALID", "dvjcodec Teensy RevA", "dvjcodec Teensy RevB", "INVALID", "JUICEBOX", "R42 V0.1", "Drop Bear", "INVALID", "INVALID", "INVALID", "INVALID", "Black STM32F407VET6 V0.1", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
Aslo if your board have 8 injectors and 8 coils outputs, you need to made some changes to avoid Tuner Studio warning: "The board you have selected may not have enoug channels for sequential fuel"
Add 8 x 8 board in lines 1489,1490,1491,1492. (in this case I chage the "INVALID" in position 55
Code: Select all
;pinLayout     = bits,   U08,      15, [0:7],  "Speeduino v0.1", "Speeduino v0.2", "Speeduino v0.3", "Speeduino v0.4", "INVALID", "INVALID", "01-05 MX5 PNP", "INVALID", "96-97 MX5 PNP", "NA6 MX5 PNP", "Turtana PCB", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "Plazomat I/O 0.1", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "Daz V6 Shield 0.1", "BMW PnP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "NO2C", "UA4C", "INVALID", "INVALID", "INVALID", "DIY-EFI CORE4 v1.0", "INVALID", "INVALID", "INVALID", "INVALID", "dvjcodec Teensy RevA", "dvjcodec Teensy RevB", "INVALID", "INVALID", "R42", "DropBear", "INVALID", "INVALID", "INVALID", "INVALID", "Black STM32F407VET6 V0.1", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
    defaultValue = boardFuelOutputs,                4                 4                 4                 4                 4           4         4                 4         4                 4               4             4          4          4         4           4         4           4         4           4         4                   4           4         4           4          4          4         4           4         4           4                    6          4          4          4         4           4         4           4          4          4       4       4           4         4         4                     4           4         4           4         4                       4                       4          4          8          8          4           4           4         4         8                           4          4          4           4          4          4          4          4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4     
    defaultValue = boardIgnOutputs,                 4                 4                 4                 4                 4           4         4                 4         4                 4               4             4          4          4         4           4         4           4         4           4         4                   4           4         4           4          4          4         4           4         4           4                    6          4          4          4         4           4         4           4          4          4       4       4           4         4         4                     4           4         4           4         4                       4                       4          4          8          8          4           4           4         4         8                           4          4          4           4          4          4          4          4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4         4           4     
    defaultValue = boardHasRTC,                     0                 0                 0                 0                 0           0         0                 0         0                 0               0             0          0          0         0           0         0           0         0           0         0                   0           0         0           0          0          0         0           0         0           0                    6          0          0          0         0           0         0           0          0          0       0       0           0         0         0                     0           0         0           0         0                       0                       0          0          8          8          0           0           0         0         8                           0          0          0           0          0          0          0          0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0         0           0     
#50307
have added board to both files, everything else is working as it should, but A10 and A11 still doesnt work :-(

is there a point to activate teensy analog port in firmware prior to use them?

many analog ports are also usable as digital ports :?
Picture of the circuit below!

here is my entry in init.ino:

case 5:
//Pin mappings as per the Transi-Productions PNP boards
pinInjector1 = 8; //Output pin injector 1 is on
pinInjector2 = 9; //Output pin injector 2 is on
pinInjector3 = 10; //Output pin injector 3 is on
pinInjector4 = 11; //Output pin injector 4 is on
pinCoil1 = 40; //Pin for coil 1
pinCoil2 = 38; //Pin for coil 2
pinCoil3 = 52; //Pin for coil 3
pinCoil4 = 50; //Pin for coil 4
pinTrigger = 19; //The CAS pin
pinTrigger2 = 18; //The Cam Sensor pin
pinTPS = A2;//TPS input pin
pinMAP = A3; //MAP sensor pin
pinIAT = A0; //IAT sensor pin
pinCLT = A1; //CLS sensor pin
pinO2 = A8; //O2 Sensor pin
pinBat = A4; //Battery reference voltage pin
pinDisplayReset = 48; // OLED reset pin
pinTachOut = 49; //Tacho output pin (Goes to ULN2803)
pinIdle1 = 5; //Single wire idle control
pinIdle2 = 6; //2 wire idle control
pinBoost = 7; //Boost control
pinVVT_1 = 4; //Default VVT output
pinVVT_2 = 48; //Default VVT2 output
pinFuelPump = 45; //Fuel pump output (Goes to ULN2803)
pinStepperDir = 16; //Direction pin for DRV8825 driver
pinStepperStep = 17; //Step pin for DRV8825 driver
pinStepperEnable = 24; //Enable pin for DRV8825
pinFan = 47; //Pin for the fan output (Goes to ULN2803)
pinLaunch = 41; //Can be overwritten below
pinFlex = 2; // Flex sensor (Must be external interrupt enabled)
pinResetControl = 43; //Reset control output
pinBaro = A5;
pinVSS = 20;
pinWMIEmpty = 46;
pinWMIIndicator = 44;
pinWMIEnabled = 42;

#if defined(CORE_TEENSY35)
pinInjector1 = 8; //Output pin injector 1 is on
pinInjector2 = 9; //Output pin injector 2 is on
pinInjector3 = 10; //Output pin injector 3 is on
pinInjector4 = 11; //Output pin injector 4 is on
pinCoil1 = 31; //Pin for coil 1
pinCoil2 = 32; //Pin for coil 2
pinCoil3 = 30; //Pin for coil 3
pinCoil4 = 29; //Pin for coil 4
pinTrigger = 23; //The CAS pin
pinTrigger2 = 36; //The Cam Sensor pin
pinTPS = A2; //TPS input pin
pinMAP = A3; //MAP sensor pin
pinBaro = A5; //Baro correction input
pinIAT = A0; //IAT sensor pin
pinCLT = A1; //CLT sensor pin
pinO2 = A22; //O2 sensor pin)
pinBat = A4; //Battery reference voltage pin
pinOilPressure = A10; //Oil Pressure pin
pinFuelPressure = A11; //Fuel Pressure pin
pinTachOut = 28; //Tacho output pin
pinIdle1 = 5; //Single wire idle control
pinVVT_1 = 6; // Default VVT output
pinBoost = 7; //Boost control
pinFuelPump = 37; //Fuel pump output
pinStepperDir = 34; //Direction pin for DRV8825 driver
pinStepperStep = 35; //Step pin for DRV8825 driver
pinStepperEnable = 38; //Enable pin for DRV8825 driver
pinLaunch = 24; //clutch input for Launch/Flat
pinFan = 27; //Pin for the fan output
pinFlex = 2; //Flex Sensor (switch) input

#endif
break;


Thanx,

// Thomas
Attachments
circuit_a10_a11.PNG
circuit_a10_a11.PNG (62.56 KiB) Viewed 362 times
Auto Transmission Controller

That looks interesting. What trans have you te[…]

What is controlling the coil? are you driving it d[…]

IAT and A0 with trimpot

Got it, thanks

Setting crank trigger up

Your phone is not so good, or the blurring is from[…]

Still can't find what you're looking for?