Dead multiplexer?

Wondering if anyone might have experienced a problem that I'm having. My ArduPilot has been working fine, but yesterday, the servo outputs suddenly quit working. After doing some troubleshooting, I think I've narrowed the problem down the the multiplexer (74ACT157). It gets power, and gets a proper signal from the failsafe, and I found a 50 Hz signal on the inputs. However, the outputs are always low, at 0V.I've been using a 4-cell, 4.8V receiver battery to power my setup. When fully charged, it gets up to 5.3V, which should be safe for the multiplexer. Maybe I shorted out one of the outputs, or zapped it with static? Anyone else had a similar problem?
E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • Developer
    This seems probable that many people would have this issue unless they all power the MUX from the servo lines? That, or they are all getting lucky and turning their Ardu board on first.....
  • My BEC delivers 5.1v and powers both receiver and ArduPilot, which gets powered at the same time. Does that mean the MUX could suddenly fry? Would it be a solution to let only Signal and GND in the servo/ctrl INs and OUTs pins on ArduPilot and power the servos directly from the BEC? Just an idea I already had to optimize cable length in the airframe.
  • The Ardupilot mux is out of specification for two reasons:
    1. The inputs are underrated by 12x for predictable powerup sequences (ie receiver powered before ardopilot)
    2. The inputs are underrated by 2x for normal operations (The receiver outputs are probably 6V or 1.0 volts above the 5v regulated VDD) The ratings for this part are .5v over VDD.

    As the DataSheet for this part specifically states that voltage in excess of .5 volts over the current power supply will brick the chip.

    Here's what happened.... (as monk would say).
    You plugged the battery into the receiver, and you connected the servo inputs to the Mux BEFORE POWERING UP THE AURDUPILOT. When you did so, the receiver pushed 6 volts or 12 times more voltage into the mux, than the data specifications list as the maximum safety ratings. You, my friend are toast.

    This means the clamping diodes are constantly engaged to protect the mux chip, and dissipating whatever extra current the receivers are pushing. If in fact the voltage signal is being clamped, this will stress the receiver, and the mux while wasting energy, As it happened the mux loses first.

    The solution is to power the mux by the servo board exclusively and without a drop-down regulator.
    (ironically, this is close to the first design.) The Attiny should be powered by the servos, but can be protected by a regulator as it has more logic related susceptibilities. The Servo input to the Attiny should be clamped as well , perhaps by a resistor and zener diode.
  • Admin

    I have one blue Atmega168 and two Atmega328 Ardupilot boards and they all have 74ACT157 chips. Not good in relation to ESD issues around foam fuselages and on dry, windy days.

  • Developer
    Ohh great, i like when they fallow the schematics (they don't)... Anyway so now is like 4 nanoseconds faster! =)
  • Jordi,
    The board I have has a 74ACT157 chip on it, which I believe is CMOS. Your schematic however, lists a 74LS, and that is also the part listed in the build instructions.
    I"m pretty sure that all of the channels of the mux are dead.

    Anyways, it is not a big deal, I ordered a couple more of the ArduPilot boards and I'll replace the broken one with a 74LS version when I have a chance.

    Also, I'm sorting out the voltage regulator situation, in case that was the problem

    Thanks all for your help.
  • Developer

    The Mux is not a CMOS is normal TTL. I heard of someone else that also burned only one channel (ch1), and what he did is used the channel 4, by only soldering a jumper wire from ch1 to ch4 and connect the rudder on port 4. But if you are sure you didn't burn it, you must request a refund from SparkFun.

    The ardupilot power regulator is good to powering the ucontrollers only, but you must use a separated battery for servos.
  • I don't buy the idea that a "voltage regulator" is intended to protect the chips from inrush current - or that they directly limit inrush current at all. True most have a full duty cycle rating, which usually means their internal resistance at max input voltage divided by their surface area is less than their cut-off temperature at n amps or so - but what it does not mean is that high inrush currents will be capped, indeed the opposite is usually true, in that inrush currents are expected to be high and well tolerated.

    .:5.5 vdc placed properly against the terminal of that multiplexer is not the problem.
    grounding the outputs would cause the voltage and current of the inputs to pass through the device. It is beyond unlikely that that the 25ma available from the inputs, either the rc rx or the atmel chip would fry the multiplexer.

    This leaves the bane of cmos circuits for the last 20 years, static electricity, or more precisely a voltage placed on an input which is substantially higher than vdd or lower than Vss. Most cmos devices include internal clamping diodes to protect the internals, It is possible the mux does not restrict its voltages internally, or does a poorer job than uControllers. The likely culprit in this case, are the exposed cmos input (The servo-in-bits).

    The good news, they are unlikely to blow once the circuit is connected, the bad news is the mux may be less robust that the uController, in which case, the point of having the mux at attiny may be moot. It would certainly be a victory for occam to see them go. ;-)
  • 3D Robotics
    Oh. Well, that was a mistake. You ran power through the board without a power regulator. You almost certainly fried it. Power regulator's don't just limit voltage, they limit current, too. The manual is pretty clear on the need to switch the jumper. I think you need a new board.
  • No, I did not. I decided that since the battery voltage would be under the max voltage of the devices, it would be ok. I'd expect this to cause other problems, such as drifting A/D values as the battery voltage decreased, but I doubt it would fry the multiplexer.
This reply was deleted.