3 We've had sporadic [Altus Metrum](http://altusmetrum.org/) customer reports
4 about RF susceptibility issues with their
5 [TeleMetrum](http://altusmetrum.org/TeleMetrum/) installations. In almost
6 every case, these problems have been completely resolved by either making
7 sure the system battery has sufficient charge before launch, or through the
8 application of standard engineering techniques such as twisting wire pairs
9 to reduce differential coupling. However, even when every technique we could
10 think of had been applied, once in a while someone still had issues.
12 Around the time of LDRS this year, the incidence of such reports seemed to
13 increase. One customer, in particular, had an installation in which he
14 virtually always saw continuous resets of the board once his 54mm airframe
15 was put on a launch rail, and several customers reported seeing board resets
16 during ejection charge firing. [Keith](http://keithp.org) and I saw a board
17 reset during main charge firing happen in person at
18 [NCR](http://ncrocketry.org)'s Oktoberfest, and with a couple days available
19 to work together after that launch, we decided it was time to figure out
20 what was really going on.
22 Here's what we've learned.
24 In bench testing, it quickly became clear that the problem was the 3.3
25 volt power supply rail getting pulled down far enough to reset the CPU.
26 This most frequently happened during ejection
27 charge firing, when the input of the LDO regulator is pulled down by the
28 near-short presented by the e-match when a pyro FET is turned on. To keep
29 the 3.3 volt rail voltage up during firing, we include a 100uF bulk capacitor
30 on the regulator's output. In all of our prior bench testing, we never saw
31 the 3.3 volt rail droop significantly. Clearly something had changed... or
32 maybe several things had changed?
34 The first thing I wondered about was whether the new Kalman filtering code,
35 which requires more compute cycles from the processor, might be consuming
36 enough more power to pull the rail down faster during charge firing. After
37 poking around at it, though, we have no data to suggest the new code makes a
38 measurable difference in power consumption.
40 The next thing we pondered was that at least some of the e-matches we and
41 others are using in the hobby now come from the fireworks industry, where it
42 is apparently considered a feature for the match to retain continuity after
43 firing. This means the input of the LDO gets held down for longer than with
44 the e-matches we used to use and Quest Q2G2 igniters that open when fired.
45 But that still didn't make sense as the root cause, as we chose the FET
46 firing time such that even with a dead short across the igniter terminals,
47 the 3.3 volt rail wouldn't be pulled down far enough to cause trouble during
50 One of the big changes between v1.0 and v1.1 on TeleMetrum was that the newer
51 boards incorporate a better reset circuit. This helps ensure the GPS chip
52 always comes up running at power on, which was a problem at temperature
53 extremes with older boards. However, a side-effect of this change is that
54 a v1.1 board will reset any time the 3.3 volt rail drops below 3.15 volts,
55 whereas older boards didn't trip until a much lower voltage. So the recent
56 increase in reports might just be related to more v1.1 boards being placed
59 While experimenting on the bench, we observed that injecting RF energy into
60 the input of the LDO regulator had the effect of pulling down the output
61 voltage, presumably because the internal reference source accumulates charge
62 and is fooled into thinking the output is too high. Since our designs all
63 have the power switch contacts ahead of the LDO, the wires going out to the
64 switch and back are effectively an antenna... as are, to a lesser extent,
65 the wires going to the e-matches. There is some variability from part to
66 part in just how badly the LDO reacts. But by attaching a tuned length of
67 wire as an antenna to the LDO input and playing around, we were finally able
68 to reproduce the problem reliably on a test board at my bench!
70 On further analysis, we realized that the output of the USB battery charger
71 chip and the input of the LDO both expect a 1uF bypass cap to ground. At
72 some point, those looked redundant and we eliminated one of the
73 two. Unfortunately, we weren't internalizing the fact that the switch leads
74 were between the two caps, and the one we left was on the output of the charger
75 and not at the input of the LDO. Placing a suitable bypass cap right at the
76 input of the LDO turns out to have a truly dramatic effect on RF immunity!
78 Once we realized that RF getting into the LDO input was the problem, Keith
79 pointed out that we used to see "noise" in the accelerometer data on earlier
80 boards that was caused by the 3.3 volt rail moving slightly during radio
81 transmit, which we fixed with a hardware change on v1.1. We are now
82 convinced that this was at least partly related to RF coupling to the LDO
83 input, not just the change in power consumption on the LDO output. We
84 didn't realize what was going on in earlier testing because we often didn't
85 have ematches wired up, so RF coupling was minimal. But going back to
86 flights logged with v1.0 boards that included deployment, and studying the
87 magnitude of the "steps" in acceleration data observed when the transmitter
88 was on, Keith was able to compute the amount the 3.3 volt rail must have
89 sagged if the real acceleration wasn't changing... which in some cases was
90 as much as 180mV! We think this proves that RFI could cause the LDO to
91 drop its output voltage below the reset controller set point on v1.1 boards.
93 Based on these observations, I'm making two hardware changes for the next
94 version of TeleMetrum (version 1.2), and Keith is also making a software
95 change. We have tested all of these changes on real boards both on the
96 bench and in test flights, and the net effect is a major improvement in
97 the RF immunity of TeleMetrum.
99 The first hardware change is moving to a slightly lower trip voltage on the
100 reset controller. Instead of 3.15, the new part trips at 3.00 volts nominal.
101 This gives us more "headroom" to tolerate 3.3 volt rail droop during charge
102 firing, and will allow the board to operate longer on a given battery
103 charge. This change is not relevant for v1.0 and prior.
105 The second hardware change is adding an appropriate bypass capacitor right
106 at the LDO input. This requires a PCB update, but it's possible for me to
107 update existing production boards by adding an 0402 cap right across the
108 appropriate pins on the regulator chip.
110 The software change prevents our altimeters from turning on the radio
111 transmitter while an ejection charge is firing. Since the RF transmitter
112 draws substantial additional power, this should help keep the 3.3 volt rail
113 from drooping. This may not really matter, but it feels like the right
114 thing to do. This change will be part of our next stable firmware release.
116 We think most TeleMetrum customers need not worry about these updates. But
117 if you have seen odd resets on the rail or during ejection charge firing in
118 flight with a TeleMetrum v1.1, feel free to contact me about updating
119 your existing board to include these improvements.