In a previous post I described how to control the internal tuner module of a common 1.2GHz FPV receiver by a PC.
Since this setup was only for general tests I put some more efforts and put an AVR tiny44 in control.
On a 4 channel receiver I removed the original micro-controller and replace it by a AVR tiny44, running on internal 8MHz oscillator.
The tiny44 takes inputs from the 4 DIP switches and controls the tuner by I2C and the LED.
Attached to this post is the source code for the tiny44, written for WinAVR compiler.
With this code you have the following functionality:
|ON||OFF||OFF||OFF||Favorite frequency 1, default 1240MHz|
|OFF||ON||OFF||OFF||Favorite frequency 2, default 1280MHz|
|ON||ON||OFF||OFF||Favorite frequency 3, default 1276MHz|
|OFF||OFF||ON short||OFF||Manual tune, 1MHz up|
|OFF||OFF||OFF||ON short||Manual tune, 1MHz down|
|OFF||OFF||ON long||OFF||Auto tune, 1MHz up every 100ms|
|OFF||OFF||OFF||ON long||Auto tune, 1MHz down every 100ms|
For DIP3 and DIP4 a long press will be >1 second.
The frequency set using DIP3 and DIP4 will be stored in EEPROM 5 seconds after last tuning action (DIP switch used).
After power cycle this frequency will be the start for new tuning.
Frequency range for manual/auto tuning is 850MHz to 2200MHz in 1MHz steps.
Wiring is given in the source code, header of main.c.
Source code for 1.2GHz FPV Receiver controller based on AVR ATtiny44.
Written for WinAVR.