• Protip: Profile posts are public! Use Conversations to message other members privately. Everyone can see the content of a profile post.

Early Turn Signal Cancellation - Its Unfixable!

Joined
3 November 2011
Messages
3,393
Location
Saskatchewan, Canada
There have been lots of threads on the early turn signal cancellation problem when turning left. The common remedy was take the cancellation unit out and clean the contacts on the attached switch which is used to monitor the rotation of the steering wheel. I did that on my car back around 2012 and it didn't really make any improvement. After putting up with the problem for close to 8 years, I decided to have a closer look at the switch and the cancellation unit to see if there was something fixable. I removed the cancel unit and the attached switch assembly so that I could bench test it.

The switch assembly consists of two switches; A and B operated by a cam on the steering shaft. When you turn the steering wheel the switches operate in a sequence. The following is the sequence for turning left (turning right just switch A and B). The service manual describes the switch operating sequence indicating that when you go all the way through this sequence and reach the 8th step in the sequence (0X), this is when cancellation occurs. The implied operation is that cancellation will not occur until you have completed the full sequence which requires that you turn the steering wheel more than 120 deg and then return to less than 90 deg so that you have more than 30 deg of dead rotation (more than 120 to less than 90) where steering corrections will not cause a cancel (the angles are approximate).

A B
0 0 (straight ahead / less than 60 deg rot)
0 X (60 deg rot)
X X (90 deg rot)
X 0
0 0 (120 deg rot)
X 0
X X
0 X (90 deg - this is when cancel occurs)
0 0

The cancel unit has a relay in it which briefly closes to energize the release solenoid in the turn signal switch. On the work bench with the cancel unit powered up I ran through the switch operation sequence above where X indicates contact closed. The cancel unit operated exactly as described with the relay not operating until the 8th step. I tested in both directions and operation was exactly as advertised. This suggested that the electronics in the cancel unit was not suffering from a partial failure (visual inspection of the board showed no soldering / trace / capacitor issues). I then attempted to emulate the early cancellation problem that occurs on a large radius sweeping left hand turn where the steering wheel may never get much past 90 deg. The switch sequence was:

A B
0 0 (straight ahead / less than 60 deg rot)
0 X (60 deg rot)
X X (90 deg rot)
0 X (60 deg rot)
0 0

and sure enough the cancel unit would initiate a cancellation when it hits the 4th step. It does this for both the left and right hand turn sequences, its just that the early cancel problem is less obvious on a right hand turn. On initial investigation, it appears that whenever the cancel unit encounters the following sequence

X X (90 deg rot)
0 X (60 deg rot)
0 0


it will initiate cancellation. So, you turn the wheel to 90 deg and in steering if you rotate back to 60 deg during a correction it will cancel - the early cancel problem.

I don't know whether this is as designed and Honda did not elaborate on this in the service manual or there is a glitch in the logic table in the cancel unit which allows this operation. The cancel unit is constructed from very conventional Toshiba CMOS logic gates (TC4584, TC4538, TC4013). I wanted this to be a quick turn around project since I didn't want an extended down time on the NSX. I removed the switch and did the bench test one evening and had it back in the car the next day when it became apparent that this was a design problem, not a repair problem. This didn't allow for the time to reverse engineer the cancel circuit by tracing out the circuit board and fabricating a schematic which would then allow the creation of a truth table to determine where the logic glitch was that allowed the early cancel (or whether it was an obvious designed in feature).

Since this appears to be more of a design issue, if you want to emulate the full 120 deg of rotation sequence described in the service manual I think the better solution would be to replace the guts of the turn signal unit with a micro controller. Something like a Teensy would definitely work (but be computational over kill). An ATTiny would definitely have the power to implement the algorithm and is available as a one board controller for about $5. The only limitation is that the Tiny only has 4 dedicated A/D I/O unless you repurpose the USB I/O (which is permissible) that gives you a total of 6. The cancel unit has 4 inputs (A and B switches and right and left turn indication) and one output (relay). You would need some additional bits, diodes, couple of resistors, a relay and a circuit board for everything; but, cost wise it should be around $20. For beta testing it would be nice to have the USB port so that you could reprogram the controller without having to take thins apart. One of the things you could do with a controller is put in a minimum timer over ride so that one the contacts entered the XX state the unit could not initiate a cancel for X seconds which might help with things.

I haven't had to work with logic gates and truth tables since 1981 (notice the term had not opportunity - not my favorite activity). This winter if I am so inclined I might take a run at writing the code to work with the complete turn signal sequence in a Tiny or a Teensy.

Note that if your turn signal switch is dirty or the traces on the board in the switch that form the contacts are starting to wear at the tips this could make the problem worse. However, my switch is 20 years old / 75+ thousand miles and the contacts were showing no visible wear. Unless your operation has become really bad I would not be yanking the unit out to do a test clean. If your signals are failing to cancel completely it is possible that the switches have failed; but, its more likely that the actual relay in the cancel unit has failed (which is replaceable) or that the cancel solenoid in the turn signal switch has failed (mega $ to fix since the turn signal switch is only available as part of the combination switch on later cars).
 
Last edited:
Pics and measurements of the components?

It may be that Honda uses this system on other vehicles and may have corrected the problem?
 
I hope you're going to NSXPO 2021. I need to meet you:smile:. Your attention to detail is making my OCD seem kindergärtner. Always happy to read what you think.
 
guys like Old Guy keep prime special...:cool:
 
[MENTION=26435]Old Guy[/MENTION] great info as usual. My 92 has the early cancellation and I cleaned the contacts. I was contemplating simply replacing the cancel unit, since my steering column/combo switch is sitting on my bench right now. But, if it's really just replacing a relay, is that an option? Where is the relay located?
 
Pics and measurements of the components?

It may be that Honda uses this system on other vehicles and may have corrected the problem?

Here is a picture of the 'box', which isn't particularly helpful.

https://www.ebay.com/itm/1991-05-Ac...noa=1&pg=2047675&_trksid=p2047675.c100623.m-1

On the early cars the cancel unit was available separately with the part # 35285-SL0-A01. That unit is NLA in North America (unless you buy the complete switch / column unit for around $2200 Cdn $); but, Amayama lists it as available for about $220 Cdn$ and lists it as being applicable to all NSXs up to 2001. So, no apparent revisions between 1991 - 2001 to the module. I didn't check the 2002 - 2005 cars for revisions; but, I will bet that Honda did not 'correct the problem' in 2002+ versions. My cancel unit did not have a Honda part number on it. There was a sticker on the outside with the number A0202076 in hand writing on the sticker.

The Amayama site did not cross list the cancel unit to any other Honda products. Granted, Amayama lists primarily JDM cars; but, I am going to go out on a limb and speculate that Honda did not roll this system out on to other cars.

While searching around I stumbled on a retrofit system for motorcycles called Smart Turn System (STS). The system uses a gyroscope and accelerometers to detect turning motion. Three axis gyros on a chip are available for less than $10 and accelerometers are $3 - $4, technologies that were not available when the NSX was designed. The STS system being designed for motorcycles probably relies on roll detection since the only time a motorcycle has motion along the roll axis is when it is turning (or crashing) combined with lateral acceleration. Roll during a turn would not be a very reliable indicator in an NSX (particularly a low speed turn) so the STS probably would not be suitable for use on an NSX. If you could get a low cost accelerometer that was able to detect low speed turns it might be possible to do an add on the cancel unit that would block a cancel output while the car is turning. The biggest problem might be that in order for the accelerometer to accurately detect vehicle yaw I think it has to be pretty much mounted horizontally. That could be a problem trying to mount it in the NSX steering column particularly since the steering column has a tilt feature. You could remote mount the accelerometer under the dash; but, that requires add-in wiring and based upon my experience with lousy stereo and security system retro fits I don't like doing that.

[h=1][/h]
 
@Old Guy great info as usual. My 92 has the early cancellation and I cleaned the contacts. I was contemplating simply replacing the cancel unit, since my steering column/combo switch is sitting on my bench right now. But, if it's really just replacing a relay, is that an option? Where is the relay located?

The cancel unit includes the attached cancel switch so if your cancel switch is worn out replacement would fix a worn switch problem. Unless you want to spend big $ you will have to source the cancel unit from Amayama which still shows it as being available separately.

The cancel unit is more than a relay. It has some electronic logic gate ICs in it which (in a perfect world) would detect the correct sequence of the cancel switch operations to generate a cancel. The cancel unit does have a relay in it which is the interface between the electronics and the cancel solenoid in the turn signal switch proper. If you were failing to get any cancellation there is a chance that the relay could have failed and replacement with a new relay 'might' fix the problem. That would be an easy < $10 fix. Once the cancel unit is removed from the steering column you will see that the cover of the cancel unit is just retained by a couple of plastic clips around the edges. It is fairly easy to release those clips exposing the electronic circuit board. The actual relay is a black rectangular box probably about 17 mm long which is soldered directly to the circuit board. Replacement would require a little work with a soldering iron. Once exposed you can also examine the circuit board for solder fractures / failures or the dreaded leaky capacitors. My 20 year old cancel unit circuit board looked pretty much factory fresh.

If your turn signals are cancelling the electronics and the relay in the cancel unit are probably working just as built. Unless your cancel switch contacts have worn (you can check that visually) I would not bother purchasing a new cancel unit.
 
Time to update this thread. Since the cancelation of travel and other plans has left the exchequer a little flush, plus I seem to have more time to burn, I ordered a replacement turn signal cancel unit from Amayama. The purpose of the replacement unit was to confirm that there was a design issue and to give me a guinea pig to engineer a new system based upon a one board controller such as a trinket or teensy.

I set up a bench test to confirm that there was a design flaw in the cancel circuit and that the cancel unit issues a cancel under the following switch sequence for turning left (0 indicates open and X closed).

A B
0 0 (straight ahead / less than 60 deg rot)
0 X (60 deg rot)
X X (90 deg rot)
0 X (60 deg rot) cancels prematurely here

And yes, the brand new unit does cancel early. It also works correctly if you run it through the full AB switch sequence

A B
0 0 (straight ahead / less than 60 deg rot)
0 X (60 deg rot)
X X (90 deg rot)
X 0 (rotates past 90 deg)
0 0 (past 120 deg rot)
X 0
X X
0 X (90 deg - this is when design cancel occurs)
0 0

The difference in the sequences is that in the full sequence, at the third step the switches go

A B
X X (90 deg rot)
X 0 (rotates past 90 deg)

In the early cancellation sequence, at the third step the switches go

A B
X X (90 deg rot)
0 X (rotates from 90 deg to less than 90 deg) cancels prematurely here

The premature cancel sequence occurs when you turn the wheel up to 90 deg and then briefly turn it back to less than 90 deg resulting in the XX then 0X sequence. If you turn the wheel past 90 deg and force the switch into the XX then X0 sequence you trigger the unit into requiring the full turn sequence and eliminating the premature cancel problem. As the tips of the switches wear or if the contacts become dirty the premature cancelation problem likely becomes worse; however, the cancel unit does not always operate as advertised. It does have this premature cancel feature and I don't know whether that was designed in or is a logic glitch in the design.

The immediate conclusion is that a new turn signal cancel unit will not eliminate the premature cancellation problem. If your switch actuators are worn or the contacts are slightly dirty it a new unit might improve operation; but, it won't fix the underlying problem. Now to see if I can come up with a fix based upon a one board controller.
 
Last edited:
I hope Honcho will make this premature cancellation thread a sticky.....:eek:
 
I have a little progress to report with respect to trying to improve the operation of the turn signal cancel unit. I dissected my brand new cancel unit

IMGP4031.JPG


to determine how it operates. The circuit is relatively simple. IC3 is a hex schmitt trigger which debounces and inverts (as required) the 4 input signals (A and B contacts and Left and Right turn signal switches), IC2 is a dual D flip flop and IC4 is a dual monostable multivibrator. The rest of the board consists of a 5 volt power supply (IC1 - all the logic ICs are 5 volt) a couple of transistors which are the interface between the output of the control logic and the relay which does the actual switching of the solenoid in the turn signal switch, a timing capacitor for IC4 and interface circuits between the external switches and IC3.

All the control logic is implemented via a single flip flop (one flip flop each for left and right in IC2). This is the sequence diagram from the service manual with the D flip flop inputs penciled in.

Stock Flip flop config20201210.jpg

For those not conversant with D flip flops, when the clock signal transitions from 0 to 1, the output Q assumes the same value as the input (A in this case). If the input is high (switch A closed) and clock signal (Not B) goes high (switch B opens) the output transitions from 0 to 1. The output of the flip flop feeds in to the input of the monstable multivibrator (IC4) and fires it when its output transitions from 0 to 1. IC4 generates a single timed output pulse which operates the cancel relay and also resets the flip flop output back to 0. If you look at the sequence diagram from the service manual, A transitions from 0 to 1 at 60 deg of steering wheel turn. As the wheel is turned further at around 90 deg switch B closes and input B transitions from 0 to 1. Not B (which is the logical inverse of B) transitions from 1 to 0. Once switch B is activated and A is still high the system is armed to initiate a cancel. With the wheel at 90 deg if you happen to make a small steering correction and turn the wheel to less than 90 degrees switch B turns off causing Not B to go high and the output of the flip flop goes high initiating a cancel. If you keep on turning the steering wheel to the right well past 90 deg the A input transitions to 0 and the system is no longer armed to initiate a cancel. The system rearms as you turn the steering wheel back re engaging both switches and the cancel then occurs when switch B opens (Not B goes high). The cancel always occurs when the steering wheel turns from 90 deg to something less than 90 deg.

The left sequence is the same except the As and Bs are all exchanged.

The operation of the logic explains why early cancel predominates on left hand turns for LHD markets. When you turn right you typically have a lot of steering input with more than 90 deg of wheel turn which blocks the cancel signal. Left hand turns are typically larger radius turns with less steering wheel input. If the radius of the turn is such that you only require around 90 deg of wheel input, you are operating in a zone where the slightest steering correction of 1-2 deg can potentially initiate a cancel. There is no hysteresis / dead zone for the Not B input going in the reverse direction.

Without engaging in a major redesign of the turn signal unit and the inputs it is possible to make some improvements in the operation of the unit. These do require add-ins to the circuit board. The first option is to modify the logic so that a right hand cancels when the A switch turns off rather than the B switch turning off. This gives you approximately 30 deg of hysteresis for steering corrections between 90 deg (when the system arms) and 60 deg when it initiates a cancel. To do this requires two flip flops configured as a type of shift register. This is the sequence diagram from the service manual with the two D flip flop inputs penciled in.

2 D config20201210.jpg

To implement this for both left and right signal lights you need a total of 4 flip flops which means you need to remove IC2 from the circuit board and wire the inputs and outputs to an add-in board with the 4 flip flops. The Toshiba TC4013 dual D flip flop in the unit is still available from DigiKey (it was a bit of a shock that a DIP logic chip rolled out in 1985 is still available) so I ordered some to experiment with. Implementing this control logic in the add on board I can provide 30 deg of hysteresis to the left and right turn signals. This is the pin assignment and pin numbers for the left and right channels on the Toshiba chips.

2 D connections20201210.jpg

I have implemented this and bench tested it and it works (on the bench). All of this can be implemented by removing IC2. No changes to the board or other components are required so you can reverse the change by reinstalling IC2 if you don't like it.

IMGP4040.JPG

The add in board has been covered with some heavy heat shrink and double sided tape used to fix it to the circuit board. If road testing indicates that the modification is good enough, then I would probably consider fabricating a custom add in circuit board using small surface mount chips with provision to connect the add in board to the main board through soldered header pins or a socket. Unfortunately, the Toshiba DIP chip takes up too much surface area for that type of arrangement forcing the use of the ugly pig tail connections. However, road testing and a decision on whether to implement a nicer version of this design is not going to happen until April next year at the earliest. If somebody is in a hurry and wants to try this on their own, the pin assignments for the IC2 chip on the turn signal board is as follows:

1 - right cancel output
2 - not used
3 - Not B input
4 - input from right turn switch
5 - A input
6 - ground
7 - ground
8 - ground
9 - B input
10 - input from left turn switch
11 - Not A input
12 - not used
13 - left cancel output
14 + 5 volts

The TC4013 chips are available from DigiKey for about $0.70 each.

I have also bench tested a logic scheme which implements the full turn signal sequence as described in the service manual with a modification that cancellation occurs at 60 deg rather than 90 deg. This sequence requires 3 flip flops per side (6 in total) to implement which absolutely precludes using the Toshiba DIP package which will not fit under the case of the turn signal cancel unit.

IMGP4037.JPG

To field test this would require using SMDs in a TSOP or QSOP package (a real treat to solder in if you are soldering challenged) and a custom designed board to mount the SMDs or implementation on a small one board computer or something like a Xilink CPLD on a custom board (the equivalent of bringing a thermonuclear warhead to a bar fight). I am not going to go forward with building a field testable version of this particular design unless the 2 flip flop sequence proves unsatisfactory.
 
Last edited:
Just want to acknowledge the insane amount of thought that's going into figuring out something as ordinary as turn signals. You're an EE I presume?

What should you do if your turn signals don't cancel at all like mine? :biggrin:

Yes. Perhaps an EE with too much time on his hands.

Failure to cancel can be a problem with the turn signal cancel unit or it can be a problem with the actual turn signal switch. When you flick the turn signal lever left or right, there is a solenoid in the switch that is operated by the turn signal cancel unit which releases the turn signal switch to the neutral / cancelled position. The first thing to check would be to use a multimeter to check that the coil on this solenoid is still intact. The service manual has a test procedure for the turn signal switch (23-177); but, the procedure does not test the solenoid. The solenoid coil is connected to pins 3 and 4 of the green plug that goes into the cancel unit so you can measure the resistance there. An open circuit would indicate a failed coil or a bad electrical connection. If the coil has failed, I don't know that it is repairable. You would have to disassemble to determine that. If you are lucky, the turn signal switch is OK because replacements are really expensive.

Failure to cancel can also be caused by a problem with the cancel unit. This could be an internal relay failure, a failure in the electronic components (low probability) or problems with the A and B switches attached to the cancel unit. I would start with the A and B switches by carefully opening the switch unit up (little parts that can go 'spring') and checking to make sure the contacts are clean and nothing is broken. As an alternative, if you have a multi meter you can test the operation of the switches using the multimeter. I can give you the test points to do that. I can also give you the test procedure to bench test the cancel unit.

Replacement cancel units are moderately priced ($200 range at Amayama); however, replacement turn signal switch units are really expensive. Unless you have money to burn I suggest the place to start is check the turn signal solenoid to make sure the solenoid hasn't failed open or you have a wiring problem. If the solenoid appears OK you can supply a short 12 volt pulse to the coil to confirm that it actually operates (releases the lever back to the cancel position). If the turn signal switch is OK, then you could just jump to replacement of the turn signal unit (being lower cost); but, I suggest diagnosis since most of the failures are repairable quite cheaply. There is probably no single component in the unit that exceeds $3.00 in value. The only thing that would not be easily repaired is if either the A or B switch is completely buggered. If it turns out that the cancel unit is the problem then we can go through a step by step diagnosis.

I can't remember the history of your car. By any chance has the steering shaft been disconnected from the rack or anything done to it that could have resulted in the position of the cam on the steering shaft being repositioned when the wheels are straight ahead. That will definitely screw up when cancel occurs; but, I don't think it would completely preclude cancellation in both directions.
 
Last edited:
Okay, makes sense. I tried cleaning the A/B switch contacts a while ago and it made no difference so figured the problem was elsewhere.

I'll test the signal switch and see if applying 12V causes a cancel event, I wish I owned a power probe for that stuff. If that doesn't work then I'll diag the cancel unit like you said. Not really looking to spend that kinda money yet.

I've taken the steering yoke out of the joint before but made sure it was realigned properly. They've never cancelled as long as I've had the car but there's another 30 years that are unknowns. I'll post back here with my findings soon (tm). Thanks for the suggestions
 
When you test the solenoid, don't use unfused 12 v from the car battery. The battery has enough jam that an oops can evaporate things. For the purposes of seeing if the solenoid goes 'click' a 9 volt radio battery might do just fine.
 
I'm jumping on Tyler's bandwagon here too. As mentioned earlier, I cleaned the contacts of the switch, but since I already have everything torn apart, I might was well go through the diagnosis too.
 
More progress to report.

In post #11 I mentioned that I had bench tested a 3 flip flop design for the cancel unit which exactly emulates the operation sequence that Honda describes in the service manual; but, failed to implement in the actual cancel unit. I indicated that I was not going to proceed with this design because there was insufficient real estate available to fit the 3 x TC4013 chips required to implement the design. After chewing on this for a while I decided to see if I could implement the control logic for the cancel unit on a 1 board controller.

I looked at 3 boards that had a physical size that looked like they might fit and could interface with the 5 volt logic in the cancel unit, the Teensey 3.2, The Adafruit Pro Mini and the Adafruit Itsy Bitsy. All are a similar size and should fit under the cover of the Cancel unit with some appropriate connectors. Pro Mini is a shrunk version on Arduino Uno with no on board USB support (thumbs down); but, the clincher is that it only supports two external interrupts which is insufficient for the logic I implemented. The Itsy Bitsy supports five external interrupts which works with my code and has native USB support for loading the code and retails for around $10. The Teensey 3.2 should also work. Technically it is a 3.3 volt board although the processor inputs are claimed to be 5 volt tolerant. The output voltage would be 3.3 volts in logic level high which would require some further modifications to the cancel unit to get it to interface correctly. I wanted to minimize the changes to the cancel unit so the Itsy Bitsy was the winner.

Proto bench test.JPG

I have included a sketch of the 3 flip flop arrangement showing the inputs and cancel signal output. I have also attached a .pdf for the C code for the cancel logic if someone wants to experiment with this. The pin assignments in the code are all based upon the Itsy Bitsy board so would have to be rewritten if you use a different board.

3 D connections20201210.jpg

The Itsy Bitsy has an on board voltage regulator which allows you to power it up at 12 volts. However, the cancel unit has an internal 5 volt power supply (a 78L05 regulator) and 5 volts is conveniently available at the location of the old TC4013 chip. This eliminates the need to have an extra wire in the box for a 12 volt supply and find a reliable location to connect it. The only problem with this is that the regulator has 240 ohm resistor in its supply side. I suspect that the purpose of the resistor is to drop the voltage to the regulator before going through the regulation process reducing the drop across the regulator. The logic in the cancel unit only draws about 10 mA. The Itsy Bitsy draws about 20 - 25 mA when it is awake. Combined with the draw from the on board chips the voltage drop across the resistor is about 6 volts which causes the output of the regulator to drop so about 4.1 - 4.3 volts and nothing is going to work with that. The problem is easily fixed by replacing the 240 ohm resistor R1 with a 100 ohm resistor which restores the voltage to 5 volts. This photo shows the location of R1. I used a 1/2 watt resistor to replace it (because its what I had); but, 1/4 watt is a better choice because of its smaller size.

Resistor 1 location.jpg


The Itsy Bitsy can be hard wired with flex cable into the cancel unit at the location of the old TC4013 chip. The board will definitely fit under the cancel unit cover with this arrangement; but, the board will be free to move around. My preferred arrangement is to create an interface board which is sandwiched under the Itsy Bitsy and allows a direct plug in to the Cancel Unit circuit board. This would be plug and play and provide a secure mechanical connection to the Cancel Unit circuit board. This photo shows the old IC2 location on the board with a socket installed to mount the Itsy Bitsy adapter board.

IC2 location.JPG

I am currently looking at using Eagle to create a gerber file for the interface board and then run a batch of 10 or so for testing. Given the progress with the Itsy Bitsy I have dropped the idea of doing testing with the dual flip flop arrangement and creating a plug in board for the two TC4013 chips.
 

Attachments

  • NSX turn signal C code.pdf
    97.3 KB · Views: 7
Impressive analysis, solution and implementation :smile:

Especially the power supply as connecting add-on electronics directly to the vehicle power net makes them subject to all kind of nasty stuff - using the existing power supply means benefiting from whatever the designers did to protect the electronics from voltage spikes, inverse polarity and the usual suspects.
 
Last edited:
Activity and progress!

I created an interface circuit board in Eagle to mount the Itsy Bitsy on to the turn signal control unit circuit board, submitted the gerber files for the circuit board to OSH Park to have the fabricated and received the prototype board in the mail on Monday. Turn around from submission of the gerber files to boards landing on my door step was under 3 weeks which is OK because I opted for delivery via the postal system rather than express. OHS Park always runs there batches in multiples of 3 boards and charges by the number of square inches of board surface. The cost for 3 interface boards which included shipping was $7.50 US$ - OHS Park is not going to get rich doing prototype boards for me!

This is the interface board showing the top (left) and bottom (right).

Adapter board - comp.JPG

This is the Itsy Bitsy controller mounted on the interface board which has been soldered on to the turn signal controller board.

finished board - comp.JPG

Bench tests show that the turn signal board functions as expected with the Itsy Bitsy installed which means that I didn't screw up on the design that I created in Eagle. Also, with the board to board header pins that I picked for mounting the interface and Itsy Bitsy boards, they stack low enough that they fit under the turn signal units cover. That actually took a bit of judicious part sorting on Digi Key.

Field testing in the car has yet to start because the NSX is still in storage. The weather here has been erratic with once again a risk of snow forecast for tonight so I have not been particularly motivated to retrieve the car from storage. In addition, the temperatures have been just above freezing and I am not particularly keen about removing ABS trim pieces in an unheated garage and risk snapping brittle tabs. If the field tests confirm that the unit works as expected and that the unit does not crap out in an automotive environment then I will follow up a post which includes detailed instructions on how to do the modification.

My son made an interesting observation that this thing would have been much more elegant if I had just created a board that the ATMEGA32U4 microcontroller from the Itsy Bitsy could be mounted on directly. This would be cleaner; but, by the time you added the clock crystal and a USB plug to allow you to download the firmware the $ savings would probably only be about $4. The bigger impediment is that the gap in between the surface mount pins on the ATMEGA32U4 package is only 0.02". That is probably pushing the limit on home soldering of SMD packages using the flood with flux / blob with solder / remove excess with wick process. If somebody needs more elegance in their turn signal controller I will leave it to them to design an appropriate board.
 
Last edited:
Nice, thats a much more modern solution than the flip flops. For an integrated solution including the MCU a PIC chip might be easier, you can get them in a wide variety of packages and if you have a pickit programmer you don't need a USB cable as you can flash the MCU just through test points on the board. I've done a few PIC boards using the laser printer/iron on/acid etch method and they've worked pretty well for what they were.

For soldering tiny SMDs I've had excellent results using solder paste in a small syringe. You can just add tiny dabs onto the pads, place the part down, and heat it up with a pointy soldering iron tip. When I socketed the PLCC84 MCU (needed to remove the chip to dump the ROM) on my cars ECU I used solder paste and while a bit tedious it worked very well. Still running socketed just fine a couple years later.
 
Last edited:
My familiarity with the Programable Intelligent Microcontroller is pretty much limited to having heard the name. I was considering using a Complex Programable Logic Device from Xilinx, partly because you can exactly replicate the flip flops as opposed to my functional emulation in C code, plus I thought it might be interesting to try something new. However, this did require learning a new programming language along with learning the ISE WebPACK tool. Being an Old Guy I was mindful of getting this done before I died so ultimately I went with what I knew or at least sort of remember.

I have a hot air rework tool, so I glue SMD chips in place with a little dab of cyano acrylate, slather the pins with flux from a flux pen and then apply the hot air tool and dab each pad with some 27 AWG solder (about the finest gauge solder you can get without having to fork over $100 - $300 for a life time supply). If I am careful I can get away without bridging contacts and any bridges that do occur can be removed with soldering wick backed up by a fine tip iron. However, I expect most owners do not have rework stations or a temperature controlled fine tip iron and I set out to design this so that an owner who was moderately competent with a good basic soldering iron could do the modification. With the pre fab Itsy Bitsy, careful soldering skills at a level required to do a capacitor replacement in the CCU should get you through the modification of the turn signal controller.

In the creeping elegance category, it had occurred to me that I could use the Itsy Bitsy to replace just about everything on the turn signal circuit board. If I software de bounced the input contacts (never done that when using interrupts) I would eliminate the Schmidt trigger IC and it would be simple to eliminate the multi vibrator IC by implementing the one shot timer directly in the Itsy Bitsy. With all the logic ICs removed there would be no need for the onboard 5 volt regulator because the Itsy has its on on-board 16 v tolerant voltage regulator. Power MOSFETS being what they are these days you could probably use a MOSFET to directly control the cancel solenoid eliminating the need for the relay and the interposing transistors. If I were designing a new version of the cancel unit that is probably what I would do; however, the existing cancel unit electronics seem to be durable so there is probably no-up side to that creeping elegance.
 
More activity and I think progress. Driving around with the the cancel unit based upon the 3 flip flop emulation displayed three problems.
- The first is that going through the complete sequence of AB switch operations as described in the service manual definitely eliminated the problem of early cancellation on large radius left turns and turned it into a no cancellation problem. The 3 flip flop sequence requires that the steering wheel be turned past about 130 degrees to trigger the cancel action and on large radius turns you don't generate enough steering to trigger the cancel.
- If you turn the steering wheel past 220 degrees which is typical of a U-turn or very tight turn early cancelation will still occur.
- If you turn into a right (or left) turning lane then drive forward and then execute the turn the switch sequence gets screwed up and it will not cancel

I loaded firmware based upon the double flip flop sequence I described in post #11 and added some control logic to deal with the condition where you have steering input that exceeds 220 degrees. This seems to work pretty well. No premature cancellation or failure to cancel on sweeping turns, no premature cancellation for U turns and no problems with entering a turning lane and then early or failure to cancel after executing the turn. If you fully engage the turn signal switch to do a lane change at highway speed the turn signal will not self cancel. That is problem with the existing design because you need to generate at least 90 degrees of steering action to generate a cancel and that would be uncommon in a lane change maneuver. If you had access to the VSS signal you could incorporate a speed / time / distance function into the cancel unit which could be used to generate an auto cancel on a lane change and could also be used to create a supervisory function that would initiate a cancel if you signaled a lane change; but, didn't change and then forgot to cancel. However, that would require some vehicle wiring and modification to the cancel unit box to get the additional signal inside and that would not jive with my original objective of no changes to the vehicle and making the cancel unit a plug compatible modification.

I have been driving around with the cancel unit with the revised firmware for a couple of weeks now. I will use it for a bit longer to try and confirm that there are no early mortality issues. At that point I will post the revised code, more detailed assembly instructions and try and load up the gerbers for the adapter board if anybody is interested in trying it.

I should note that the hardware version of the 2 flip flop version of the cancel unit that I showed in post #11 will probably be unsatisfactory. It eliminates the early cancel problem on sweeping left turns; but, suffers from early cancellation on any turn that requires more than 220 deg of steering input.
 
Once exposed you can also examine the circuit board for solder fractures / failures or the dreaded leaky capacitors. My 20 year old cancel unit circuit board looked pretty much factory fresh.

I ran into this issue this past weekend. My turn signals haven't been cancelling for ~6 months or so, I finally pulled the steering column plastics off and started diagnosing. Jumping the solenoid cancel signal to +12V resulted in a successful cancel, but I could hear the relay clicking even when it wasn't cancelling when turning the wheel. Turned out one of the solders under the relay in the cancellation module had cracked through, reflowed it and all is as it should be again.
 
It has now been 2 months of driving around with the modified cancel unit and no operational problems have emerged. Its not a perfect system; but, those imperfections are set by the two switch inputs and the size / position of the cancel cam on the steering shaft. Further improvements would require a VSS input or a MEMs or GPS device which would require changes to the vehicle wiring and additional inputs to the cancel unit. That would not jive with my plug and play compatibility objective. The long term durability of the Itsy Bitsy controller in an automobile environment remains an unknown.

I have gone as far as I plan to go with this. If anybody is interested, I can post the last version of the firmware for the controller (may have to search to find it) and I will see if I can post the gerber files for the adapter board if I can get the Prime host to accept them with a fake extension or try loading them up to Google drive. I can also post a little 'how to' including the part numbers for the correct headers that allow the adapter board to be installed without interfering with other stuff on the cancel unit board.
 
Back
Top