Homemade NKM2401


Senior Member
I recently looked in my parts bin and realized that I had accumulated over 10 pairs of ASK RF Modules. These are cheap "dumb" modules, but if care is taken, can be used with a Picaxe to create a fairly robust RF link.

One way to make a reliable & robust RF link with these cheap modules is to add an NKM2401 Manchester Encoder/Decoder chip. This chip was originally developed by Mike Meakin back in the 90's. Rev Ed uses these in the AXE 213 Wireless Radio Boards and for good reason. They really work and are particularly useful on the RX side when combined with a Picaxe using "RFOUT" on the TX side. It frees up the Picaxe on the RX side to do other things while waiting for RF data. You cannot do that with RFIN, since it is a blocking command.

The NKM2401 is really just a PIC12F508 programmed with firmware to make it an encoder/decoder. Rev Ed sells the NKM2401 chips at an almost giveaway price, but has also shared the firmware code in the form of a hex file. So if you want to make your own, all you need is a PIC12F508, a programmer, and the hex file.

There is not a US supplier for these little gems, so I tagged 10 PIC12F508's to an order from my supplier (Mouser) & dug out the old PICKIT2 and programmed them using the supplied hex file. They work perfectly.

If you want to make your own NKM2401, the hex file can be found ====> HERE.

Thanks Rev Ed.


Senior Member
Ahhh ...

And the designer of the NKM2401 leaves his cave to make an appearance! :p

Hi Mike,

Thanks for the neat little device and making it available !


Senior Member
Yes, it's all true ! Nice to hear that you like the nkm2401 which I designed some 15 years ago !

Mike Meakin
Nice work Mike. Is the source code available? I would like to use the program on some 12f629's and 12f675's I have.



Technical Support
Staff member
Nice work Mike. Is the source code available? I would like to use the program on some 12f629's and 12f675's I have.
The source would need a bit of work to adapt as they are very different raw micro parts. Its probably a lot simpler to just buy a 12F508 instead, they are very low cost.

John West

Senior Member
That's what I like about this place. All the smart people come here because all the smart people come here.

And I get to pick their brains. Braaaain..... Braaaaains...... :)


Senior Member
An Internet search for Manchester Encoding will find several hits that provide source code for both PIC and Atmel. I have found code examples in both both C and ASM. The code will need to be modified to suit any particular chip version.

If I we going this route, I think I would consider using something like a PIC 12F1572 and take advantage of the comparator for data slicing. With the PIC operating at 16 - 32 MHz the baud rate could be much higher than the 2400 supported by the NKM2401. However, cost wise, it would likely be much cheaper to simply get a low cost smart RF module like the RFM69W.


Senior Member
Resurrecting an ancient post. I'm using one if these NKM2401 chips for the first time for remote control of a robot. Using 20M2s both in the transmitter and receiver, so they can do RFOUT & RFIN directly. From what I gather, the 2401 is more important on the receiving end to avoid missing data received while doing something else. Seems like the two features it would add on the transmitter end are:

1) test transmit signal
2) accumulating 8 data bytes slowly and auto-transmitting when the buffer is full

I don't need either of those, so I plan to only use a 2401 on the receiving end. Or did I miss something?