Category Archives: electronics

Eldon made a very cool version of the FM micro transmitter

Eldon, WA0UWH was inspired by my recent experiment with Tatsuo Kogawa’s micro transmitter, and decided to build his own. Unlike my rather crude (but surprisingly effective) lashup on some copper clad board, Eldon designed a tiny 0.5″x0.8″ board, etched it and used surface mount components to finish it. Very nifty, and totally dwarfed by the 9v battery that powers it. Check it out!

The Micro FM transmitter on copper clad (much better!)

Yesterday’s video showed a very fussy version of Tetsuo Kogawa’s 1 transistor FM transmitter, which worked after a fashion, but which seemed really squirrely. Almost any motion of anything caused the circuit to behave rather badly as capacitance changed, and I picked up a considerable amount of hum. Today, I rebuilt the circuit onto a piece of one sided copper clad PCB material, and it worked much better. Hardly any hum, and much less finicky. I didn’t even try to add a clip lead: what you see below is the circuit just operating with whatever signal radiates from the PCB.

I’m still getting multiple copies of the output across the FM broadcast dial, so I am not sure that it’s really that great of a circuit, and I’d be terrified of trying to amplify this and send it over a greater distance lest the FCC come hunting me down, but it at least works, and wasn’t very hard to debug, once I got the difference in pin layout for the 2N3904 sorted out and redid the layout a bit.

Check it out!

Schematic for the Micro FM transmitter

Tetsuo Kogawa’s circuit is pretty well documented, but not in conventional schematic form. I decided to enter it into LTSpice to see what it could make of it, and decided to go ahead and put the schematic online here, with perhaps a few comments:

I’ve set this up more or less as I built the circuit: in my circuit C1 is a small air variable cap that goes up to about 18pF, so I’ve set it to 12pF here. I use a 9V supply, so that’s what I put in for V2. I changed the power supply bypass cap to be 0.1uF instead of 0.01uF, since I have a bag of 0.1uF ones, and it doesn’t seem to affect the circuit. The L1 value of 0.08uH was determined by plugging numbers into the formula for an air wound solenoid coil: it’s probably only very roughly what the inductance actually is. Instead of the 2SC2001, I went ahead and put in the 2n3904 that I used. V1 is supposed to model the audio input, supplying a 1000 Hz, 1V amplitide sine wave to the modulation input. The output should be tapped from the emitter of Q1.

I’m going to experiment with the circuit a bit more: I’m particularly interested in jigging this up so I can figure out what the deviation is likely to be, and how it can be controlled, and how the biassing might change with a 6V supply.

The (too simple) Micro FM transmitter on a breadboard

A couple of days ago, I mentioned Tetsuo Kogawa’s MicroFM transmitter, a simple one transistor FM radio transmitter. Tonight, I decided to put it together on an experimenter’s breadboard. I didn’t have the 2SC2001 transistor that Tetsuo Kogawa used, so I just dusted off one of my $.10 2N3904 transistors, and dug the rest of the components out of my junk box. I assembled it in the worst way imaginable, with no real attention to lead lengths (I left them all uncut) and fed with unshielded cable. It “worked”, after a fashion at least, but I counted four images of the transmitted signal up and down the FM broadcast band.

I suspect if I built this properly on some copper clad with short line lengths, it would work better, but I suspect that it still would be rather horrible on spectral purity. As such, it’s worth experimenting with, but I wouldn’t try to build something this simple and try to get range beyond my desktop.

How to build the simplest transmitter?

In digging around for small AM radio schematics (I’m more interested in AM than FM), I ran across Tetsuo Kogawa’s site on building the “simplest” FM transmitter. It’s actually pretty cute, and has just a single transistor, a few resistors and caps, and a coil that you can wind yourself on the threads of a bolt. It’s also pretty easy to assemble “ugly” style, on a piece of copper clad board. Check it out.

How to build the simplest transmitter?.

Announcing the “Soldering is Easy” Complete Comic Book!

Like many mechanical skills, soldering may seem fairly daunting if you’ve never done it before, but it’s really not that hard. If you need a basic getting-started guide, you could try out the new Soldering is Easy comic book. I think the only thing it really could use is a better guide to buying a soldering iron (lots of beginners buy the cheapest ones they can from Radio Shack, which is a guaranteed road to burned fingers and frustration). Check it out.

MightyOhm » Blog Archive » Announcing the “Soldering is Easy” Complete Comic Book!.

Demonstrating the Effect of Decoupling Capacitors

I’ve been interested in LOWFER radio (low frequency radio operation) for quite some time. Under Part 15, unlicensed experimenters can transmit signals in the frequency band between 160khz and 190khz, subject to certain regulations on power and antennas. You can read more about it here.

I was bored the other day, so I decided to breadboard the oscillator section of K0LR’s Simple LOWFER Transmitter. It’s basically a crystal oscillator that is tied to a 74HC4060 Oscillator/Divider. To transmit on LOWFER frequencies, you might use a 6Mhz crystal and divide it by 32, creating an output around 187khz. I didn’t have a 6Mhz crystal (or really any of the other right components), but I had close values, so I put the circuit together with what I had.

And saw lots of noise in the output waveform. The high and low values were probably wavering by several tens of millivolts. I then remembered that I hadn’t installed a decoupling capacitor. Since I hadn’t seen anyone demonstrate the effect of decoupling capacitors, I thought it was interesting enough to tack together a quick video.

K0LR’s Simple LOWFER transmitter

How is PWM modulation like AM modulation?

In thinking about the 555 timer AM transmitter that I constructed last night and trying to understand how it might work, I eventually ended up with a basic question about PWM modulation. It boiled down to this: if you are generating a pulse width modulation signal with a rate of (say 540khz) but pulses whose duty cycle varies from 0 to 100%, how does this implement AM modulation?

If we consider the rectangular pulse centered inside an interval of running from -1 to 1, then a pulse with a duty cycle of D percent runs from -D/100 to +D/100. (From now on, we’ll find it convenient to express D as a fraction and not as a percent). We can use Fourier analysis to decompose this square wave into a series of sines and cosines at multiples of the base rate. For our application, we can ignore the DC component (it’ll be trimmed off by a DC blocking cap anyway) and we can assume that all higher multiples of the carrier frequency will be low pass filtered. The only thing we really need to look at is the component right at the carrier frequency.

We can do this analytically without too much trouble. To compute the Fourier coefficient, we compute 1/L * integral(cos(n * pi * t / L), dt, -D, D). (Sorry, WordPress isn’t all that good at this, and I wasn’t able to get MathJax to work). If we think of the the complete cycle as going from -1 to 1, then L = 1, and we can work this out: the amplitude of the carrier turns out to be 2.0 * sin(π * D) / π. We can make a graph, showing what the amplitude of the sine wave at the carrier frequency will be for varying duty cycles.

What does this mean? If we shift the duty cycle of our PWM waveform, we actually are modifying the amplitude (and therefore the power) of the transmitter output at the carrier frequency. As we deviate more from 0.5, we get more and more energy in the higher harmonics of the carrier frequency.

I’m sure that was about as opaque an explanation as possible, but it suggests to me a simple software simulation that I might code up this weekend to test my understanding.

Stay tuned.

Addendum: We can work out the relative amplitudes of the first three multiples of the carrier frequency:

555 Astable Multivibrator as an AM Transmitter

I mostly avoided the siren song of the 555 timer that seemed to echo through the blogiverse during the recent 555 contest, but when I was out and about last weekend, I picked up 10 of them from Anchor Electronics, and they have been taunting me from the shelf ever since. So, last night I dug out some resistors and caps, and tossed together a simple multivibrator circuit. Today, I was pondering what I could do with it, and I recalled seeing the circuit being used as an AM transmitter. The basic idea is to simply AC couple the audio onto pin 5, and voila. So… that’s what I did!

I’m actually not quite sure I completely understand how this works (it’s not entirely clear to me whether it is more accurate to call this pulse width modulation or frequency modulation) but the circuit does work. I imagine that once I understand it better, I’ll be able to make it work significantly better. But that’s something for the future.

Chua chaotic oscillator

Over sushi this evening, Tom mentioned “Chua’s circuit”, or “Chua’s oscillator”. I knew that I had seen this somewhere before, but failed to remember that Chua was also the guy who first theorized about the memrister: a circuit element whose resistance is proportional to the sum of the charges that has been passed through it. Chua first imagined this circuit back in 1983, and it is probably one of the most well studied and well understood chaotic circuits ever proposed. It’s also quite simple. The page linked here should a simple circuit, with just a single op amp and a handful of other discrete components. I’ll ponder it some more:

Chua chaotic oscillator.

The Strange Attraction of Strange Attractors…

I’ll just lead off with a picture:

This is a graph of the so-called “Lorenz attractor”, first described by mathematician Edward Lorenz in his paper Deterministic Nonperiodic Flow back in 1962. I learned about this kind of stuff probably back in highschool by reading Scientific American. Anyway, the equations themselves are pretty simple, but describe paths which are nonperiodic, and which are unstable: for two points very near each other, their evolution rapidly diverges, and they no longer follow identical paths.

Making these graphs was really just a diversion: I’ve got it in my head that creating an analog circuit that simulates these equations might be a fun thing to do. This is boldly going where others have gone before, so here are some links:

Build a Lorenz Attractor has a nifty little circuit that has two analog multipliers and three op amps. Checking with digikey, the MPY634 multipliers seem pretty spendy for something that is just a lark ($28 a piece, ouch), but Analog Devices makes some devices which seem like they will perform adequately, and cost $8 a piece.

A Simple Circuit Implementation of a Chaotic Lorenz System by Ned Corron uses these less expensive parts (AN633 multipliers, and the super cheapie TL082 op amps) and probably would be a good place to start.

And, of course, we need a YouTube video. Jeri and Chris show off a hardware implementation of the first circuit that Chris assembled:

I didn’t realize until later that the first article was written by Paul Horowitz, one of the authors of the incredible book The Art of Electronics by Horowitz and Hill. Digging a bit more, I found an actual lecture by Paul Horowitz on the subject, posted by user harvardphysics on YouTube:

Addendum: Here are some more links.

From the analogmuseum.org website, a nifty page that points out that if you change the value of the integrating caps, you can effectively change the speed of calculation, allowing the analog computer to directly drive a pen plotter.

I got pointed to the Analog Museum from this page, which in addition to demonstrating the Lorenz attractor running on an analog computer also has schematics and parts lists for actually building an analog computer, again using the AN633 analog multipliers from Analog Devices. Neat.

Bookmarked for later: Open PCB

I’ve been pondering a couple of projects that could benefit from having custom PCBs manufactured, and David Jones twittered about one I hadn’t seen before:

Open PCB

Prices seem very good, and you can also order some pre-designed open source boards for very modest prices.

I’ll check it out more later.

Arduino + MCP4725 Breakout Board

Well, the other I2C based breakout board I got from Sparkfun was for a Microchip MCP4725 DAC. It’s a 12 bit device, and will eventually do duty controlling the voltage controlled oscillator in my beacon transmitter. For tonight though, I just wanted to make sure I could program it, so I soldered on some header pins, plugged it into a breadboard, and coded up a small, simple program to simply send values from a table holding appropriately scaled sine values as quickly as possible. Here’s the code:

[sourcecode lang=”C”]

#include <Wire.h>

void
setup()
{
Wire.begin() ;
}

#define MCP4725_DEVICE 96

int sintab[64] = {2147, 2347, 2545, 2737, 2922, 3100, 3267, 3422, 3564, 3692, 3803,
3898, 3975, 4033, 4072, 4092, 4092, 4072, 4033, 3975, 3898, 3803,
3692, 3564, 3422, 3267, 3100, 2922, 2737, 2545, 2347, 2147, 1947,
1747, 1549, 1357, 1172, 994, 827, 672, 530, 402, 291, 196, 119, 61,
22, 2, 2, 22, 61, 119, 196, 291, 402, 530, 672, 827, 994, 1172,
1357, 1549, 1747, 1947} ;

int sp = 0 ;

void
loop()
{
Wire.beginTransmission(MCP4725_DEVICE);
Wire.send(64); // cmd to update the DAC
Wire.send(sintab[sp] >> 4); // the 8 most significant bits…
Wire.send((sintab[sp] & 15) << 4); // the 4 least significant bits…
Wire.endTransmission();
sp = (sp + 1) & 63 ;
}
[/sourcecode]

And here’s the brief YouTube video showing it in operation:



DS32kHz 32.768kHz Temperature-Compensated Crystal Oscillator

In considering the long term accuracy of the RTC chip that I was playing around with, I did some additional thinking and reading. My understanding is the error comes from the accuracy of the crystal oscillator: the 32.768Khz timing crystal probably has an accuracy of 20ppm or even larger. My guess is that this is expressed in two kinds of instability: a long term bias, which conceivably could be trimmed using a trimming capacitor, and a thermal component, which could be solved by temperature control. But in digging around, it appears that Maxim makes there own temperature controlled crystal oscillator, that has errors down in the 2ppm per year over a temperature range of 0 to 40 degrees Centigrade. Pretty nifty. They come in DIP (but non-stocked @ digikey) and various SOIC/BGA packages, with costs that might average around $10, which seems a bit spendy, but worth considering.

DS32kHz 32.768kHz Temperature-Compensated Crystal Oscillator – Overview

Kenneth mentioned the DS3232 as a more accurate version of the DS1307: it appears to me that the specifications for it are identical to the specification for the DS32kHz TXCO. My guess is that it’s simply an integrated package, but I haven’t had the chance to look at the datasheet yet. It does appear to be cost effective: you can get them from digikey in quantity one for less than five dollars. Worth looking into.

Addendum: Kenneth could have plugged his own excellent page on his build of a DS3232 based clock. Very nice, and includes a supercapacitor backup circuit for the DS3232. As it happens, I picked up a couple of supercaps from sparkfun with this order: I might have to give this a try.