Updated MRF24J40 arduino driver

Thanks to pkarck my changes to improve the C library for Microchip’s MRF24J40 802.15.4 modules has been ported to the Arduino library. I’d written an Arduino library some time ago, but hadn’t been maintaining it as I don’t really deal with Arduino much these days. However, it’s gotten some love :) It’s now easier to use, and has support for the power amplifier on the MRF24J40MB modules, if you’re using those. It also makes some quirks I was dealing with in a mixed xbee/mrf24j40 module environment optional. In general, this collects up some of the various reported issues over the last year or so, and I didn’t have to do anything at all!

This is, “teh awesome”.


  1. Hi,
    thanks for your job on mrf24j40.
    I’m trying to connect a mrf24j40a with a Arduino pro mini (3,3 v – 8 Mhz – ATmega328).
    I can write and read the registry of mrf24j40 across Arduino , so i’m sure about my cable is good,
    but when i try to launch the “Basic_TwoWay” code for example, on serial port, i see in loop “txxxing…” – “TX failed after 3 retries”

    I have a detector of radio signals for proof of signal output, and I am sure that the output signal is not present.
    The parameters does not initialized in your “init” function are setting to default from Michrochip or i must setting it with Microchip board?

    i don’t understand why if i write and read in registry, i can’t send a tx signal.

    Thank’s for your job and your time.

  2. I’ve been trying to use your library, and I’m getting some weird corruption between two MRF24j40’s I’m hoping you can tell me – have you seen anything like this?

    Basically, if a byte in position X in a message is different from the byte in position X of the last message sent, then it will probably get gargled. For example if I send ‘abcdabcd’ and then ‘abcdefgh’, then the ‘abcd’ will come through the second time, but the ‘efgh’ will probably come through corrupted.

    Keep in mind, if I send the same message twice, then it always goes through the second time.

    I’ve checked that promiscuous mode is off, so messages that don’t checksum should be dropped. I’ve checked the packet in the TXFIFO before it goes out, and it looks ok. I’m just stumped. Any ideas? Has anyone seen this kind of thing?

  3. hi! i dont know how transmit and receive int,float data,your library just have char data. Can you help me? Thank!

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>