MM Defender Controller

From PalOMoney
Jump to: navigation, search

The Mosquito Magnet Defender Controller is a small PCB assembly that controls the Mosquito Magnet Defender 1/2 acre corded trap. This model is explained elsewhere on the web. This topic discusses what it is and how it works, but based only on observation of the PCB, its components, and signals, as of the revision date.

Accordingly, this information is quite incomplete, is likely to be wrong in many aspects, and is intended to be revised by the community. Check back from time to time to see any updates. Interested parties are encouraged to register and edit and these pages or create new ones. For more information, see the MM blog.

September 2014: an old used MM Liberty has been acquired. It ran during the summer, but after running out of gas, failed to start mid month. While fixing it, I documented some things. See Mosquito Magnet Liberty.

June 2018: a very cheap WIFI internet of things development board was integrated into the controller to aid in troubleshooting and remote control. See the MM Defender IOT Controller topic.

For some background, see the Mosquito Magnet Project.

Schematic Revision 1

The schematic is titled: Defender Controller Circuit Board Assembly Plus External Assemblies

MMDefender PCB ExtAssy Schem r2.png

Readers are encouraged to fill in missing information or correct any errors.
MMDefender PCB ExtAssy Schem r1.png
Revision 2 corrects inaccurate timings and voltage annotations, pin and net T0CKI was TOckl, and the pin numbers on J1/P201 were reversed (pin 1 is the square pad)

In particular, J4 (not used) shows a connection on pin 2 to +5v, but connecting a switch or sensor to J4 would have no effect in the circuit as shown. Pin 2 is more likely GND similar to the J1 switch pins 3 and 4 instead of as shown. The Liberty has a "bag switch," which is not used in the Defender. C4 shown as ca 150 nF was replaced with a 100 nF cap with almost no change in waveforms or operation. Notwithstanding that, the unit would intermittently stop running over the next week, so the circuit was measured using the uC timing pulses, and it was determined that adding 20 nF to get 120nF yielded a close result. We can conclude that the value should be 120 nF, not 150 or 100.

Circuit Description

The heart of the system is the MicroChip PIC16C58B 18 pin SOIC micro-controller (uC) chip. This inexpensive, low end chip is one-time-programmable (OTP), and its firmware was programmed at the factory.

Along with the controller PCB, the Defender uses 6 other assemblies: an AC power connector, a power switch and LED indicator, a propane valve solenoid, an igniter, a fan, and a thermistor. These assemblies consist of the named component plus lead wires and female connectors that connect to mating connectors on the PCB.

The PCB contains 2 rectifiers to rectify the incoming 20 volt pp AC low voltage power source, supplied by an external transformer and a long low voltage cord. High current rectifier D2 powers the igniter circuit directly, without any filter capacitors. The resulting full wave rectified AC waveform reduces the effective voltage somewhat for the 12 volt igniter. D1, the lower current bridge rectifier, powers the internal rails (power supplies). U2 implements a regulated +12v supply to power the fan, propane solenoid, and the +5 volt power supply. It could also be (but isn't) used as the Vpp programming voltage. U3 implements the +5v supply.

The front panel switch does not switch the power, but rather simply goes to the uC RA0 input. R1 and C1 form an RC network to support the PIC internal RC clock circuit. The components result in a nominal 3 mHz clock frequency. An unknown and unused input on unpopulated J4 is connected to RA3.

The uC's main outputs drive the fan, igniter, and the solenoid, in that order. Each external device is driven by a transistor, which in turn is driven by the associated uC output pins RB1, RB0, and RB2. These pins are actuated in a programmed sequence to power the associated devices.

The uC is powered from +5v, and will shut down if the power supply drops too low, which occurs when the trap loses power. Otherwise, the uC gets its information from the thermistor assembly, which measures the temperature in the combustion chamber after the catalytic converter. The idea is that the temperature should not be too low, or too high. If these conditions are not met, the uC shuts the propane valve, runs the fan for a few minutes, and blinks the LED to indicate a fault.

The thermistor is configured with 4 resistors (R4, R5, R6, and R9) and 1 capacitor C4 to form a dynamic charging and timing circuit that measures the temperature. This circuit is used to measure a wide range of temperatures without using an A/D converter or comparator, inputs common on other controller chips but not on this low-end device.

The uC T0CKI input is intended for use of an external clock with arbitrary (slow) rise times. The input has a Schmitt trigger to implement a ~3.3v comparator with hysteresis. C4 is alternatively (1 each per second) charged via R5 (20k), and then via TH201 (200k thermistor) in parallel with R6 (162k).

RB5 goes high when the switch LED first goes out, powering R5 (20k) to charge C4 in about 2.5ms to about 3.6v, which triggers T0CKI and ends the charge. RB6 & RB4 go high when the LED goes on. At room temperature, TH201 (200k @ 25C thermistor) charges C4 in about 14 ms. As the temperature rises, the thermistor resistance decreases and charges C4 more quickly. With thermistor TH201 disconnected or open, RB6 via 162k charges C4 in about 23 ms. The uC sets all pulses low when T0CKI is triggered. The ratio of fast to slow charge times gives the approximate temperature measure. When hot, the thermistor pulse decreases to <1 ms (800 us). The LED flashes error at >6ms during run if combustion stops (e.g., out of gas).

Micro Controller Functions

All in all, this is a fairly clever circuit that uses one thermistor as a sensor to detect every fault.

  • If the propane runs out or the gas valve solenoid fails, the combustion will cease, the thermistor temperature will fall, and the unit will shut off.
  • If the fan completely fails, the combustion will cease for lack of oxygen.
  • If the fan partially fails, the uC will fault for too high combustion chamber temperature (just speculation here). (After some documentation with a running system, the combustion temperature rises to reduce the "slow" pulse to 0.8 ms or 800 us. It might be that this measurement is a lower limit, and that the unit cannot reliably measure hotter temperatures, unless it gets even more clever with the additional resistors and pulse outputs).
  • If the power fails momentarily, then the solenoid will release and the valve will close, and the uC will reset when power is restored.
  • When the power is restored, the unit will try to restart if the switch is in the Run position.
    • First, the uC resets then slowly flashes (1/sec) the LED signaling the start state, and cools the system to derive the baseline thermistor resistance. The unit runs the fan for 2:55 (just under 3 minutes) to do this.
    • The uC activates the igniter for 5 seconds and tests something (but what?).
      • It doesn't seem likely that the thermistor can react in this short time period, but it might because the unit can move to fault status after only 5 seconds of ignition.
    • The uC pulse width modulates the fan signal to 1/4 (10ms/40ms), which reduces the fan speed, and actuates the valve solenoid to apply propane to the combustion chamber and igniter.
    • After about 15 seconds, the uC returns the fan to full speed.
    • After a few (?) minutes, the uC observes normal operating temperature, drives the LED solid ON signaling the run state.
    • If there is a fault detected, the uC drives the LED with a fast flashing signal (error state), and turns off the fan after another 3 (?) minutes.


The Mosquito Magnet is great at controlling mosquitoes when it works, but too hard to fix when it doesn't. Evidently, there was not enough program memory available to be able to display blink error codes that could be read by users and interpreted in a user's guide or online forum. Instead, the support system worked off a canned script that included purging the system with expensive CO2 cartridges, then doing this and that before recommending sending the unit back for repair at great time and expense. Of course, most users will have to rely on outside service to keep their unit running.

It is not just a matter of being self-reliant or just plain cheap. During the time the trap is not catching as many mosquitoes as are flying around, they are biting and reproducing. Two to three weeks out of service in the beginning or middle of the season adds up to many bites.

Replace Your Nozzle

It is too easy to skip the expensive periodic maintenance using those too expensive CO2 cartridges. Their expense, plus the incorrect instructions that say to let the cartridge discharge for 15 seconds, when it is very clearly gone in one brief *whoosh*, add up to users just skipping that step until they notice problems starting the unit, at which time they will try (at the instructions of telephone support) several cartridges, resulting in a trap that now barely runs, and perhaps is much less effective catching mosquitoes than would be if the maintenance were done periodically.

In this case, replacing the nozzle with a new one in the combustion chamber resulted in the old trap catching hundreds and hundreds of mosquitoes each day, like when it was new. See below: The $5 nozzle and $3 tube of high temperature gasket sealer are insignificant compared to the ordinary operating and maintenance costs of running the trap. It is cheaper than using the CO2 cartridges, although it is a pain to separate the combustion chamber halves.

Update 7/2018: The $5 nozzle is for the wrong unit. The correct nozzle is a WDA nozzle, which is a little under $20. There may be an explanation for the 4x price difference. Also, Mosquito Magnet support no longer recommends using the CO2 cartridges. See the MM blog.

Stop when Moving?

It is frequently advisable to move the trap from one location to another as the daily catch drops off. The manufacturer directs that when this is done, the trap must be properly shut down and restarted. However, it is possible to move the Defender gently from one location to another with the power on. You must move it nearly *every day* to avoid a dead spot on the lawn. Just don't bump it around, and set it down gently. You can free up the cord, then carry the tank in one hand and head in another, dragging the cord into place, the rearrange the cord to suit.

Can anyone explain exactly what bad thing could happen if you move or bump a Defender or other Mosquito Magnet when it is running?

What Went Wrong Last Time (June 2013)?

During this documentation project, the controller board suddenly started working. It didn't work after cleaning and thoroughly drying the board. It didn't work after repeatedly removing and reinserting the various connectors. It did work after a few more days inside and then replacing the thermistor into the cavity using a new screw (broken when removing the thermistor assembly for inspection much earlier in this process). Also, 'scope probe ground clips were attached to the 1000uF power supply filter cap, bending the cap a bit. The leads from the caps previously had been noted to contain traces of rust looking material (rust?) on the PCB underside, however, probing the supply voltages at that time indicated no excessive ripple as might be expected from a disconnected power supply filter capacitor. The last occurrence was manipulation of the thermistor assembly wires when connecting and disconnecting the thermistor to measure the resulting timing pulse widths under different circumstances. But the pulse widths did not change during this fiddling except as expected. Because the unexpected return to functionality has not been explained, the system is now classified intermittent, now working. Amazingly, the new nozzle plus cleaning plus 2 weeks of inactivity has resulted in a very large catch over the few days it has been running. Since this is starting to resemble Voodoo electronics, my faith is now in new nozzles is growing.

What Went Wrong This Time (July 7, 2013)?

After running like new for a propane tankful and catching more than 3000 mosquitoes, the unit ran out of propane. No operator was checking the unit, and then it rained. When the tank was replaced, the trap did not start. Subsequent efforts to start the trap failed. The "intermittent" had struck, this time as a hard failure.

After some troubleshooting, the thermistor circuit did not measure the same as previously documented. The thermistor pulse could never charge C4 high enough. The cause was a spurious fluctuating 100 kOhm resistance to ground. The cause was apparently residual flux under C4 conducting whenever the humidity was not very low (as would be when hot operating, or after being left out to bake in the sun for a day or so). The cap was unsoldered, the PCB cleaned, and the spurious resistance eliminated. After re-installation, the circuit performed normally, and was documented (below) with a propane source. For a blow by blow description, see MM Defender 2013_07_07

I can’t quite explain how that PCB was manufactured. If it were using solder paste with rosin or no-clean flux, this would explain it. In high impedance circuits, you can never depend on non-conductivity of flux residue. All flux must be thoroughly removed, including no-clean. No clean works, if it works at all, only for purely digital circuits, and I would not trust it even for that. I use water soluble acid flux because it washes clean with running water (although I use an ultrasonic cleaner). An isopropyl alcohol mix aids in quickly drying the pcb.

High impedance circuits cannot tolerate leakage currents on the circuit board. These are caused by contamination and typically aggravated by moisture. When unsoldering components and cleaning the circuit board with isopropyl alcohol, a very thin conformal coating was observed. This coating initially presented as a very glossy finish, similar to an untreated PCB. The alcohol attacked the coating, and moderate brushing removes it. Because this coating was present from date of manufacture until this investigation, the contamination must have been present during the manufacturing process. The coating was perhaps too thin in a spot to protect the contamination from moisture. This circuit needs conformal coating to protect against contamination in the field, so we expect the unit to eventually fail again in the future, and will clean then apply the coating at that time.

What Went Wrong This Time (July 14, 2013)?

When reassembling the unit, some erratic flashes were noticed, and chalked up to some indeterminacy in the power cable or something. In the eager rush to catch mosquitoes and just be done with this thing, the unit was placed into service without finding the this new intermittent. It didn't take long for the trap to fail again, but all the time catching mosquitoes while displaying the slow "starting" flash. The unit was repeatedly resetting and restarting. This would eventually overwork the igniter and valve, potentially causing yet another failure. So the intermittent had to be found and repaired at once, or the trap powered off.

It turns out that the switch part of the Switch/LED assembly was only making intermittent contact. When this switch is opened, then closed, the controller will enter the start cycle, which begins with 3 minutes of fan only to cool down and perhaps recalibrate the thermistor circuit. The intermittent was fairly severe, but occasionally the switch would be stable enough to begin ignition and gas delivery. This caused enough CO2 to attract and kill hundreds of mosquitoes.

The switch was opened and examined. No corrosion was found. The contacts were nominally gold plated, but the moving part contained almost no gold. A very cheap switch. The contacts were polished, the switch reassembled, and tested. The contacts were much more reliable, but not rock solid. Accordingly, this switch should be replaced in the future.

Also, the wires soldered to the switch/led unit are too large in gauge for the terminal. The repeated manipulation of the unit from disassembly to reassembly had caused the heavy lead wires to twist the more delicate switch terminals. None had broken yet, but there was substantial fatigue so that additional reinforcement was indicated. This was provided by taping the lead wires about 1 inch away from the switch, so that they would all move as a unit, and be much stiffer coming out of the switch, eliminating any individual wire's stress on its terminal. Robustness under repeated disassembly and assembly were not part of the Defender's design requirements, but this should have never been designed like this. The unnecessarily heavy wire gauge was probably caused by trying to reduce wire size inventory and tooling requirements, but the result was incorrect for that switch. In this light, some sort of strain relief is required to mechanically fix the lead wires to the switch casing. Hot melt glue or potting compound comes to mind. Taping the wires together is perhaps an acceptable compromise. Time will tell.

What Went Wrong This Time (September 4, 2013)?

The Defender ran out of propane a couple of days ago. I replaced the tank yesterday, and it would not restart. I tried a few times, then again today. No gas solenoid "click," flashing LED error code after 3 minutes. Because I had not sealed the high impedance circuit, I suspected some contamination around C4 like the previous times. I placed the unit in the sun, still no luck. Then I took off the case top (the screws are all clean and not too tight, flipped the controller PCB so the components faced out, placed the controller in the sun, and still no starting. Noticing what looked like a black widow spider inside the case, I dragged the scope outside and looked at the thermistor circuit waveforms. Sure enough, the circuit was not charging fast enough, and only managed to get to about 2.5 volts and 0.5 volts respectively for the fixed (calibrate) and variable (thermistor) pulses. More leakage! I dry wiped the circuit, no effect. I then tried an alcohol wash (power disconnected) and dried in the sun. No effect. I then took a magnifying glass and focused hot beams on the traces and on C4 to dry out whatever moisture might be there. The voltages improved quite a bit, but not enough. I did burn the PCB a bit, though. So I unscrewed the power connector and unplugged the others, and took the controller PCB inside for examination. Sure enough, the ohmmeter read 89 kOhms across C4, the timing capacitor. Cutting to the chase, I unsoldered C4 and observed a mess of contamination under the cap. I cleaned this, and the resistance went to 2.7 mOhms, which comes from the CMOS micro-controller. This contamination must have been left over from my earlier repair. It is a good thing I didn't seal it the last time. This time, I made solder balls on the C4 PCB lands, and tack soldered C4 to the balls to elevate it about 1mm above the PC board, so I can clean underneath. I will again wait to seal the PCB to see what happens. Apparently, the cap was too close to the PCB for my cleaning to penetrate. Now it is in the air, and it was easy to clean, and keep clean, until it is finally sealed for good at some future time after I get tired of writing about this topic.

What Went Wrong This Time (June 19, 2014)?

The Defender ran out of the first tank of propane a couple of weeks ago, but had caught only a few mosquitoes. There just weren't that many around to catch, and it was raining, so I didn't replace the propane tank until last week, and it would not restart using all the techniques mentioned above. Also, the plastic I had used to cover the power switch had a hole in it, and the switch itself seemed a bit intermittent. I opened the case, and used an ohmmeter to measure across the timing capacitor C4. It read about 13 kOhms, not several mOhms. The last time, I had mounted C4 in the air so that I could clean underneath it, and I did so with 91% alcohol and a brush, and the resistance increased to about 33k, still way too low. I then disconnected the controller board, and in the process broke all three nylon standoffs off at the metal combustion chamber case. I took the board inside and tried cleaning and inspecting under a microscope, with no effect. Then, I unsoldered C4, and the circuit went open. I measured C4 and it was high resistance. I then made even higher solder balls (ca 2mm) and soldered C4 onto them, so that the would be even more clearance for cleaning and inspection. I cleaned the board further, and noticed the stranded power connections were breaking, so I trimmed the power zip cord and reattached it to the PCB for a fresh start there. I connected the board to the unit and applied power, and the unit started as normal. I left 2 of the 3 standoffs in the board to protect from the board touching the metal combustion chamber, and positioned the board using the stiff wires attached half way between the combustion unit and the outside case. I hope that a hard rain will not cause problems -- the board really should be close to the metal case, but I didn't have new standoffs, nor any easy way to extract the #6 plastic studs from the metal, and I just wanted to get done. I intend to extract these and replace the standoffs when I get inspired some time in the future. I used a much lighter gauge ordinary supermarket plastic sandwich bag to wrap around the on/off switch. It is very flexible and clear, so maybe it will last a long time.

I think that I was able to clean underneath and around C4 because of what I did last time. I have to conclude that perhaps the problem was moisture in C4 itself that was evaporated by the soldering process (but not by the magnifying glass heating the last time). I am still not going to seal the circuit, even though I dropped a small router tool on the floor and had to move the acrylic conformal coating to look for it (I didn't find it). The last repair lasted almost a year. I think I will replace C4 the next time, if cleaning it and the board don't work. I think I don't need to precisely measure the ca 150 nF cap because the software should be self calibrating, but we shall see.

What Went Wrong This Time (July 12, 2014)?

After moving to a new more rural location that included a designated wetland, I purchased an additional MM Liberty to handle the larger property, and planned to leave the Defender at the more urban house. However, just before the move, it ran out of gas, there was rain, and, with a new tank, it did not start. It had lasted only one tank. Later, I moved it to the new house, opened it up and measured from the thermistor to ground, and again, about 12 kOhms, not several mOhms. Heating the cap terminals with the soldering iron restored the high impedance, and I decided that the cap itself was moisture sensitive, of which I have never heard. The recent move meant my electronics stuff was still in chaos, but I was able to find some acrylic conformal coating, which I applied and allowed to dry. That way, no amount of moisture will be able to enter the cap and cause the low impedance. I set it up on the other side of the house away from the wetland, and it caught more mosquitoes in a week than it has ever caught. I decided I needed 2 MMs.

What Went Wrong This Time (September 3, 2014)?

That lasted two tanks. Again, C4 measures 12 kOhms. The cap was encapsulated in conformal coating. What could be wrong? I heated the underside of the board with a heat gun, and the resistance actually decreased! Only by using the soldering iron to melt the solder on one side of the cap was I able to make the circuit go high impedance. That's enough: time to replace the cap. On the schematic, the cap is labeled as ca 150nF, but I wanted to make sure that the new cap would behave similarly to the original.

MM C4 2K 12K Orig.png
I used a function generator to generate a low level square wave and a 12 kOhm series resistor to inject a signal into the circuit board and scope the resulting waveform. Much to my surprise, the circuit exhibited a significant impedance that had not been apparent using the DVM, and attenuated the signal substantially.

I decided to not investigate this phenomenon, and instead replace C4 with a cap that would give me the same or a similar waveform. I carefully unsoldered the original cap and resoldered one end to ground on a nearby power supply bypass cap so that I could measure the cap "the next time."

MM C4 2K 12K 100nF.jpg
A 100nF X5R 0402 cap came very close. It was much smaller than the original. I soldered the 100 nF in place, cleaned the area, tested, and finally put a drop of conformal coating over the circuit. As the coating was hardening, I scooped some from the edges of the blob and deposited a fairly thick layer to again cover the cap. I can't see how any moisture can get in there now, but we shall see.

This business of the attenuation of a low level signal with a cap installed is a puzzle to me. I would expect the uC chip to be very high impedance. Changing the signal level had little or no effect on the attenuation. I used a ca 800 mV peak to peak 2 kHz square wave biased from +300 mV to 1100 mV. The waveform across C4 was asymmetrical, with a rise time of about 1/2 mS, overall about 200 mVpp (it would have about 300 mV at a lower frequency.) Perhaps this has something to do with the powered off TOCK1 Schmidt trigger circuitry. I decided to not change the schematic to reflect the 100 nF vs indicated 150 nF until I use this unit for some time.

What Went Wrong This Time (September 22, 2014)?

Although the unit readily started and ran, it intermittently stopped over the next two weeks as the nights got cooler (down to 42 degrees F). The circuit was measured using the uC timing pulses. The room temperature pulse was only 12 mS, not 14, the open circuit value was 20, not 24 mS, and the calibration pulse was proportionally shorter. Although it is unlikely this would have made any difference (because the calibration pulse should compensate for a minor capacitance change), under the organizing principle of DDSS ("Don't do stupid stuff"), it was decided to adjust C4 to restore the nominal timing values. Adding 20 nF to the 100 nF to get 120nF yielded a close result. We can conclude that the value should be 120 nF, not 150 or 100 nF. Of course, this probably has no bearing on the intermittent stoppage, but it is a good idea to eliminate any obvious deficiencies that may play a role, no matter how far fetched. Let's hope this fixes the unit for those last autumn nights of operation.

What Went Wrong This Time (June 8, 2017)?

It has been a while since the last entry. The trap worked well, catching thousands of mosquitos in 2015 and 2016, but failed at the end of the 2016 season. I could not figure out what was wrong. I disassembled the entire unit including the combustion chamber, and checked that the fuel was being delivered to the nozzle by lighting a flame at the exposed nozzle. The igniter heated up at the right time, but the unit just never got hot. I then suspected the catalytic converter, thinking that using the wrong nozzle (a Delevan 1.5 gph 45 degree but not the many times more expensive WDA device) might have somehow "poisoned" the catalyst, or that using compressed air from a tire pump instead of the expensive CO2 cartridges might have had some ill effect. I removed the converter and had it sitting on my desk during the winter. After reading about the subject and examining the converter, I concluded that it was not the problem. Then the 2017 spring rains and bumper crop of mosquitos arrived.

Reassembling the combustion chamber, it still would not ignite. Removing the igniter, waiting until it got hot, I tried to light the unit using a kitchen match, but there was too much air flow from the fan, and the match would always blow out before I could insert it. But there was gas in the chamber, I just couldn't light it. I then examined the igniter, and noticed there was a fracture on one side where the supports connect to the high heater. The junction would heat up, but it was not hot enough to ignite the propane when inserted during the warm-up phase. So that was the problem. Searching for igniters, I discovered that was removed for inactivity on Jan 23, 2017. It seems the operators cannot recover the old data (for another inactivated forum). Using the wayback machine, I was able to find a sticky note that listed the igniter part, but these parts have been sold out. However, there are several other 12 volt igniters available on the market. I chose the Chrystal Technica 12 Volt 20 watt Mini Igniter ML12-20-226 which cost $29.07 with free shipping. It is not the same kind of igniter as the original, but purportedly an improvement, although a tad shorter. It comes with the correct Molex connector so it just plugs right in. When hot, it drags the rectified power supply down to about 10 volts DC measured on a fluke (not true RMS) DVM. Initially cold, it drops it to under 7 volts for a few seconds, which does not seem to affect the 5 volt power supply. I wouldn't want to go with more power and drag the supplies down any more.

Assembling the unit, it still did not start. I had already soldered test lead wires to the ground and igniter 12 volt rail to test the igniters. This time I soldered an additional wire to the the thermistor so I could view the waveforms on the scope. Sure enough, there was no pulse shortening -- it was not igniting. (Although the igniter itself heats the chamber around the igniter quite a bit). Perhaps it was the fuel. I used the gas reset tool (for the first time ever), and used a tire pump to blow out the system. The pump went to a very high pressure (120 psi), which didn't seem right. However, the system did start the next time. Hooray! I ran it for a few minutes, turned off the gas, reattached the pump, and it read 50 psi, which is much lower. The gas valve was still on (light was solid red). When the valve clicked off, the pressure went back up to 120 psi. I cannot explain why this happens. Anyway, the nozzle is a bit cleaner that it was before. I restarted the trap several times. and it turned on. I reassembled the unit, with the test leads protruding out of the cover, and taped them to keep out moisture. Assembled, it still worked. It is now in the side yard, where it started without any problem.

From now on, I will use the compressor to clear the nozzle more frequently. I will buy new nozzles of the correct kind, and replace at the next incident of non-starting. Plus I want some more igniters to have on hand. The original igniter is just too fragile and unreliable. The new ones should last much longer, but we will see.

It is a shame that the Mosquito Magnet forum was dropped. There was a lot of information there. I would gladly host it here, but the content is apparently lost. The wayback machine did not archive any but a few posts. Perhaps there is another archive that has more.

What Went Wrong This Time (June 6, 2018)?

No good deed goes unpunished. However, sloppy repairs do not count as good deeds. I had neglected to re-attach the clear (now cloudy not to mention lost) weather proofing cap to the on/off switch, and the elements made it intermittent. The trap kept restarting. Smacking the trap caused it to glitch. Also, the AC power connection was oxidized, and that led to restarts. Eventually, the new igniter I installed last year died. I can't blame the igniter because the trap abused it by keeping it on for so many hours.

Those test lead wires dangling from the case? Troubleshooting the trap, I managed to touch the 12 volt rail to the thermistor (TOCK1) lead. I heard a single click from the PCB, the sound of a chip dying. Of course, the original designers couldn't be bothered to use a build-in resistor to protect the PIC TOCK1 pin, so the over-voltage damaged the chip input, which went from high to 1800 ohms input impedance, loading down the thermistor circuit. I thought all was not lost, so I added a low voltage single-ended rail-to-rail op amp to drive the pin. But the chip still did not respond and shut off the driving pulse. That was the end. The chip was smoked. I considered replacing the chip, but that bad pin meant I could not read out the one time programmable ROM, even if the chip were not protected.

The only alternative was a new controller. I looked at Arduino boards, which have a robust environment community. However, I just discovered the Espressif Systems ESP8266 WIFI chip, which has very limited computing capacity, but WIFI connectivity! I purchased a couple of very cheap development boards, and programmed a new controller using the data below, and wired it into the board in place of the PIC controller. Today it is working, catching hundreds of hungry mosquitos in its first day of operation. Plus, I can check it and the combustion chamber temperature from my PC or phone. What more could I ask?

Besides that, I had to replace the igniter, and I installed a new correct WDA nozzle. And, monitoring the temperature, I came to understand how tricky it is to establish the catalytic reaction. With the cover off, it would not stabilize unless the fan were mostly blocked (by a piece of paper) to simulate the air flow with the case attached.

See the MM Defender IOT Controller topic.

Timing and Thermistor Circuit Pulse Widths

Here are this Defender's events and thermistor pulse widths vs elapsed time:

-30 secs Plug in AC power
0 Turn switch on13.5 ms (room temperature)
2:57 Solenoid on, Fan low speed
3:10 First pulse width change13 ms
4:02 8.0 ms
4:40 5.5 ms
5:00 2.4 ms
7:00 0.8 ms
7:50 Turn gas off
9:56 First pulse width change1.0 ms
11:06 Same as RB5, 20k pulse 2.4 ms
12:00 4.0 ms
12:45 Flashing LED -- Error detected 6.0 ms
13:26 8.0 ms
14:06 10 ms
14:55 12 ms

Evidently, there is a significant amount (1.5 minutes or so worth) of gas in the lines to sustain combustion after turning the tank valve off.


This section has been superseded by the MM Defender IOT Controller topic.

Although the PIC16C58B firmware is unknown, it is unlikely that the designers would have provided for field updating the firmware, because that would require ample additional unused and unprogrammed program space memory, and would require an in-circuit programmer access to the Vpp, ICSPD, and ICSPD pins. There is no connector for these pins, and Vpp is permanently wired to +5v (Vdd), so the pin can never be raised to the programming voltage (without desoldering it from the PCB and inserting a 1k or so resistor in series to isolate the pin from +5v).

The PIC16C58B is a one time programming (OTP) micro-controller, which is an obstacle to experimentation and optimization. Replacing the chip could open the door to a wifi interface and more. Any project to upgrade this unit will requiring replacing the factory PIC16C58B with a more capable chip, which fortunately could occupy the same footprint, plus installing a programming connector, isolating Vpp from +5v (via 1k), and making the pin available for application of the programming voltage, all of this via a new 5 or 6 pin mini connector.

By adding some additional wires and traces, the controller could measure the signals to or current in the solenoid, igniter, or fan. The fan extra lead could be monitored and analyzed to check the fan speed.

Suggested LED Blink Error Codes

For now, just some LED blink error codes might help. What might they be? Because the only sensor is the thermistor, only a few error codes can be defined.

  • Keep the existing slow blink for starting and the solid LED for running.
    • Temperature unaffected by propane would indicate that actuation of the propane valve caused no temperature change. Perhaps the propane is out.
    • No Temperature rise after igniter might mean that the heat from the igniter was not detected after a few seconds (but more than 5), and a failed igniter circuit.
    • Temperature decrease by propane might indicate that the igniter is not working but the propane was flowing, cooling the thermistor. Igniter failed.
    • Insufficient temperature increase after propane might indicate the nozzle is clogged or airflow obstructed.
    • Excessive temperature would indicate that the trap got too hot. Fan failure or clog?

More on this topic later.