Paul Krajewski's Posts (3)

Sort by


Nothing fabulous in today's update; I found myself troubleshooting a couple APMs that connect, but respond with the dreaded "Failed to Boot MPU6000 5 Times" error.


6/3/2014 - Updated MPU6000, MS5611-01BA in above Diagram. Uploaded updated diagrams as promised.

In the course of this work, I found the APM_v252_Release schematic to be a bit counter-intuitive due to poor arrangement of the pinouts, particularly around the TXB0104 Level Translators. So I made updated schematic.pngs for the two TXB104s at the DataFlash and MPU/Pressure locations so that their pinouts reflect the actual layout of the IC being used; I've also made a complete schematic with those updates. I have not changed the circuit or attempted to resolve any design issues; I've only rearranged the appearance of the diagram.

When I used to do this for a living, it was a matter of pride to make sure your schematic reflected the pinout of the actual part being used; nowadays we just let the computer do all that. It doesn't care that the pinouts are out of sequence; it just tries to make the neatest diagram possible.

This makes it a lot easier for actual errors to slip past the vetting process; they aren't nearly so glaring when your brain is already trying to deal with a jumbled mess due to out-of-sequence pinouts.

So if you're troubleshooting failures in these areas, hopefully this will help... I may find myself attacking the other IC pinouts in those areas as well; if I do, I'll update here with those revised schematics.

Please feel free to double check my work against the original and let me know if you find any errors; a second set of eyeballs often catches something originally missed.







Updated Diagrams:



Read more…

Simple Modular Flight Mode Switch - Build it for $20 


So... after reading Max Levine's Blog here about a simple 6-Way Flight Mode Switch, I decided to make my own; but I wasn't exactly satisfied with the lack of clear mode indicators.

I've also read about jDrones Arduino Flight Mode Switch based on Stefan & Roman's work; it REALLY is an awesome bit of fabrication. But after what appears to be stalled development for the last few months, I began to have second thoughts about their design.

IMHO, breaking the entire PPM chain, running it through plug-in connections to an add-on CPU, then injecting a modified PPM signal back into the TX JUST to be able to synthesize outputs to ONE channel... that is beyond tempting fate; it is BEGGING Murphy to make an example of you in a manner suitable for a Darwin Award.


After some several conversations with Stefan, I find that I was mistaken about how his Arduino-based switch works; it doesn't "loop out" the PPM stream, it only adds a PPM stream for one channel which the TX is then expected to mix to the channel being used to control the APM Mode Selection.

While I still believe in the KISS principle, and like my design better for its simplicity, I think our major disagreement really revolves around which is more intuitive to use blind; a rotary knob or pushbutton switches. This is a debate which has plagued designers of electronics since the dawn of electronics; I don't think we're going to definitively resolve it for all time over this one little project. ;)


So I decided to employ the KISS principle; keep it Analog, keep it within the grasp of ordinary tinkerers, and make it the best I can with off-the-shelf components. I wanted to be able to take it off my TX with a minumum of fuss, so it needed to be self-contained. After much consideration, I formulated a design that was very simple and adaptable which anyone with basic hobbyist fabrication skills and tools should be able to duplicate.


This was the result.



Alternate Circuit with TrimPots:



Radio Shack

$3.49 (1) Radio Shack # 270-1801 3" x 2" x 1" plastic Project Enclosure

$2.99 (1) Radio Shack # 274-0433 1" Red Insert Control Knob

$3.49 (1) Radio Shack # 275-0034 2-Pole, 6-Position Rotary Switch

    OPTIONAL: $14.49 (1) Radio Shack # 271-312 Resistor Assortment (Jeez - I remember when this was $3.99, and STILL way overpriced)

Generic Parts

(1) 22Ω (Red, Red, Black) 1/8W or 1/4 W Resistor

(2) 1500Ω (Brown, Green, Red) 1/8W or 1/4 W Resistors

(3) 820Ω (Grey, Red, Brown) 1/8W or 1/4 W Resistors

These are available in the optional kit above if you don't have them in your parts bin; otherwise, there are several vendors on eBay who Sell small lots (50-100 pcs) of individual values for $1-4/lot.The pin spacing on the switch lends itself to substituting 1/4w SMD resistors, I just happened to be out of 820Ω at the moment, so used regular axial-lead resistors.

$3.29 (6) PLCC-6 5050 White 3-Chip White LEDs ( Be SURE to get 3-CHIP White LEDs to match the 22Ω ballast resistor; I bought these:

$2.00 (2) 6"-10" Servo Wire W/Female Plug

$1.00 (1) 3-Pin header or Male Servo Plug $2.00

(6) Lego Part # 362201 1x3 Brick in White (I snurched grey ones from my son's 20-ish pounds huge collection)

(1) 1" x 3" flat scrap of clear blister-pack plastic (From the top of a Cake Box or similar thickness)

(1) 1 sheet Glossy Photo Paper

Alternate Configuration:

(4) 10KΩ 1/2W 25-Turn Trimpots, Series 3296 (I bought mine here: )

Add a couple bucks for paper and incidentals and we're right around the $20 mark; plus cost of resistors if you don't have them in your parts bin. (Shame on you. ;-) )

Theory of Operation:

I wanted my design to be able to work with any TX; so I chose the simple black box, which is JUST big enough for the components we'll be using. I've designed my Mode Switch around a Left-hand side installation for certain reasons; I want to be able to use it without taking my hand off the cyclic (RH in my case) stick, and placing it on the side means I can operate it with fingers and still keep a thumb on the Yaw/Throttle stick. I chose the big red knob as an homage to Jean-Baptiste Emmanuel Zorg and his "little red button". ; -)

Due to the leverage of the large knob, one can easily operate it with fingertips; the pronounced pointer on the knob means that once one gets used to it, one can actually tell by FEEL what mode s/he's in without having to look at the display.

I've placed my STABILIZE and RTL modes at the top and bottom of the range on purpose; in time of panic, no thinking or taking your eyes off the craft is needed, all you need to know is to flip it all the way up or all the way down to be at whichever "Safety" mode you want. If the Mode Switch fails, either by shorting out or by going open/being unplugged, it will go directly to one of those two safety modes.

By choosing WHITE LEDs, I greatly simplify my design. When using colored LEDs, one must drive them at different current values to achieve similar PERCEIVED brightness; this would mean a separate ballast resistor for each indicator light. This design allows me to use a single current-limiting resistor for all indicators; color coding is done along with labeling at time of printing the Indicator Screen.

Max Levine's design used series-paired resistors to arrived at a value for R2-R5 of 850Ω; my design substitutes the closest standard resistor value, 820Ω. I've tested this array with both my Turnigy 9x and 9XR transmitters; results in MP are flawless. Obviously, if you are going to use this design on another model of radio, you may need to change these values to match your different hardware.

For Reference:

The Turnigy design uses a 5KΩ potentiometer, with +5V at the end of the scale and GND at the beginning. The +5V on the outer tab of the potentiometer is connected direct to the 7805 regulator with no ballast resistor, and the opposite outer tab is connected directly to GND. This means we can use the same +5V & GND applied to the outer tabs of the potentiometer to power our indicator LEDs; our entire setup can be operated through a single 3-wire servo cable!

If you are going to use this design on another TX, you need to make sure of the following:

1) That B+ voltage for the potentiometer has no resistor in circuit with the power source, whatever voltage it is. If there is one, you'll need to run a separate B+ to power the LED indicator circuit.

2) That GND for the potentiometer has no resistor in the circuit to main chassis GND; often if they use a ballast resistor in the B+ circuit, they often also use one in the GND circuit as well. If they do, you'll need to run a separate GND for the LED indicator circuit.

      The reason this is important is this: If there is/are ballast resistors in the source voltage to the potentiometer, the current draw from the LED indicator circuit will cause a voltage drop which will affect the signal output. NOT GOOD!

3) My LED indicator circuit is designed to operate from a 5V REGULATED power source; the 7805 Regulator which feeds B+ to the potentiometer. If your TX provides a different voltage, you'll need to substitute a different value for ballast resistor R1.

These particular LEDs require a max of 60ma (3 Chips x 20ma ea); the 22Ω ballast resistor drives them at approx 55-57ma from a +5V source for maximum brightness. This means there is VERY little wiggle room for varying voltage above 5V.

This site will give you assistance calculating the correct ballast resistor: (They also have Series and Parallel calculators available)

Your configuration is:

Supply Voltage: YOUR Measured Supply Voltage

LED Forward Voltage/Voltage Drop: 3.2-3.4V

LED Current: 60 Milliamps


First, we need to build the Lightbox. I chose 1x3 Lego Bricks because they are readily available, and I know they will fit in the smallest project enclosure Radio Shack sells. You can buy them individually from the Lego Store if you have one in your local Shopping Maul™ otherwise, they're $0.20 each from the Lego Store online. For convenience, I've snapped them into a piece of Lego "base plate"; this gives me a bit of leverage when working with them, and keeps them from flying away. As much.


These 1x3 bricks are just the right size; unfortunately, they have these little pins that get in our way. Some variants have this webbing between the pins and the sidewalls as well; it needs to be cut through to separate it...


then we place narrow pliers so they bottom out inside like so...


And squeeze, breaking one of the pins loose.


After that, we can grip the remaining pin like so, and rock back & forth until it breaks.


This gets us to a point where we can quickly remove the last bits of stubborm plastic with a burr on a Dremel...


And now the final form of our lightbox begins to emerge.


Next we have to drill holes for the LED wires to come through; I used a 1mm drill on my Dremel.


Drill one hole close to each side of the center peg as shown; do this for each of the 6 Lego bricks.


Now it's time to turn the bricks into one single assembly; if you haven't already, you really need to plug them into a piece of flat panel now to keep them flat and square. Be very careful with the Super Glue; more than a couple drops on each seam and you'll glue your lightbox to the flat panel.


Use the pickup tube from your CA Accelerant to place just a drop precisely on the seam...


Then, when the CA is cured, remove the assembly and repeat both steps on the seams on the opposite side.


Center the lightbox between the two screw stanchions as shown, then use a knife to precisely mark the location on the top edge of the sidewall...


Then use those marks to align the lightbox on the outside so you can scribe the cutout with your knife. I used modeler's clamps (Rubber-jawed plastic clothespin-looking things) to hold it in place so I could scribe the bottom edge.


Now it's time to cut. Use the thinnest cutoff wheel you have, and set the speed as slow as you can without stalling the motor. Cut slowly and carefully; patience here pays off in a nice-looking end product. If you go too fast, the cutting action turns to friction/heat/melting action, and you'll distort the plastic and get bits of melted plastic everywhere. If your hands are steady enough, they do make sawblades for the Dremel; I find that the sanding action of the cutoff wheels makes a much smoother edge with my not-so-steady hand.


Here's the rough cutout; you are going to cut through the sidewall and two of 4 standoffs made for a PC Board in the bottom of the enclosure. I know this looks like total bunk, but that waste will actually just snap off with a little finger pressure.


In order to make it fit, you'll need to cut the lid to match; not a lot, just through the lip and almost flush with the underside of the lid. This step and the next one are very fiddly; a lot of trial fit, sand, trial fit, sand, trial fit, sand etc. This pic is from later, after I'd already installed the switch and wired the lightbox; but it's the best view I have of this work. Here you can also see the selector brush on the switch contacting Position 1.


Now is where you'll need to do your smoothing and final finishing of the opening; I use medium and fine emery boards to make short work of it. I recommend the thick, wide foam-backed ones... if you don't know what I'm talking about, ask any female. Yes, she will know. If you're careful and patient, you'll get results like this.


This is what our LEDs look like up close; the corner with a notch in it marks the leads for the cathode (GND) side.

DSC09385.jpg DSC09384.jpg

We're going to need to solder across all three pins on each side of the LED, to power all 3 chips inside. I form my leads like this to facilitate that. The GND side lead is made of a single strand of regular automotive-type hookup wire. I'd guess approx 28 ga or 0.2mm; pretty much as thin as you can handle without fear of breaking it. All the rest of my wires are salvaged from old VGA signal cables or the modder-style round IDE Hard Drive cables. Leads don't need to be more than 100mm long or so.


Here's the GND side of the LED...


and the finished LED. Only 5 more to go. When you're done building, you'll need to thread the wires through the holes in the lightbox; I found that molding imperfections in the LEDs meant a few of them needed a LITTLE sanding with an emery board on the sides WITHOUT WIRES to fit inside the cavity. Oh well; so much for calculations and MFR Specifications. ;)


When you're done, the LEDs should fit flat against the bottom of the cavity like so...


and wires should be routed like so. Notice how I have all the GND leads drawn together into a single bundle, then nipped off leaving approx 4mm or so; this is to solder a single insulated GND wire to.


Here you can see where I've tinned the wires and soldered the GND wire in place; now lace the wires between the Lego pegs like so...


Then apply hot glue like so to insulate and provide strain relief on the wires.


Here I've wired up the indicator LEDs to one half of the 6-Position switch; notice the 22Ω LED Ballast Resistor soldered to the COMMON tab in the inner ring of tabs.

Also note that I've soldered a GND wire to the metal frame of the switch for noise rejection. This wire will be included with the other GND connections once the MODE selection half of the switch is done.

Ignore the fact that the lightbox is glued down in this photo; the next morning I made a major revision and had to tear it all apart again.


Here is the start of the major revision; making a lens out of the flat blister-pack plastic. Lay it up against the opening to scribe marks to get the width EXACTLY right...


then cut against a straightedge to get the perfect fit.


Here I'm laying out to get the length of the lens just right. You can also see where I've undercut the body of the sidewall with my Dremel and cutoff wheels and burr to thin it out around the lens; this is a VERY painstaking process, and unless you already know how to do it and feel confident in doing it, I'm not going to recommend you try it.

I'm not even sure how to explain the process; it is just SO fiddly. Bottom line is it's PURELY cosmetic; without this, the lightbox will just be inset a few mm deeper.


Here I'm test fitting the lightbox with my lens in preparation for hot-gluing the lightbox in place. You can easily see how the undercut I made works. It should also be evident how things would look if you don't make the undercut; not REALLY a lot of difference. Make sure to include a slip of paper between the lightbox and the lens; believe it or not, that little bit of difference can make the lens bow out noticeably and look bad.


Here we have the lightbox glued in place; in retrospect, it probably would have been better to flip it over so the wires point down. They tend to bunch up between the light box and the switch unless routed exactly right.


Here I've got the switch installed in the lid; I located it dead center in the middle of the box by making an X with a ruler laid across the screw holes. I later found that with the lightbox in this location it hits against the switch ever so slightly, so I'd recommend moving it about 3-5mm further down (away from the side with the lightbox) for clearance.

You can see now I've wired up the Servo wire and resistors; the 22Ω LED ballast resistor now connects to Pin 1 of the Mode Select side of the switch for +5V, then 1500Ω, 820Ω, 820Ω, 820Ω, 1500Ω resistors.

I lay out the resistors with bent legs pointing down alternating against legs pointing up just for clearance. Note also that I've changed the pinout of the servo wire plug to match the normal layout of a potentiometer; this serves to remind me NOT to plug it into a servo port.


Now it's time to do the modding inside the radio; here I have everything plugged into the original Potentiometer to test that the action goes in the correct direction. On this pot in the Turnigy 9XR, GND is the yellow wire. My male connector is just a 3-pin section of flat 0.100" header with heat shrink tubing; use clear heat shrink so you can still see the color coding of the wires.


Here I've moved the connection out of the way so you can see the wiring of the pigtail to the potentiometer. As long as you put the SIGNAL wire in the center, it doesn't matter which way it gets plugged in; all that will happen is that the action will be backwards; you can't harm anything.

If you get the Mode Switch backwards, it'll work backwards too, but the LEDs will be reverse-biased diodes, so they just won't light up. If you get it so the Mode Switch action works opposite of the LED indicators, you can either swap everything between the B+ and GND pins of the Mode select side of the switch, or alternately, you can just program in a Servo Reverse on that channel on your Transmitter.

DSC09443.jpg And here is the last piece of the puzzle; the Indicator Screen. As you can see, I've printed this up using an ordinary BubbleJet printer; I found that on plain paper like this, it's useable but grainy looking.

I made it much better by using Glossy Photo Paper; after MUCH trial and error, I made one which looks quite good both lit up and against ambient light.

Here are some pointers:

First, use the CHEAPEST glossy photo paper you can find; the stuff from the Dollar store is good. You WANT the cheap stuff because it is thinner and allows more light to pass through; in photography, this is a bad thing; here it works in your favor.

Glossy Photo paper is VERY delicate and easy to scratch; I put a layer of 2" wide clear packing tape over the printed screen before cutting it out to protect it from scratches. Leave a little plain white paper on each end as in the photo to help it all lie flat, and to make it easier to get it centered perfectly.

Set your printer to Glossy paper, highest quality mode, and VIVID color. This produces the best contrast and clearest text and the blacks are blacker.

An alternative would be to use a color laser printer; I'm certain one could get very fine, clear text with that even on plain paper. My color laser is down due to expensive cartridges or I'd have tested that as well.

Either way, you need to make sure you print in SCALED PRINTING at 100% scale to get them to print out actual size; if you can't get that to work with your usual photo viewer, try opening the image in MS Paint, then go to Print / Page Setup and select SCALED Printing, 100% scale, then APPLY.

I've attached templates with MY setup, MY Setup with no color, just the plain block outline with colors, and the plain block outline with no colors, as well as a "colors only" background so you can attempt printing text with a B/W laser printer and make the colors with a color Bubble-Jet.

With all these options it should be easy to select a starting point that will give you the results you like; you can use the Text Tool in MS Paint to create different text for different modes, or you can refill the blocks with different colors if you prefer. I DID, however, spend a fair amount of time testing and selecting these specific colors to be as clearly different from each other as possible both illuminated and in ambient light.

I used ARIAL NARROW Font, BOLDED, in 10 pt for the short words and 8 pt for the longer words.

Closing Notes:

As you can see making different flight modes is easy; just print up a new screen and slip it in under the lens.

The Radio Shack case comes with Cad-plated (silver color) Philips flat-heat screws; I've replaced them with 3mm x 10mm Socket Head Cap Screws (DuBro Part # 2123 or available from RTL Fasteners here: ) for a more Industrial look.

I'm not going to get into mounting the thing; that is something that will vary greatly with a user's preference. My test setup is just held in place with a little servo tape until I decide on final exact placement. I find this is MORE than stable enough for everyday use; I may or may not fabricate a bracket for easy removal.

All right; time to get your parts and snurch some Legos from the little ones!

Cheers, and Happy Modding,


I survived ANOTHER Build Blog.








Read more…

APM2.5.2 & 2.6 MIC5219-3.3YM5 (GL33) Regulator Mod & Alternate Capacitor Mod

Supplies Needed:

MIC5219-3.3YM5 SOT23-5 Package 3.3V Fixed Voltage Regulator

0402 or 0603 size SMD 470Ω Resistor ( Marked [471] )

(1) 1206 size 100uf 6.3V Ceramic Capacitor or (2) 1206 size 47uf 6.3V Ceramic Capacitors; more if you want to fully "Harden" the APM board at all plug-in headers.

Good, temperature-controlled soldering iron with 0.5mm Conical Tip

Chem-Wick or similar professional-quality desoldering braid in "Fine" size/guage; I recommend against Radio Shack for this due to poor quality

0.015" super-thin solder; I prefer 62/32/2 Silver-Bearing Alloy (Radio Shack # 64-035 is a good substitute)

Teeny-Tiny Needle-Point Tweezers

"Dilbert-Level" Mad Micro-Soldering Skillzz

Optical Magnification and Lighting Devices:


THE Mod:

Some time after blogging my LM1117-3.3 Regulator Mod, I found myself reading reading Joe Abrams' infamous Post # 1491; in it he describes his recommended diode protection Mod and makes mention of substituting another regulator, the MIC5219-3.3YM5 ( I will hereafter refer to it as the GL33, its common name after the case marking found on the SOT23-5 package variant).

It was one of several I had considered at the time I started on my Mod; it is a descendant of the LM1117, only in a smaller SMD package. I did in fact spend some time searching for one either in my parts bin or that could be salvaged from scrap electronics; in the end, I went with the LM1117-3.3 mostly because it was handy, and larger, so easier to handle.

So now I found myself wondering... "Indeed... why NOT the GL33, Mr. Abrams?" It comes in the same SOT23-5 package, and is a pin-for-pin substitute, only with much broader operating voltages and is again known to be nearly bulletproof in this sort of application.

The only problem is the need to drive the ENable pin HI rather than LO; and its EN pin is rated for direct connection to V-IN, so simple enough to modify to fit. I decided then to order some; a couple weeks later they arrived via the slow boat from China, and I was ready with another faulty APM board.

First off, we prep the board by removing the old 3.3V regulator. Philip of DIY Drones has an EXCELLENT video tutorial HERE for replacing the stock TPS79133 regulator; we'll be doing precisely this process, only we'll Mod the GL33 regulator so we can add a tiny SMD 470Ω resistor across the V-IN and ENable pins, so only 4 of the 5 legs of the regulator will be soldered to the board.

The reason for using this resistor is twofold: First, it has an insulated ceramic body, so can be safely used as a jumper passing over the GND pin between the V-IN and ENable pins. Secondly, it will limit maximum current flow through the ENable circuit to approx 10ma; this means that in the worst case scenario, if the enable pin is shorted to ground by some foreign object or crash accident, the worst that will happen is it turns off the regulator. We are in effect making a buffered connection known as a "Pull-up Resistor" circuit.

If this sounds like I'm speaking to you in Martian, I suggest that you may wish to consider having a geekoid friend do this work. You DEFINITELY need to be in touch with your Dilbert side to be able to do this Mod; it involves VERY tiny soldering which one has to get right the first time. ;)


Here you can see my APM2.5.2 board all prepped for the new regulator (Circled in RED); the APM 2.6 board will be the same.

While I have this excellent pic up, I'd like to point out another potential failure which can mimic the shorted 3.3V regulator fault. This board arrived with the 3.3V regulator already replaced, but still had 5V on the 3.3V rail. After removing the 3.3V regulator, I tested again to be sure nothing else appeared wrong; I found it STILL had 5V present on the 3.3V Rail!

Close inspection of the board revealed a solder bridge across the 3.3V-IN and 5V-IN pins of the TXB0104 Level Converter for the FLASH RAM; it is VERY likely this fault existed from the factory as a wave soldering defect, and only exhibited issues after the faster clock rate of recent firmwares caused issues.

There are TWO of these Level Converters on the board; either can cause this failure, and those pins are TINY and very close together. Inspect VERY closely if hunting a similarly persistent 5V fault on these boards.


Here we have the LG33 regulator; we are going to Mod it by flattening the ENable pin between the tips of a pair of tweezers so that is protrudes horizontally from the case. Really, that is all the force needed; just a squeeze from a pair of tweezers.


When we're done, it will look like this. Now, we're going to install it on the board as shown in Philip's video; the only thing we're going to do differently is NOT solder down the ENable pin which we just flattened. Here it is again so you can review it:

Next, we're going to install the 470Ω resistor across the V-IN and ENable pins:


The one I used is 0402 size (1mm L x 0.50mm W); 0603 size (1.6mm L x 0.80mm W) is also small enough to fit here.


Tack down one side to the ENable pin, then solder the other end to the V-IN pin like this, so that the dark side with [471] printed on it faces up. It is okay for the white side of the resistor to lay across the GND pin underneath; it is the ceramic substrate of the resistor, and has a higher insulative value than pretty much anything else on the board. Just make sure there are no solder bridges to the center GND pin from either adjacent pin as seen here.


Now I'm going to clean the flux from the repair area by scrubbing with a stiff paintbrush dipped in alcohol; be sure to protect the barometer from contamination by covering the holes in the metal can with a finger as shown here. Removing the flux is optional; unless the flux residue is contaminated by another liquid later, it will cause no harm to the APM board. I find it is easier to inspect the quality of my work with it removed, however. If you already have a foam square over the baro, you may prefer to skip this step.


And here's the finished product, ready for testing. First, we test with a meter across all legs of the regulator for obvious shorts, then plug it into USB on the computer and wait for it to complete its Power On Self Test. I then check the 3.3V rail at the I2C bus, and if all appears okay, I disconnect, add GPS, and verify that all sensors test OK in Mission Planner's Terminal applet.

If everything tests good, I move onto the Flight Data/HUD screen and do a manual ""Reality Check" to see that it reacts as expected when I change the orientation of the board and that it doesn't have any massive jitters.

Bench Testing:

My bench testing for this Mod was similar to my testing with the LM1117-3.3; first, I connected it to my PC via USB ONLY as Philip did in his article on the DIYDrones thread on this failure.

A DVM is connected via plug-in patch cables to the 3.3V rail at the I2C port and another to the 5V rail at the INPUTS header; both are monitored throughout testing.

I have streamlined my hot-plug testing a bit; of all the RX and other surge load devices I tested before, I only used the worst offender, my ORX RX3S 3 Axis Gyro/DSM2 RX, as a test load with this setup. It offers a fairly stiff combination of resistive current draw and large, Low-ESR ceramic capacitor of approx 150uF total value in the primary power input section, and was by far the most aggressively disruptive device I tested with my LM1117-3.3 regulator Mod.

My testing was simple, yet strenuous (at least for my patience); 20 cycles of hot-plug, monitor effects, reset and test again.

Without any other mods to the board, I would hot-plug my RX into the INPUT 1 port of the Input header; although I never heard the distinctive "Bing-Bong" noise from the PC indicating that a USB device had been unplugged, MP would disconnect each time, and I would be unable to reconnect until I unplugged USB and plugged it back in again.

After 20 cycles, I experienced the same exact results each time; and monitoring with MIN/MAX on both meters indicated 3.3V fluctuated from 3.21 Min to 3.330V Max, with 3.28V typical read on display. 5V fluctuated from 2.22V Min to 5.05V Max, with 4.97V typical read on display. Typical voltage input at USB header is right on at 5.01V; however, a small voltage drop (0.07V) occurs across F1 directly after USB header.

Overall, this suggests that capacitor filtering at the 3.3V rail is sufficient to prevent the 3.3V from fluctuating very much, but just as Philip suggested, the 5V rail fluctuates greatly, with PC power supply for USB port possibly even going into shutdown for a micro-fraction of a second.

Alternate Capacitor Mod:

At this point, I felt it was time to move onto the next part of my Mod; adding Protection/Buffer Capacitors at the 5V input Rail as per Philip's Mod. My variation on this Mod attempts to make a completely user-transparent upgrade to the board.

I wanted the end product to fit inside the ArduPilot case with no modifications required, and I wanted it to NOT disable ANY I/O header on the board; as I have discovered after speaking with many users, there really is no way to predict which headers a user is going to need.

After fighting with commonly available 1210-Size (3.20mm L x 2.50mm W x 2.50mm H) 100uf Ceramic capacitors for space to install; it occurred to me that 1206-size (3.20mm L x 1.6mm W x 1.6mm H) capacitors would be small enough to fit on the bottom of the board and allow clearance to fit inside the case; and as a bonus, they fit very neatly in between the pins of all the main plug-in headers!

This flexibility of mounting allowed me to place the buffer capacitors where I felt they MOST needed to be: right at the point of attack, where the RX was plugged in at the INPUT 1 Header.

As luck would have it, I found that 100uf Ceramic capacitors of this size ARE available, but not exactly cheap; averaging approx $1.50-$2 each in small lots on fleaBay. I DID, however, find a vendor offering 50pcs of 47uf 6.3V 1206 size ceramic capacitors for $10.00 shipped, and a US vendor to boot!

1206 Size 47uf Capacitors on eBay


Here we are desoldering in the space between the GND and 5V pins at INPUT 1 and INPUT 2.


We are doing this so that the capacitor will have room to lie flat and flush against the board between the pins.


Here we are placing the first capacitor...


...and here it is soldered in place.


If you are using 2 47uf capacitors as I did, you'll want to do the same thing in the space between Input 2 and Input 3; here it is and the resultant measurements from my ESR meter. SUHWEET!

Testing the Capacitor Mod:

As before, I would repeatedly hot-plug my RX into the INPUT 1 port of the Input header; now I was unable to make MP disconnect, and live data remained constantly available throughout test period.

After 20 cycles, I experienced the same exact results each time; monitoring with MIN/MAX on both meters indicated 3.3V had no measurable fluctuation, remaining rock-steady at 3.28V with Min/Max reading the same.

5V no longer dropped and spiked as before; It simply dropped from 4.98V to 4.88-4.89V; voltage dropped across F1 now measures 0.11V due to increased load from ORX RX3S 3 Axis Gyro/DSM2 RX.


"Fully Hardened" APM Board:

I consider these results to be an unqualified success; but I'm still not done. As I've stated before, it is sound engineering practice to place buffer capacitors at the power rails of any user-accessible plug-in connectors; to this end, I've installed additional 47uf capacitors at the Analog, Output and I2C header connectors to fully harden this board against voltage fluctuations caused by the many depredations of exposed plug-in connectors.

These are of course optional; however, it's not like it costs much to add a little more protection, so why not?


As promised; the entire point of this complicated Mod was to make it so it would fit inside the ArduPilot case; and here is the finished product. Only you will know it's now a TankDuPilot; well, you and of course the Gremlins. ;)

In Closing:

Please remember, as with my APM LM1117-3.3 3.3V Regulator Mod, this is a Mod which is still in Beta.

PLEASE, PLEASE, do not attempt to fly in any Autonomous mode without first testing as extensively as possible on the bench, and then verifying that all manual modes work correctly BEFORE enabling any Autonomous flight modes. I REALLY don't want to copy all the scary warning stuff I put on that Build Log over to this one; but if y'all don't behave, I WILL. :D


Read more…