RFM12B-S2 and Arduino Pro Mini 328 Wiring Confusion

I have a book titled “Arduino Cookbook” by Michael Margolis. Page 486 it has instructions to wire up the Arduino to the RFM12B module as follows:

Arduino RFM-12B

3V3 <-------> 3.3V
GND <-------> GND

13 <-------> SCK
12 <-------> MISO
11 <-------> MOSI
10 <-------> SS
2 <-------> IRQ

However, looking at the Arduino Pro Mini Schematics, it shows the following wiring


PD2 <-------> PIN 8 ( labeled 2)
SCK <-------> PIN 9 ( labeled 13)
MISO <-------> PIN 10( labeled 12)
MOSI <-------> PIN 11 ( labeled 11)
SS <-------> PIN 12 ( labeled 10)

The RF12 Library by Jee Labs specifies


PD2 <---------> IRQ
SS <---------> SEL
MOSI <---------> SDI
MISO <---------> SDO
SCK <---------> SCK

Therefore, my questions are

  • Is the pin out on the Pro Mini that I have from the ATMega 328 to the physical pin numbers correct? Is this standardised accross every arduino?
  • Has anyone got the RF12 module working with the Arduino Pro Mini?


PD2 <---------> PIN 8 ( labeled 2) <---------> IRQ
SS <-------> PIN 12 ( labeled 10) <---------> SEL
MOSI <-------> PIN 11 ( labeled 11) <---------> SDI (MOSI)
MISO <-------> PIN 10 ( labeled 12) <---------> SDO (MISO)
SCK <-------> PIN 9 ( labeled 13) <---------> SCK

Has anyone got a Arduino Pro Mini working with the RFM12B from spark fun?

Without sorting through all of your pinouts, you need to connect the RFM12 pins to the proper SPI pins on whichever board you are actually using. Forget about the boards you’re not using.

Also, you definitely need to wire the RFM12 IRQ pin to Arduino INT0, as the RFM12 only has a 1 or 2 byte internal FIFO, and without the interrupt you’ll lose data.

Also, the RFM12 examples in the Arduino Cookbook actually DO work. However, what I found was that the example sketches in the jeelib library itself all had bugs, and did not work properly [3-4 months ago]. If you do have any troubles, it’s best to scrap jeelib completely, and go to the lowpower labs RFM12 library.

The lowpower Send + Receive examples work “right out of the box” as someone said 2 or 3 days ago.

I got it working, it wasnt to wiring. I think it was two things:

  • The 3.3 volt to 5 volt logical level conversion, I used the one in the book to begin with and it didnt work to nicely.
  • I used the beta Arduino IDE as I have an Arduino Due, so I installed the normal production IDE.

Now it all works.