The Prop can generate NTSC, PAL, or VGA video signals. Most users connect to their TV through a baseband (RCA jack) input. Baseband is great for a wired connection, but what if you want to monitor telemetry (or anything else) remotely? My setup is able to transmit video & audio 30 feet (more if you use a decent receive antenna) with a total power consumption of 50mA, including the Prop.
I've been reading up on wireless & antennas for a few weeks now — XBee's are nice, but they're too expensive for the stuff I want to do, they're also more complicated than I need. Flipping through the Prop manual, I realized that frequency synthesis for broadcast is actually pretty straightforward. When firing up the TV, you just specify the base frequency & change the pin mode, and bam, you've got a video signal on your TV. Here's how to set it up;
Hardware
You'll need a Propeller, a few feet of hookup wire & 3 resistors; 1.1k, 560, and 270. The circuit is below. Don't worry, it's the standard Propeller video DAC, if you're using a ProtoPlus, you've already got the circuit, you just jam about 6 feet of hookup wire into the center of the RCA TV jack.
Here's my broadcast antenna;
It's just 6 feet of braided wire jammed into the RCA video jack
And here's the receive antenna
This is a pretty pathetic antenna, I just stripped the connector off a coax cable.
Total range is about 30 feet, but I think that could improve significantly with a better receive antenna.
Software
First, writing a TV driver from scratch is quite an exercise & requires a solid understanding of NTSC. Fortunately, the Propeller Tool includes tv.spin, which we'll use for our task. In fact, I'm going to use the Graphics_demo.spin object for demonstration. Graphics_demo.spin is also part of the Propeller Tool download, open it up and save it on your desktop as 'broadcast_demo.spin'. Scroll down to the DAT section and change 2 variables;
- Pins should be %001_0100. If you look at the documentation in the TV.spin object, the top bits (001) select pins 15..8. The bottom bits (0100) set broadcast output.
- Broadcast should be 60_000_000. That's the frequency for channel 3.
- If you're using PAL, you'll also change mode to %0001. Frequency will change depending on your country, a quick look at the German spectrum allocation chart says channel 3 is at 54-61MHz, I'd try keeping it at 60Mhz. Not sure if other countries are different.
Testing
Connect 6 feet of wire to your TV antenna input (the center pin), and connect 6 feet to the RCA jack on the Propeller. Turn on the Prop (and your TV). Make sure your TV is set to 'antenna' input instead of 'cable', and tune to channel 3. If you don't immediately see it, use your TV's autoscan function. We're transmitting a little bit under the standard channel 3 (61.25MHz), so your TV might need to scan while it's broadcasting to lock in the signal. Scroll to the top for a video demo.
Next Steps
- Improve the antenna. A quarter length dipole antenna would do a much better job receiving — each pole would be 4.1 feet.
- Send data instead of video. Read up on the counter modules, they do a great job of synthesizing frequencies. Generate a 1600kHz carrier and flip the output of the pin to encode information. Think about other ways of encoding the data like FSK.
- Receive data. The Prop can also work as a digital tuner — Check out Phil Pilgrim's excellent work on it here. He's done a better antenna with an inductor, but I've used his design without an inductor and it has worked fairly well.
Disclaimer: Check your local laws before experimenting with RF broadcasts — Some bands are pretty open (Lowfer) while others are restricted. The erp of this setup is pretty tiny, though.
https://vimeo.com/17825211