Jump to content
Andrew Davie

LEDs on joystick port - how much current?

Recommended Posts

OK, I did something that was probably dumb. Almost certainly.

 

I wanted to have a bit of a look-see if I could put LEDs on the joystick directions and light them up when I used the joystick. So first I disassembled the joystick and just did a brief touch with LED pins across GND and one of the directions. LED lit up - but not too bright - so I figured there wasn't excessive current draw.

Put a 2nd LED there and they both lit up, again, not too bright.  I left them a while, and they seemed quite happy.

 

Given the joystick+button will only ever be 3 LEDs at max, and usually quite briefly I thought this would be good to go.

 

But on checking my '2600 I find that it's getting a continual joystick button press - even without the joystick plugged in.

So, I definitely broke something.

 

Now before anyone calls me a complete dunce, I'm aware you need to put a resistor in series with the LED to prevent excessive current. But my experience is that you can pretty much tell when that's happening because the LED gets super-bright if it's drawing a lot of current. I figured that, with my simple test, there wasn't much serious current flowing, and I could do without a resistor.  Another way of saying that; the resistance already in the circuit was sufficient to limit the current draw by the LEDs. Well, maybe not...

 

Lesson learned. I should have asked first - what's the current that can be drawn through the joystick pins, and is there any limiting resistor on the machine itself? And of course... now I need to know how/what to look for/repair on my machine.

 

Pic of my joystick mod just to show you what I was thinking. What was I thinking...  

 

IMG20210205220712.thumb.jpg.35b9bdf0fe7086dd86343d1e9c0a476c.jpg

  • Like 1

Share this post


Link to post
Share on other sites

I thought I remember reading in one of the service manuals (or somewhere), that it was either 25mA, or 50mA, that was available at each of the controller ports.  

Share this post


Link to post
Share on other sites

I've been thinking about this a bit. When you press the button or a direction, you essentially close the circuit between ground and the wire connected to that button/direction. With very little resistance, and thus there will be a "lot" of current that flows. When you put a LED in circuit with that, you're not going to get any more current... if anything, you'll get less. So I don't see how I managed to burn-out the '2600 port.  What I may have done is a bit of soldering with it still plugged in. That might have been an issue right there. I might dig up another sacrificial '2600 and try again.

Edited by Andrew Davie

Share this post


Link to post
Share on other sites
4 hours ago, Andrew Davie said:

But on checking my '2600 I find that it's getting a continual joystick button press - even without the joystick plugged in.

On a 6 switch, that's usually caused by the CD4050 hex buffer failing. That's a common part, so hopefully it's an easy fix.

 

hexbuffer.thumb.jpg.84abce102d9b4bd2aee4456808ea6f35.jpg

 

The fire buttons lines are buffered by that IC before going to the TIA.

Atari_2600_PAL_Service_Manual.pdf

  • Like 1

Share this post


Link to post
Share on other sites

You will need to use the +5V line (pin 7) and one resistor in series with each led.

If your cable does not provide the pin 7 you will need to get another one (look for Sega Genesis replacement cables that provides all 9 wires) 

Screenshot_20210207-143637.thumb.png.205bfda110c6a14564b4b18ac315511a.png

 

  • Like 2

Share this post


Link to post
Share on other sites

Great info on this thread, I'm going to try replacing the CD4050 Hex buffer in my Heavy sixer then before I even break out my analog meter - this sounds very similar to what happened to my six switch recently.

 

Does the PlusCart menu constantly repeat after appearing briefly with this condition by any chance?

 

Thoughts - if so I'm wondering if constantly polling the trigger line could allow the hex buffer to fail easier, if more Atari's fail like this maybe flashcarts would be better polling just the console switches and not the buffer.

 

Share this post


Link to post
Share on other sites

The first issue is that the direction pins are pulled high internally by a transistor (usually, I think the tech is too old for LASER trimmed resistors) inside the RIOT so the junction resistance and therefore current handling capabilities and resulting LED intensity is unknown. With the switches pulling the input pins to ground it would seem unlikely that simply by placing an LED in there you would draw enough current to do any damage as it can handle the joysticks short to ground input method.

However, two possible ways it may have caused damage are...

a) You were connecting the LEDs in a way that when multiple inputs were active it resulted in driving the inputs directly from the 5V resulting in excess current input that caused something to burn out or

b) Wiring the LEDs directly in series with the joystick switches was not a good concept in general as a standard LED typically requires a voltage drop of 1.8V, consequently a direction or fire button input voltage was likely to be sitting at around 1.8V (if the LED conducts) and not 0V. 1.8V is in the forbidden voltage range for a logic input and so you may find that detection of the Joystick inputs is not consistent as it randomly determines if it is a logic high or logic low. Additionally, an input voltage outside of the forbidden range correctly results in some transistors on and others off, with a forbidden voltage it is possible that some transistors that should have been off were on and conducting, which depending on the circuit design could have effectively resulted in an internal short circuit across the power supply leading to excess current flow through the effected transistors for a brief period before at least one of them was burn out. 

 

The second issue is that the Fire button inputs are pulled high by a 10K resistor, even if you use a low current LED (i.e. 2.8V @ 3mA typical) and it does actually conduct...

a) You may have difficulty seeing that it is on at all as @ 10K the current through the LED will 500uA (0.5mA)

b) Even if you lowered the resistor to provide the relevant current a 2.8V drop puts the input voltage at the input high threshold so you would never detect an input as the voltage does not go low enough. 

 

Personally I am at a loss as to what purpose the LED's serve beyond testing that the Joystick is working as you're not likely to be looking at them during game play and if testing is the only purpose then it is easier to just build a test circuit to plug the joystick into than to mod the Joystick itself.

That said, if you do want to do it then it would be better to wire the LED's and their current limiting resistors in parallel with the existing input circuits (Between 5V and the joysticks switches) as per Danjovic' post. Design for the worst case scenario which is that a fault occurs and all 5 LED are on simultaneously, with a standard LED running at its typical 10mA current that will be a 50mA draw, if you are concerned that may be too high then use low current LED which should give a 15mA draw running at 3mA current each.  

Share this post


Link to post
Share on other sites

I don't know how different the 7800 ports are, but I am powering a PIC running at 8MHz and a DualShock2 from the joystick ports.  That is way more than a couple of LED's.  Stupid question, but do you have current limiting resistors on the LED's?

Share this post


Link to post
Share on other sites
1 hour ago, CPUWIZ said:

I don't know how different the 7800 ports are, but I am powering a PIC running at 8MHz and a DualShock2 from the joystick ports.  That is way more than a couple of LED's.  Stupid question, but do you have current limiting resistors on the LED's?

 

1 hour ago, CPUWIZ said:

I don't know how different the 7800 ports are, but I am powering a PIC running at 8MHz and a DualShock2 from the joystick ports.  That is way more than a couple of LED's.  Stupid question, but do you have current limiting resistors on the LED's?

I only tested 2 LEDs running with direct pin connection to the appropriate switch connectors.

So, no current-limiting resistors, as mentioned earlier. Yes I know what they do, but again my logic was the switch being closed was effectively a very low resistance and thus allowed high current. I didn't think a resistor-less LED would damage hardware because a much-higher-current switch closure didn't. The only "risk" (I thought) would be the LED - which only glowed with normal brightness anyway, indicating not a lot of current.

But, in any case, the earlier post above gives a great overview of what's happening and what could happen.

 

Share this post


Link to post
Share on other sites

Blue LED's are very power hungry, I only skimmed the answers, so I missed that.  I bet they get pretty hot without resistors.

Share this post


Link to post
Share on other sites
Just now, CPUWIZ said:

Blue LED's are very power hungry, I only skimmed the answers, so I missed that.  I bet they get pretty hot without resistors.

Technically, and this is what I was trying to say, there is already resistance in the circuit.

It looked, from the brightness of the LEDs, that this resistance was high enough to limit the current draw of the LEDs to a reasonable amount.

And they were "good" bright, not excessive. So no, I doubt they'd get warm at all. But what do I know.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...