I finally got around to revising the code and schematic for my original SSTC interrupter. I do want to point out that this is still heavily based on Gao (loneoceans)'s code and he really deserves a great deal of credit for it. See his website here: http://www.loneoceans.com/labs/
Without going into the ins and outs of the code here are the abridged changes:
- Reduced the number of GPIO pins required and moved away from using the MISO/MOSI pins. Having those two pins used causes some programming issues, especially when you're using a digispark or similar device that doesn't have a standalone usb controller.
- Reduced hardware requirements. Now it only uses 2 pots, 1 resistor, an NPN transistor, and the FB-129 transmitter (outside of the power supply section). In the previous version the LED of the FB-129 really stressed the GPIO current handling, and it lead to early failure of some less robust chips.
- Reduced the default max frequency to 256Hz. You can change it back easily in code.
- CW mode can be accessed by turning the frequency dial to maximum.
This still uses Gao's algorithm for frequency and duty cycle synthesis, so it still only allows 10% duty maximum. If you want an enhanced duty cycle range, see my later post about Version 3.0 .
Here's the updated schematic and code files: