The original minifox transmitter uses a controller based on design from DF1FO with an Atmel ATtiny13 running on its internal oscillator. Several investigations into using the internal clock oscillator on the ATtiny85 has shown that this clock source is not stable enough to achieve timed operation of the transmitter. The required accuracy is to keep to a schedule beginning on an even minute within one or two seconds over an event interval of possibly 6 hours. See discussion of this investigation in the readme with the collection of files in codeppm.zip. Consequently, it is necessary to use a crystal-controlled clock for the controller microprocessor which means that the ATtiny13 cannot be used.
Using the ATtiny85 has given an additional advantage in that it can be used as a target with the arduino programming environment, making for fairly quick code development. This sequence of development is illustrated with the several controller versions found in codeppm.zip.
Modification of the transmitter board to use a crystal-controlled clock mainly requires adding the crystal and a pair of capacitors, then re-routing the two outputs for the LED and the transmitter. Two 'nice-to-have' additions are a reset switch and a 3-position socket for mode selection. A completed board is shown in the photo below. A suggested installation sequence follows:
•Remove any of the configuration solder-blobs from the microprocessor pins.
•Cut the jumper leading to the transmitter key line between the via holes on the bottom.
•Cut the lead to the LED resistor between the bottom of the resistor and the edge of the processor socket (there's about a mm of exposed trace).
•Bend the crystal leads at right angles so that they are spaced 2.5 mm apart at about 0.5 mm below the edge of the crystal case. Apply a patch of foam double-sided tape to the crystal case and stick the crystal to the ground plane with its leads over pins 2 and 3 of the processor socket.
•Solder the crystal leads to pins 2 and 3 of the microprocessor socket on the ground plane side of the board.
•Solder a pair of 0603 size SMT capacitors from each of pins 2 and 3 to the ground plane. Keep the capacitors flat to the ground plane so that flexing the crystal leads doesn't break the caps. The photo shows improperly installed capacitors that were subsequently broken!
•Prepare the configuration socket by bending two pins at right angle, trim them about flush with the edge plastic. Bend the third (ground) pin toward a point that touches the ground plane between the processor pins 6 and 7. Solder the socket to pins 8, 7, and the ground plane.
•Use fine insulated wire (eg. #28 wire-wrap) routed through the via hole nearest the board edge to connect the LED resistor on the top side to the processor pin 5. Connect processor pin 6 to the other via of the former jumper to key the transmitter.
•Solder one lead of the reset switch to the ground plane so that the other lead is tipped up clear of any contact, but aligned with pin 1 of the processor. The switch should be tight to the edge of the board so it is supported by the board when pushed.
•Bend one end of the 11K reset pullup resistor 90 degrees and trim to 2..3 mm. Size up the other lead to contact the free switch lead and then bend down to connect to pin 1. Solder the pin 8 end first, dress the other lead and solder to pin 1 and then to the switch.
The configuration input on pin 7 selects among 4 possible modes of operation: sprint slow, sprint fast, continuous, and regular 1min/4min timing. This selection on one pin is realized by using the input as an A/D input but keeping only the two most-significant bits of the digital reading. Consequently, the input (middle pin) can be jumpered to ground (slow sprint), jumpered to Vdd (1min/4min), supplied from a voltage divider that gives 3/8 the supply – 20K to Vdd, 12K to ground – (fast sprint) , or gives 5/8 the supply – 12K to Vdd, 20K to ground – (continuous).
The timing accuracy will depend on the crystals selected and on their feedback capacitors. Using an Abracom 1.8432 MHz crystal with 22 pF capacitors the on-bench timing has been observed to drift from actual UTC by no more than a second after at least 6 hours. Substituting a different crystal, or using 18 pF capacitors the timing drift exceeded 2 to 3 seconds in that interval. It is likely that some trial-and-error will be needed to get the right capacitors for a given crystal. Use controller version codppmx4 which has a 1 Hz output to measure with a frequency counter while selecting the capacitors.