Jump to content


  • Content Count

  • Joined

  • Last visited

Posts posted by HomebuiltRacing

  1. Well, the fragment with the conversion was copy-pasted from this datasheet: https://www.bourns.com/docs/automotive/datasheets/non-contact-steering-angle-sensor-type-6002.pdf

    I believe this sensor in fact transmits value "N", not signed integer and formula is indeed used to convert it.

    I also was using Bosch motorsport steering angle sensor document:  https://www.bosch-motorsport.com/content/downloads/Raceparts/Resources/pdf/Data Sheet_191153675_Steering_Wheel_Angle_Sensor_LWS.pdf

    Actual sensor is Bosch part from some Citroen C4 and although everything mostly similar to the info from datasheets above, some parameters are different. Among those is probably the scale for some reason, because in my case raw value changes exactly by 2816(which is 256*11) per one full 360 deg revolution, so considering that after around 780 deg in either side sensor throws error, I assumed that the range is the same and raw values should be 0...6101 and 65536...59435 for each respective side. I only checked 360 deg to each side though.

  2. Is there a way to convert values that are not exactly linear but change with some logic?

    Example - I have a Bosch steering angle sensor that transmits position and rotation speed over CAN bus. The conversion as per data sheet for similar sensor (multiplier is a bit different in my case, but logic is the same):

    Absolute Angle Position:
         • Signed (integer)
         • Angle position [degree] = N · 0.1, for 0 < N ≤ 32767 (N - digital value of the message) = (N-65536) · 0.1, for N > 32767

    So, for rotation to one side it goes from 65536 and down, and for other side - from 0 and up.

    In both cases value changes by only about 6000 (which represents 780 deg in each direction)


  3. 7 hours ago, Adamw said:

    Audio knock detection is very reliable, far less sensitive to mild changes in tune and will work well for most road car engines.  Yes, there are exceptions where audio knock detection doesnt work well (gravel rally cars and superbikes for example) but generally it is the best option for road car engines.  Like anything tuning related you need significant experience to get the most out of it.  

    Thank you for clarification and your understanding to overexcited beginners like myself :)

    Regarding audio knock sensing, can you advise any commonly available knock sensor with good known calibrations to start with? To be an upgrade for 97 Subaru with (fresh) 1-wire  sensor? I'm progressing with settings on my setup but I still can't rely on it 100% especially on high rpm where engine becomes noisy. Btw, is there different practical rpm limit for different sensors? Like if newer wideband ones are better in any way? Probably simple solution will be to get external knock box, but in my understanding it's basically the same thing but with fixed settings that someone did for specific sensor.

  4. From what I read by now there are OEM components these days that output signals that are ready to be used. Like Saab's Trionic 8 system. Ionisation module gets 4 ignition inputs from ECU an 4 inputs from ion sensing coils and generates three digital output signals to the ECU - knock and combustion event signals for cyl 1-3 and 2-4.

    With ionisation module and separate coils, I assume that this system it already can be used instead of external knock sensing device, for example. 

    I'm not sure if combustion signal is interesting and useful for other things instead of detecting misfires, but as I can see what people trying to achieve now is to use raw ion sensing signal processed by ECU to determine peak cyl pressures.

    I kind of suspect that right now I'm closing to the peak of Mount Stupid, but seeing what is being done now by diy community, with this technology in use theese days by many major manufacturers and being proven by Saab since 1993... I think it has good potential.

    I just tried to setup knock control on my Subaru and I understand that it's efficiency veeery dependant on settings. I'm closer to Valley of Despair with this one :))). First I had quite aggressive settings and it pulled a lot of timing because I got lots of noise up top. Now I sort of quiet it down so I can see anomalies that look like real detected knock events - I can't hear any knock via wideband knock sensor connected to headphones and confirm it. Up top engine is quite noisy so frankly I can't understand how anyone can hear anything there... Also I gave a problem with false knock on transitions or gear changes...

    Honestly, earlier I thought that getting good ECU with knock settings like windowing and stuff will be a silver bullet and can rely on it as a safeguard, but now I understand that it is only as good as (probably) the rest of the map is :)

    This system to me looks superior (in term of knock detection) because it's solely based on combustion process analysis and free of noise from other engine components. Other potential applications are just a bonus.

    I'm just a bit afraid to fry my ECU :unsure::D

  5. Just read about this technology and I'm excited. My understanding of the probmems is pretty basic of course, but It seems that it just needs some work work on software side to support certain smart coils / hardware and should be pretty usable. 

    I saw some open source projects experimenting with this quite successfully!

  6. 4 hours ago, HomebuiltRacing said:

    Leaving my test sketch aside, considering that I will be using analogRead() in Arduino to get the potentiometers values it  it looks like like I will need M=10 and O=1023 to receive 0...1023 raw values.

    Nope ) That was a bit stupid ))) 

    For 1:1 values you still need M=10, D=1 and O=10000 )

  7. 8 hours ago, Vaughan said:

    Have a look at the test calculator, in G4+ the values received from CAN are put straight into the variables raw memory. because the displayed values often have to show negatives and decimal places the raw memory has an offset from the real displayed value and is stored in a higher resolution.


    7 hours ago, Adamw said:

    Extending from Vaughan's info, the test calculate is your friend for working this out, often easier to do it by trial and error rather than trying to do the math in your head.

    So, everything works as intended, good news!

    I just was so excited to get it to do something that that I completely missed part of the process and replaced it with my expectations of how it should work :D

    Leaving my test sketch aside, considering that I will be using analogRead() in Arduino to get the potentiometers values it  it looks like like I will need M=10 and O=1023 to receive 0...1023 raw values. Or take some time and figure out correct values to translate straight to mm of shock travel.

    Thank you!

  8. Hi! 

    Trying to figure out CAN bus settings to add some extra analog channels to logs. ECU in WRX V1-V2 plugin. I wrote simple sketch for Arduino that sends four values via CAN in two frames of one stream. One value (x) is constantly changing from 0 to 4000 and back and others are x/2, x/4, x/8.

    Basically these (someday) will be replaces with suspension potentiometers values.

    I'm new no CAN bus stuff and Arduino, last time I wrote code was about 15 years ago :) So, sorry.. please bear with me.

    My CAN stream settings are below, frame 2 is the same but ID is 61


    So, my sketch also outputs via serial info that contains value (x) and 8 bytes of two CAN messages it sends, for example:

    potentiometer Value = 2380

    So, value 2380 should take bytes 1 and 2 in first frame and with 2380 = 94C in HEX, 9 and 76 (4C) look fine to me...

    I managed to receive data in ECU which is itself a huge milestone for me :) but, values are not the same..


    While sending 0...4000 I'm receiving -1000...-600.

    I can see correlation here, but what am i missing? shouldn't I receive exactly the same value I sent with multiplier, divider and offset set as per screenshot above?



  9. Yes, I understand. Funny enough, VSS wire from speedometer to ECU is also connected to external datalogger and central diff standalone controller, and while diff controller seems to see speed just fine, both ECU and datalogger show noisy signal which does correlate to speed... Attached are screenshots from PC log and from datalogger (together with GPS speed channel).

    I have v4 speed sensor for gearbox to try wire it directly to ECU, but this means ditching speedo cable and no readings on dash/odometer...

    Screenshot 2020-03-16 11.45.08.png


  10. Hi! I Have similar question. V2 car with speedo cable, all wired to run on v4 ECU. V4 plugin now. Speed is 0 without pull-up, but with pull-up switched on once car is moving readings are inconsistent and jumping +/- 50 km/h.

    With previous ECU (OEM v4 with daughterboard) speed readings were correct.

  11. Oh, got it. I just read somewhere in the manual that only some plugin ECUs have the sensor. Maybe I confused it with onboard MAP... Anyway.. good to know! So, this solenoid can be removed.. that's potentially one more pin in OEM header that could have been used...

    Thank you!

  12. Got car started on new ECU yesterday! Everything went pretty smooth and car started from the first try!

    Have couple of thoughts on how to re-arrange some of the inputs like. My MAF wire is currently IAT with external pull up and PS signal goes to temp 2 IAT channel.. So, I'll probably move MAF wire to Temp 2 and remove pullup to clean the wiring a bit and use some of the spare DI for PS switch...

    One thing I couldn't figure out is if there any output for pressure exchange solenoid? I had that whole setup disconnected a while ago, but now before the start I assembled it all together thinking that it would be one less thing to mess things up.

    Later I checked and as I understood there is no MAP sensor on board on this version of ECU, and I can't see any outputs assigned to pressure exchange solenoid that Subaru uses to get reference to barometric pressure... So how ECU gets BAP reference? From  my digrams I can see that solenoid should be on pin 8 as per Link diagram, but its not listed in pinout and I can't see shuch function assigned in base map anywhere...

  13. Yes, we discussed this with author of the board and it is working the way you said:

    "If you can send CAN messages to then receive the needed data, you would be able to get all the data you want. The speed data would require one message and you'd get back 4 speed values (assuming you use the 16-bit values which should be fine). For analog data, you can get up to 4 values per message and the same for AFR data (assuming you can use CAN data for it)."

     From what I've understood, sending CAN requests is possible with 4g+, is it? Or request-reply will introduce more lag and not optimal for lambda, for example?

    As I said, I plan to keep on IO extender all chassis and suspension channels that I want to analyse after track sessions... I just tired of stitching several logs together after each sesdion. It's time consuming and not practical. so I wanted to upgrade electronics and use benefits of can bus. At the same time I can't justify price of dash/logger to tie this all together. I was considering Race Capture and have some experience configuring it (my first experience with CAN in fact) and it's nice, AnalogX only provides 4 analog channels. And if you start on old analog car like GC8 getting all information to the bus can be expensive... That's when I started looking at DIY Autotune, where I poentially can get quite affordable Microsquirt, for example, and use it as IO extender. 


    Currently on my car I use ESL ECU (daughterboard for original ECU), RaceDAC logger which has 8 analog and 2 digital channels + g-sensor and streams data via Bluetooth, Bluetooth GPS and RaceChrono app on my phone that receives data from all Bluetooth devices and saves it in one log. So, if I want to log engine data, I need to do it from PC connected to the ECU and then somehow stich two logs with different formats and data rates together.

    I really like RaceChrono and in their latest build they added CAN communication, need to check that out, have big hopes on that :)

    Basically what I believe is possibe is Diy logger which will have gps, accelerometer/gyro, some analog/digital inputs and CAN functionality to get all data from ECU and send it via Bluetooth to RaceChrono. I've seen similar projects done before, but I need to learn a lot to be able to put something like that together and make it all work...

    Again, this may sound like something that is available on the market, but I can't justify paying 4-digit price for hobby track car project and I sort of like the DIY process :)

  14. Wow, this list is significantly extended compared to one I found from earlier messages on this forum!

    Looks great! If it works out I will be able to get lambda signal from CAN because that board can receive Innovate serial WBO stream and send it over can. So that way I can have one more analog input  in ECU and have digital signal from WBO controller to ECU without offsets... Unfortunately not the case for my inovate MTX EGT gauge since only WBO stream gets transmitted to CAN.. 

    Thank you! ordered my ECU and hope to test it soon! )

  15. It seems that my choice will be v3-4..

    So, I checked pinouts and these plug-in ECUs are indeed a bit limiting...

    I counted 2 inj and 2 ign outputs,  3 volt inputs and 4 Aux outputs inluding two DBW ones being not available... and one knock sensor input. Xtreme or Fury sound really good but I found great deal on PnP..

    I figured out that I can re-purpose some of the IO. like i'll probaly will be fine with 2 ign channels, currently I use IAT on MAF wire with external pullup, aux taken by ac clutch I can  use for something more useful in hot weather like intercooler spray or 0-5v signal for AEM WMI kit waiting for installation...

    so there goes another question, are there any in/out extenders that I can use to at least log all data on ECU?

    basically I want to keep all engine related sensors on ECU and extra sensors related to chassis or suspension - on CAN extension. Can I use something like TinyIOx for this? it uses megasquirt CAN stream: http://jbperf.com/io_extender/tinyIOx.html#

    Also, reading trough manual for v3-4 I noticed some errors like pin 13 is listed twice in pinout table and igniton 1 and 2 channels are assigned not only to pins 4 and 5 respectively as they should be as per subaru pinout, but also to pins 17 and 18 which, I believe, are empty. Is this for some purpose? 

    I  also couldn't confirm IAT on  pin 38, it's not listed in diagrams that I have and from what I heard GC8 does not have usable IAT sensor..  I had to install separate GM IAT followng manual for my ECU. My car has PS switch signal there, but it's Frankenstein. 

  16. Hi! Asking for advice which ECU to get.

    I'm choosing between Xtreme, Fury and PNP for v1-2 or v3-4 Subaru, are there major differences in terms of hardware?

    Long story is that I'm considering getting myself Link ECU for my GC8 Subaru.

    Car is used mostly for trackdays and local time attack competition in street class. I like to log different stuff and tired of doing it in three separate loggers including using PC to log my current ECU. And then going through stitching all the logs together to see the full picture. Car now has fuel, oil and brake pressure sensors, external DCCD controller, oil temp, EGT, WBO2 and none of these signals is currently used or logged by ECU (except log for wideband wired in place of stock narrowband signal). I wanted to add clutch switch, wheel speeds, suspension level sensors, some extra pressure and temp sensors. So basically I want to get new ECU for more inputs, possibility for further expansion via CAN and getting all data in one log. Wiring is modified and while the car was originally V1-V2 (with 4-channel COP ignition), now it's running on V4 ECU (2 channel batch-fire ignition) using patch harness adapter I made. intake manifold is also V3-4 including IAC, throttle, TPS etc. Originally I was thinking about Fury or Xtreme, but reading more now I'm  also looking at PnP versions for V1-V2 or v3-4. I can install wire-in ECU by modifying same patch harness I use now, which is fairly easy, or make completely new harness (original is 20+ years now..) which is interesting but may stall the whole project :)

    Plug for V1-V2 physically has more pins(does it matter?), 4 separate ign channels and one less adaptor harness is a good thing as well. But I can't understand if there is any difference in hardware of wire-in and PNP versions. 

    I see that Fury has on-board wideband controller but otherwise PNP versions seem to have more inputs/outputs and easier to install.

    Also, regarding logging capabilities… It seems that 4Mb in g4+ is quite limiting. Am I supposed to use external loggers via CAN to log longer race sessions, or should I wait for more powerful versions of G4X?

    Thank you!

  • Create New...