555 + ChImp

As mentioned in another thread, this is an attempt at a simple switch and timer circuit to activate two button signals from a ChImp via a single button press, with a delay between the two outputs.

The following is a revised circuit layout :

Mounted on a protobaord - as tested, the timer is a simple LS555, and the relay is a SANYOU DSY2Y-S-205L. +Vcc is 5V. At this point, the questions are… will this work? and without frying either the ChImpSMD or the 4716 it’s hooked up to? Finally, are the listed components adequate for the task?

Please consider, as mentioned above, this a a dual mod setup, and it’s all in tandem with ligh-up on activate mod.

I’d really appreciate any help/input offered - I’d hate to use my ChImp as a guinea pig without having a reasonable expectation of success on this mod:).

Thanks in advance…


You could throw it in here for a quick sim job – it’s not the best circuit simulator but it’s passable: Circuit Simulator Applet

The inputs on the Chimp are setup as high impedence inputs; whether you directly connect a low or high voltage, it wont hurt anything on the chimp until you start getting way over 5 volts.

Maybe I’m missing something, but I just dont see how that would or should work. The button labelled ‘X’ has the cathode end of a diode on one side, and +V on the other; regardless of whether the button is pressed or not, no current will flow through there; it certainly won’t trigger anything. Yikes. More I look at it, the more I don’t have a clue whats supposed to go on in that circuit.

From your earlier description, you said the 555 should be setup in a monostable configuration, with the RC calculated to be 0.03 seconds, roughly two frames. That all sounds good. The timing signal from the 555 should be easy to use with the rest of the circuit. But I dont understand the need for the diode in the configuration. You should end up wiring the 555 section like this:
File:555 Monostable.svg - Wikipedia, the free encyclopedia

Now for the activating button. If Im remembering/assuming right, this will be a standalone button, not connected directly to anything except your kara button. If that’s the case, you need to wire a resistor that is somewhere between 4.7k ohm and 10k ohm so that one leg connects to Vcc, and the other to the Trigger line (pin 3 of the 555). Connect the trigger line to one leg of your kara button, and the other leg of the button to ground. You now have a button that will trigger the 555.

From there, it should be easy to figure out how to wire a couple of gates, or maybe just diodes, to the buttons that are being controlled. You never mentioned which combination of buttons you’re using for the kara; whether its a separate button (Roundhouse~Throw) or one of the same buttons (Short~Throw), or any details how exactly the kara is to be done. Flesh that out quite a bit in good detail before going any further. Does the first button need to be held? Need to be released before the throw?

Experimenting techie ideas is all well and good… but isn’t this cheating?

Thanks Zero… I’ll check it out!:slight_smile:

Okay, so its just two buttons, like Yun’s Short~Throw in 3S. If so, then we want the first button to activate (short) connected to the trigger line with a diode; any cheapy like a 4148 will work fine. Connect the cathode (marked) end to the trigger line, and the anode end to the Chimp input to be pressed first. That will cause that first button to always be pressed the moment you press the trigger button, but not make the regular button activate the 555.

The second, delayed button needs to go low when the trigger AND the 555 output are both low. That means you need an OR gate.
Digi-Key - 568-1434-5-ND (Manufacturer - 74HC32N,652)
Grab one of those. Connect VCC to pins 4, 5, 9, 10, 12, 13, and 14. Connect Ground to pin 7. Connect the trigger line to pin 1. Connect the output from the 555 to pin 2. Use another small diode like a N4148 and connect the cathode (marked) end to pin 3, and the other anode leg of the diode to the second input line on the chimp (1P).

That’s it. Niether of the ‘real’ buttons will trigger anything on the 555 circuit thanks to the diodes. The kara button will always activate the first button, for as long as the kara button is held. The second button will be active whenever the timer has expired and the kara button remains pressed.

Yes, and if he tries to use it in a tournament, he deserves to be beaten.

Hey Toodles, thanks for popping in :)…

The diodes - I just read somewhere that a diode was recommended on both components (relay and timer) to protect against spikes, for example at the relay when voltage is cut.

I have a (working) circuit with relay and timer on my protoboard… It’s likley I missed something translating into diagram. I could clean up the wiring a bit and upload a photo or vid-link if it would help. Relay pins 3/4 are the position when the coil is inactive. The standalone button is only to trigger the relay. Signal 1 would be wired to say P3, signal 2 wired to a P4(mapped as throw). The circuit engages as soon as the standalone button is activated, thus completing a circuit to immediately activate P3 signal, delay for 2f’s, then activate P4, the entire circuit remaining engaged until the coil is disengaged.

Hope that helps:)


Oops… I was responding before your edit:).

Exactly. I think I get what you’re saying… I probably have a couple of those gates lying around. Thanks for the tips. So this whole implementation should be safe for my pcb’s?

OT - As for tournament play, I only play for kicks & giggles. I’d venture to say “turbo” buttons aren’t allowed in tournies either… wouldn’t turbo be another timer-based mod? As for playing with friends, a gentleman’s agreement is all that is necessary.

Well here’s what I come up with. No idea if it’ll work, but I think it will. In general, I avoid relays like the plague.
C1 and R2 are your two RC pieces for adjusting the timing. I aughta recommend you use a potentiometer for R2 so you can adjust the timing to your liking. C2 is supposed to be 10nF according to that wiki article. R1 is the pullup for the timing button, so 4.7k ohm-10k ohm is; no big deal there. VCC and GND from the Chimp screw terminals. Should be a cinch.

Since every connection is straight from a Chimp screw terminal, chance of damage is very low. Worst you might be able to do is short VCC to ground, but that wouldn’t hurt the chimp itself. If you manage to find a way to mess it up, sucks to be you; this is NOT something supported on the Chimp, and if you do find a way to fry it this way, there won’t be tears over here. If it breaks, you keep both pieces.

Toodles, your diodes are backward.

Currently you’ve got it set up that the controlling line (S1) won’t actually activate P1 but both the control line and P1 can drop TRIG low.

Toodles…no problem… I’ve butchered enough machines to know the risks and perils of hacking them going in…lol. I appreciate the input.


You sure about that? I disagree. If you’re sure, I’ll go through the explanation why I oriented that way and I’d love you forever for pointing out which assumption I made was wrong, but take a peek at it for a bit and make sure before I type all of that up.

You know, about 10 seconds after I posted that I took another look and I think you’re 100% correct on that one. I wasn’t visualizing the button connection correctly.

In any case, using an OR gate for the control line + output is an interesting way to do it. I have a huge flaw in looking to apply schematics with gates. I almost never think to use them for some reason :frowning:

I only say that because I implemented something very similar without gates but still using a 555

Yeah, the backwards diode against the relay coil is to protect against back-EMF. (This was meant to be posted earlier…)

The only part about the setup I laid out that I’m unsure about is whether or not the output signal will drop after the charge if trigger is still held low. The waveform on wiki only showed the trigger returning high before the charge was complete.

It should drop low, but only for a split second until it sees that TRIG is still low and puts the output HIGH again. It won’t be long enough for the game to read the LOW pulse if the gate even catches it.

pop it into a simulator and you’ll see it oscillate pretty harshly.

perhaps not, it did when I used multisim but not pspice. I think in reality it does, but in ideal conditions in psice it shows it as constantly high output :confused:

Damn, was afraid of that. So the design as is isnt quite working, and hacky attempts to use an RC high-pass filter dont appear to be working right. :frowning:
If it were my own project, this is the part where I’d say ‘fuck it’ and replace the whole shebang with a 50 cent 8 pin microcontroller.

Dang, I was going to proto that circuit today.

I write code for a living…and this is leisure time for me, I prefer keeping it to building puzzles:). If worse comes to worse, I have an unassembled pic kit here, it’d give me an excuse to get cracking on it.

I was looking back at my original circuit layout (above), and another look at the waveform on the wiki link, I sniffed a bit more. As it turns out (from what I understand) - the timer in my configuration is acting in a delayed bistable mode. At rest (trigger high), the output is low. When the trigger gets pulled low, the timer counts down the RC value before setting its output to high. The timer and its output get reset if at any time during the process trigger gets pulled back to high (which in this case doesn’t matter - as there is no longer Vcc there to draw current from, and the path has been switched). The relay is there to basically select the paths of Signals 1&2. When the “standalone” button is open, the only path the signals have is via their normal buttons. Once closed, the regular buttons are for all intents and purposes disabled, signal 1 circuit gets closed immediately, while signal 2 circuit closes after the timer has done its job. When the standalone button is released, signals 1&2 re-route to their original paths (re-enabling their buttons).

I hope I’ve done a decent job of explaining all that…as I mentioned before, I have a working prototype of the relay/timer combination. From what I can tell, there is a gotcha to this setup… once the standalone button is pressed, there can be enough residual in the RC cap - that if the button is pressed again very shortly thereafter, the timer won’t wait the full .03s to set its output high.


Ok… as I mentioned earlier, the relay and timer sections of the entire circuit were functioning as expected. After wiring up a couple of dummy signals for signals 1&2 off of Vcc, and a couple of quick tests - I can confirm that indeed, when the standalone button engages, subsequently engaging signal1 and a delayed signal2, both “normal” buttons are in fact disabled until the standalone button is released. It would seem the only thing left to do is to substitute the 2 dummy signals for the signals coming straight from the ChImp terminals.

Toodles or Phreak…please tell me if I’m off on this one, and if I am, why/how this circuit is working thus far?