Difference between revisions of "RFM12Pi V2"

From OpenEnergyMonitor Wiki
Jump to: navigation, search
(Design Files)
Line 1: Line 1:
 
==RFM12Pi V2==
 
==RFM12Pi V2==
 +
 +
The RFM12Pi allows the Raspberry Pi to receive wireless data from RFM12B wireless module.
 +
 
===Technical Overview===
 
===Technical Overview===
  
 
*ATmega328 based, has more memory and hardware serial support
 
*ATmega328 based, has more memory and hardware serial support
 
*Runs on the internal 8Mhz oscillator (to save unnecessary components)
 
*Runs on the internal 8Mhz oscillator (to save unnecessary components)
*SMT used, board layout is optimized for pick-and-place machine; SMT also means it is lower profile compared to the old version thus fits inside most Raspberry Pi enclosures
+
*SMT used, board layout is optimized for pick-and-place assembly
 +
*Lower profile to fit inside most Raspberry Pi enclosures
 
*The new RFM2Pi with ATmega328 allows programming directly from Raspberry Pi using avrdude (..and OptiBoot)
 
*The new RFM2Pi with ATmega328 allows programming directly from Raspberry Pi using avrdude (..and OptiBoot)
 +
 +
==Operational Overview==
 +
The RFM12Pi V2 consists of an [http://openenergymonitor.org/emon/buildingblocks/rfm12b-wireless RFM12B wireless module] and an ATmega328 microprocessor running OptiBoot serial bootloader which is Arduino compatible.
 +
 +
The ATmega328 runs a slightly modified version of [https://github.com/jcw/jeelib/tree/master/examples/RF12/RF12demo JeeLabs's RF12Demo] raw wireless packets are passed to the Pi via serial using the Pi's internal UART serial port. The raw packets are processed by emoncms Raspberry Pi module, specifically the [https://github.com/emoncms/raspberrypi/blob/master/raspberrypi_run.php raspberrypi_run.php] script. See emoncms documentation on [http://emoncms.org/site/docs/raspberrypi emoncms.org] for detailed documentation regarding setting up and running emoncms on a Raspberry Pi with an RFM12Pi. 
 +
 +
  
 
===RFM12Pi V2 Setup===
 
===RFM12Pi V2 Setup===
  
 +
The RFM12Pi V2 can be purchased pre-assembled and from the OpenEnergyMonitor shop [LINK] there
 
sudo avrdude -v -p atmega328p -c avrispmkII -P usb -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xE2:m -U flash:w:Optiboot328_8mhz_RF12_Demo.hex
 
sudo avrdude -v -p atmega328p -c avrispmkII -P usb -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xE2:m -U flash:w:Optiboot328_8mhz_RF12_Demo.hex
  
====Uploading to the ATmega328 from the Pi====
+
====Upgrading ====
  
 
Upload to 328 with ISP:
 
Upload to 328 with ISP:

Revision as of 19:17, 12 April 2013

RFM12Pi V2

The RFM12Pi allows the Raspberry Pi to receive wireless data from RFM12B wireless module.

Technical Overview

  • ATmega328 based, has more memory and hardware serial support
  • Runs on the internal 8Mhz oscillator (to save unnecessary components)
  • SMT used, board layout is optimized for pick-and-place assembly
  • Lower profile to fit inside most Raspberry Pi enclosures
  • The new RFM2Pi with ATmega328 allows programming directly from Raspberry Pi using avrdude (..and OptiBoot)

Operational Overview

The RFM12Pi V2 consists of an RFM12B wireless module and an ATmega328 microprocessor running OptiBoot serial bootloader which is Arduino compatible.

The ATmega328 runs a slightly modified version of JeeLabs's RF12Demo raw wireless packets are passed to the Pi via serial using the Pi's internal UART serial port. The raw packets are processed by emoncms Raspberry Pi module, specifically the raspberrypi_run.php script. See emoncms documentation on emoncms.org for detailed documentation regarding setting up and running emoncms on a Raspberry Pi with an RFM12Pi.


RFM12Pi V2 Setup

The RFM12Pi V2 can be purchased pre-assembled and from the OpenEnergyMonitor shop [LINK] there sudo avrdude -v -p atmega328p -c avrispmkII -P usb -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xE2:m -U flash:w:Optiboot328_8mhz_RF12_Demo.hex

Upgrading

Upload to 328 with ISP:

Sketch upload on Pi: cd /RFM2Pi/firmware/RF12_Demo_atmega328 avrdude -v -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 38400 -U flash:w:RF12_Demo_atmega328.cpp.hex


Design Files

The board schematic, layout and firmware are available on github