An older project (but quite interesting nevertheless), this is an RDS decoder that is able to display various information on a 2 lines with 16 characters alphanumeric LCD. The decoder is connected to an old radio receiver and was originally designed to use the Atmel AT90S2313 as its brain, coupled with TDA7330B RDS demodulator as the decoding-chip. The newer version had the AT90S2313 replaced with the ATtiny2313 microcontroller.
The device can display service name, RDS clock, TA (Traffic Announcement) flag status and scrolling 64 characters long radio text. The decoder requires a Stereo multiplex signal as input, which can be found at the input pin of a Stereo decoder integrated circuit in most radio receivers. The code is written in assembler, which provides for the fastest implementation. There is also a C version of the code, but apparently it’s too big for the 2KB flash memory of the ATtiny2313. However, an improved, smaller C version might be available sometime in the future.
Check links for .zip with PCB layout, schematics and source code (for both the ATtiny and the AT90).
RDS Decoder using Atmel Microcontroller: [Link] – [via]
When it’s about FM transmitters most of the people think about complicated circuits with LC oscillators, tuning problems, pcb coupling issues and the high risk of failure. You can find dozen or more schematics on the web, I personally tried a few, but without luck because I couldn’t tune in the oscillator.
The mathematical background is complicated, but well explained for those interested, the code is written is assembler which is a must since the tight timing. Beside the inductor all of the components are widely available, this must be hand made and by stretching you can fine tune the oscillator, thing which will be probably needed.
By using surface mount components the pcb size could be greatly reduced, but keep in mind when making the layout to reduce coupling and noise susceptibility.
Make sure that you don’t disturb any local frequencies, or somebodies privacy with it.
AVR FM transmitter: [via] [Link]
This project allows you to log temperature under 2 operating modes: Standalone, the system works standalone and can record a max of 2 temperatures or connected to a PC’s RS232 port thus having the ability to record up to 8 temperatures. The circuit is also interfaced with an LCD that can show 2 temperatures at the same time. It also has a separate DS1302 Real Time Clock (RTC) module with over 3 months backup and supports Wayne’s NTP format for updating the clock from an NTP server. The circuit is controlled by a Atmel AT90S2313, source code and schematics are provided.
LCD Temperature Monitor: [Link]
Jesper writes: This is another project which fullfills a need. I once built a frequency counter using plain TTL chips. That was long before the CMOS HC versions, even before LS was available. It could measure up to 50 MHz and worked quite okay, but the TTL chips was extremely power hungry. I think there was about 20-25 TTL chips on that monster. Well, but the old counter is now somewhere in the shed, and as I now again needed a counter, I did a bit more modern design.
It uses only 4 chips – 3 HC TTL’s and an Atmel At90S2313 microcontroller. It has a 5 digit LED display plus one used as a band indicator. Even with the LED display, the current consumption is less than 50 mA. It counts up to at least 52 MHz. I couldn’t find any signal source in the lab that could supply more than 52 MHz, so it may go a bit higher, but the fClock(typ) for the HC590 is about 35-40 MHz, so you shouldn’t really count (no pun intended) on more.
AT90S2313 Based Frequency Counter: [Link]
This is a simple circuit which can detect when you touch a sensor connected to one of the sensor inputs. It can be used to add a touch switch to your computer for example. It uses an AVR micro controller, the AT90S2313. Anyway, the basic idea is really simple. Make one pin output and another input. Connect a resistor between these pins. The resistor together with the human capacitance (about 100 pF) forms an RC network. The AVR set the output to low and then make a transition from 0V to +5V. 5 µs after this switch, the logic level at the input pin is sampled. If someone is touching the probe connected to the input pin, the capacitor (=human) will not be fully charged, and the input will be a digital 0 and vice versa.
DIY Touch Sensor: [Link]