FIFO for Arduino µSD Atmega328 AVR ARM PIC 433MHZ RF FSK Wireless Transceiver RFM12B

Tranceiver Module No.: HYRM12B  433MHZ;
Qty: 1 PCS transceiver module ;
Product Freq. power supply Data-rate(kbps) Output Power(MAX) Sensitivity Tx Current(MAX) Work Current stand by current
HYRM12B 433,868, 915MHz 2.2-3.8V 115.2 5dBm at 433MHz -105dBm at 433MHz 22mA at 433MHz 11mA at 433MHz ≤0.3µA
3dBm at 868MHz -102dBm at 868MHz 23mA at 868MHz 12A at 868MHz
3dBm at 915MHz -102dBm at 915MHz 24mA at 915MHz 13A at 915MHz

 
 

   

 
 
GENERAL
HYRM12B features a completely  integrated PLL for easy RF design, and its rapid settling time allows for fast frequency-hopping, bypassing multipath fading and interference to achieve robust wireless links. The PLL’s high resolution allo ws the usage of multiple channels in any of the bands. The receiver baseband bandwidth (BW) is programmable  to accommodate various deviation, data rate and crystal tolerance requirements. The transceiver employs the Zero-IF approach with I/Q demodulation. Consequently, no external components (except crystal and decoupling) are needed in most applications.   HYRM12B  dramatically  reduces the load on the  microcontroller with the integrated digital data processi ng features: data filtering, clock recovery, data pattern recognition,  integrated FIFO and TX data register. The automatic frequency control (AFC) feature allows the use of a low accuracy (low cost) crystal. To minimize the  system cost,HYRM12B can provide a clock signal for the microcontroller, avoiding the need for two crystals.   For low power applications,  HYRM12B supports low duty cycle operation based on the internal wake-up timer

Introduction

HYRM12B tranceiver module has become quite popular recently due to its low price comparing to other modules on the market. But many people find it hard to make these tranceivers work (mainly because of buggy programming guide provided by manufacturer, I guess...). This short article contains compact and simple code that can be used just to get these modules running for the first time. It is based on manufacturer's examle code with slight (but crucial) changes.

Schematic

To interface HYRM12B modules I used Atmel's ATtiny2313. Recommended power supply for the module is 3.8V so I decided to power both the processor and the module from 3.3V. It can be a problem with the Mega family as you will need "L" version then. Some people claim that they run those modules from 5V and everything's fine. The other solution is splitted power supply (5V for processor and 3.3V for HYRM12B ) but resistors are needed on IO pins (5kohm or so) in this case. Implementing SPI interface doesn't require strict time delays or clock stability so processor is running on the 8MHz internal RC oscillator.

 

FEATURES
  • Fully integrated (low BOM, easy design-in)
  • No alignment required in production
  • Fast-settling, programmable, high-resolution PLL synthesizer
  • Fast frequency-hopping capability
  • High bit rate (up to 115.2 kbps in digital mode)
  • Direct differential antenna input/output
  • Integrated power amplifier
  • Programmable TX frequency deviation (15 to 240 kHz)
  • Programmable RX baseband bandwidth (67 to 400 kHz)
  • Analog and digital RSSI outputs
  • Automatic frequency control (AFC)
  • Data quality detection (DQD)
  • Internal data filtering and clock recovery
  • RX synchron pattern recognition
  • SPI compatible serial control interface
  • Clock and reset signals for microcontroller
  • 16 bit RX Data FIFO
  • Two 8 bit TX data registers
  • Low power duty cycle mode
  • Standard 10 MHz crystal reference
  • Wake-up timer
  • 2.2 to 3.8 V supply voltage
  • Low power consumption
  • Low standby current (0.3µA)
  • Supports very short packets (down to 3 bytes)
  • Excellent temperature stability of the RF parameters
  • 433MHZ

Application  
•   Home security and alarm 
•   Remote  control, keyless entry  
•   Wireless keyboard/mouse and othe
•   Toy controls 
•   Remote  keyless entry 
•   Tire pressure monitoring 
•   Telemetry 
•   Personal/patient  data logging 
•   Remote automatic meter reading

Antenna 

 

433 1/4 wave = 164.7mm
433 1/2 wave = 329.4mm
433 full wave = 692.7mm

868 1/4 wave = 82.2mm
868 1/2 wave = 164.3mm
868 full wave = 345.5mm

915 1/4 wave = 77.9mm
915 1/2 wave = 155.9mm
915 full wave = 327.8mm

4. Technical sport manual (please contact me on ebay message whenever you need ):
a: HYRM12B user manual ;
b: FSK Module Reflow instruction;
cRFM12 Demo Kit User Manual ;
d:ANTENNAS APPLICATIONS FOR RF MODULE;
e:RFM12B programming guide;

Arduino Uno Connections

Alternative connection diagram (only for when Atmega328 is running at 3.3V):

Here is the stripboard layout for the main board and RFM12B carrier, note that I haven’t connected all the connections on the RFM12B, only those actually required to interface with the ATmega.
 
It connects a RFM12B radio and a micro SD card to the SPI bus. They both work, i.e. the radio can send & receive packets and the 2Gb Kingston µSD card can successfully enter SPI mode. These two peripherals alone would be enough to set up a self-contained data logger, but this is just the start – less than half of the shield area has been used so far.