NPR New Packet Radio

IP over 430MHz Ham Radio, 50 to 500kbps, 20W RF.
Extension for HSMM-Hamnet-AREDN. 100% open-source.

Public Chat
Similar projects worth following
NPR (New Packet Radio) is a custom radio protocol, designed to transport bidirectional IP trafic over 430MHz radio links (ham radio frequencies 420-450MHz). This protocol is optimized for "point to multipoint" topology, with the help of managed-TDMA.
Bitrate is 50 to 500kbps (net, effective bitrate), depending on the RF bandwidth chosen.
The radio modem is cheap (~80$) and home-made, with a 433MHz ISM module inside (flexible enough to be tuned over the whole 420-450MHz band). The modem is connected locally with Ethernet, therefore no specific software is needed on PC.
The modem is easy to build and reproduce.
You can add a DMR radio amplifier in order to achieve 20W radio power or more.
The main usage is an extension of HSMM - Hamnet - AREDN networks.
All the project is open-source : hardware, software, protocol specification.

NPR modems FOR SALE:

Low prices (79$ fully assembled). International shipping.

Note for USA: Due to CFR 47 Part 97 FCC regulations, for the 70cm amateur radio band (restriction to 100kHz and 56kBaud), only the setting "modulation 20" of NPR-70 seems to be legal in USA. Please always check your local amateur-radio regulation before buying and using NPR70.
Modulation 20: Symbol Rate 50kS/s, bandwidth 100kHz, raw datarate 100kb/s raw, usable datarate 65kb/s.

If you want to discuss about NPR:

watch full screen.


Introduction and
quick start guide
v3.6 English
et guide de
démarrage rapide
v3.6 Français
Advanced user guide (EN & FR) v2.15
Modem assembly and programing guide (EN & FR)
Spectrum Occupancy
NPR protocol Specification (EN)

PCB Design (Gerbers, BOM, etc...)

PCB v02 BOM Easy to provision
Total cost ~80 euros
per modem
(Bill Of Materials)
PCB files release note
PCB v03 Cheaper BOM
Total cost ~65 euros
per modem
(Bill Of Materials)
PCB files release note
PCB v04 Old version sold by
Obsolete do not use.
PCB files release note
Add-on SRAM board for PCB v04 only -
PCB files release note
PCB v05 New version for
Fits Funtronics enclosure
(Bill Of Materials)
PCB files release note

Modem Firmware : binaries and sources

Stable version
Beta version
Binary file, band 70cm Binary file, band 70cm
Binary file, band 2m Binary file, band 2m
Release note Release note
Source code Source code

Adobe Portable Document Format - 2.07 MB - 05/03/2021 at 12:50


Adobe Portable Document Format - 1.66 MB - 06/29/2020 at 10:00


Adobe Portable Document Format - 1.66 MB - 06/29/2020 at 10:00


x-zip-compressed - 5.29 MB - 06/29/2020 at 09:39


octet-stream - 176.08 kB - 06/29/2020 at 09:39


View all 35 files

  • 6- Last news, updates

    f4hdk10/20/2019 at 14:59 0 comments

    29th June 2020:

    • Important firmware update about Ethenet mode configuration 10Mb/s or 100Mb/s, half or full duplex; it can solve a recurrent problem of packet loss and low datarate. Refer to the new version of the "advanced user guide". Many thanks to Kevin M0AHN who discovered the origin of the problem. 
    • Inside Advanced user guide : New recommendation added about daily reboot for modems which are ON 24H/day.

    23rd Feb 2020:

    • New firmware with new features
      • The modem can now drive an external PA with its GPIO port
      • In case of SPI SRAM present (auto detected), the TX data buffer is increased to 128kB instead of 16kB previously. Big improvement of the quality of IP connection.
      • Radio connection establishment time greatly reduced.
      • TX_test feature finally debugged and stable.
    • Documentation updated ("Advanced user guide" and "Assembly and programming guide") mainly about SPI-SRAM, about PTT ouptut, and about firmware upgrade.
    • Important info about SPI-SRAM :
      The RAM of the microcontroller used is too limited to have good performances, especially at Master side.
    • The usage of additionnal SPI-SRAM chip improves greatly performances, especially for Masters, by increasing the TX buffer length, and the SRAM chip is automatically detected and activated with the recent firmware 2020_02_23.
      Modems v02 and v03 already have this SPI-SRAM chip.
      Modems v04 (the one sold by Elekitsorparts-Funtronics up to march 2020) don't have the SPI-SRAM (it's my mistake, sorry).
      You can upgrade the hardware of a modem v04 via adding a SPI-SRAM add-on board.
      In order to determine if you need SPI-SRAM upgrade, read the dedicated paragraph inside the "advanced user guide".
      You can buy these SPI-SRAM add-on boards from :
      - Western-Europe : contact me f4hdk[at]free[dot]fr . Warning, I have limited production capacities.
      - rest of the world : soon available at Funtronics - Elekitsorparts

    20th Jan 2020:

    • Advanced user guide updated, mainly in order to clarify IP config of modems (client modems). Refer to revision history.
    • Important info: The solution 1 for upgrading the RAM (see below) is feasible, with external SPI SRAM. I will provide soon (february) cheap add-on SRAM boards, and a new firmware (compatible with and without this SPI-SRAM). For modems v04 only. v02 and v03 already have the SPI-SRAM, and the future version v05 will have it also.

    1st Jan 2020:

    • Documentation updated (advanced user guide and introduction) : command "TX_test", adding a fan on the amplifier, setting the MTU to 750 for better performances. 
    • Important info : for future features, especially for the Masters, and for improving performances (buffer size), the RAM of the microcontroller is not big enough (64kB). I have 3 options, not decided yet, currently the 3 are under test:
      • Solution 1 (prefered): use the existing SPI-SRAM (23LC1024) of PCB v02 or v03. For PCB v04, I could provide a (very) cheap add-on board, easy to solder on top of the Nucleo. It's a shame that I removed this chip inside v04, I'm very sorry, I thought is was useless...
      • Solution 2: use an external SPI-SRAM in QSPI configuration. The existing PCBs (v02, v03, v04) are not compatible at all, new PCB needed.
      • Solution 3: use a brand new microcontroller (Nucleo L476RG), with a totally new PCB, larger.

    8th Dec 2019:

    • Document "advanced user guide" updated, refer to "revision history" inside.

    26th Oct 2019:

    20th Oct 2019:

    • I have implemented the FDD (Frequency Division Duplex) feature, which is optional. You can now use separated frequencies for downlink and uplink (frequency shift), with one single modem at client side, and 2 modems and a RF duplexer at Master side (one modem for RX, one for TX).
    • New firmware released, and documentation (introduction, and advanced user guide) updated accordingly.

    29th Sept 2019: ...

    Read more »

  • 5- Planned or possible evolutions

    f4hdk05/12/2019 at 06:26 0 comments

    Please feel free to comment these lists of evolution, and express your requests, or your priorities. Either here or in the public chat.

    Planned evolutions

    • Better FEC algorithm, because currently it is very poor. If you can give me some help, I don't understand a lot standard FEC algo (with all these Maths).
    • Regular temperature check and re-calibration of SI4463 if necessary -> done! (firmware 2019_06_16 and above)
    • Increase to 15 clients instead of currently 7 maxi. → Probably not feasible with current hardware at Master side, not enough RAM (new hardware under study)

    Possible evolutions, if people are interested (raw order, no priority order):

    • Static IP management of some modems → Removed because you can use future "L2 pure ethernet transport feature" which will be more flexible
    • Management via pure serial port (instead of USB)
    • L2 Ethernet transport configuration (instead of currently L3 IPv4); could enable more flexibles topologies, and IPv6 compatibility. But a little bit less efficient.
    • Extension of frequency range to 420-450MHz instead of currently 430-440MHz (IARU region 1 limits) -> done! (firmware 2019_06_16 and above)
    • Other modulation parameters, with lower datarates, in order to decrease RF bandwidth -> Done (firmware 2019_06_16 and above)
    • QoS necessary in order to transport VoIP data over an NPR network
    • Totally new design, microcontroller with more RAM, PCB optimized for automatic PCB assembly line. Goal would be to mass produce fully assembled modems. Probability low, only if enough people are interested.-> Cancelled feb 2020. The current hardware is already "mass produced" by Funtronics - Elekitsorparts
    • Frequencies split between uplink and downlink (in case you use NPR Master in a tower where a UHF FM repeater is already present). Additionally, the Master could be used in "FDD" (Frequency Division Duplex) mode in order to use these 2 frequencies simultaneously, like 2G or 3G mobile phones. 2 modems required at Master side. Complex! --> done! (20th oct 2019)

  • 4- FOR SALE! (New Packet Radio modems).

    f4hdk04/22/2019 at 06:34 0 comments

    NPR modems for sale!
    Low prices (79$ fully assembled). International shipping.

    If you want to sell kits from/to a particular region (either Europe or US or another), then I can add your contact e-mail and website inside this blog post.

  • 3- Firmware history

    f4hdk04/22/2019 at 06:21 0 comments

    for later usage

  • 2- Deployment, NPR networks, tests

    f4hdk04/22/2019 at 06:20 1 comment
  • 1- Pictures

    f4hdk04/22/2019 at 06:19 0 comments

    For later usage.

View all 6 project logs

Enjoy this project?



Alexander Pick wrote 05/18/2021 at 05:32 point

Hi! Just a quick question as I am struggling at some point doing the fan mod you suggested. In the advanced guide you write "In order to decrease current inside the fan, install a (power) resistor in series. ". What size of resistor did you use or recommend?

  Are you sure? yes | no

harzi wrote 03/08/2021 at 16:41 point

The workaround about the frequent reboot, may be solved like this:

add in crontab a line like

4 45 * * MON /home/pi/scd /dev/ttyACM0 921600 20 'reboot\r\n'

for a weekly reboot in the night from Sunday to Monday at 4:45AM

  Are you sure? yes | no

f4hdk wrote 03/08/2021 at 16:54 point

@harzi you should better discuss in the public chat here

For periodic reboot, it is not a good idea to do it via a serial command, because it will not work if the modem is totally frozen.

There are several ways to do it properly:

* either you send a "break" over serial

* or you shut down the USB port for a few seconds

* or you reboot totally the R-Pi periodically. This last solution is the easiest in my opinion.

  Are you sure? yes | no

harzi wrote 03/08/2021 at 17:02 point

OK, thx for advise

  Are you sure? yes | no

harzi wrote 02/12/2021 at 07:47 point

For automated (Master-) NPR modem control via eg. Raspberry Pi serial, you may need to delay the characters sent. Interactive control via screen or minicom works perfectly without special tools.

Please don't hesitate to use: serial command delayer

To compile: gcc -Wall -o scd scd.c;chmod u1x scd

usage: scd [device] [bitrate] [delay in ms] ['command']

example: scd /dev/ttyACM0 921600 20 'radio on\r\n' # turns radio on

scd /dev/ttyACM0 921600 20 'status\r\n' # shows status page

scd /dev/ttyACM0 921600 20 '\03' # send CTRL-C to stop status page

scd displays received serial answers after timeout.

'\r\n' -> CR, Linefeed is required to finish command.

'\03' is the character to send for a CTRL-C


  Are you sure? yes | no

Benny wrote 02/06/2021 at 00:51 point

What would it take to run this on a different band, like HF?

  Are you sure? yes | no

Ekspansja wrote 01/07/2021 at 21:33 point

Too big to carry

  Are you sure? yes | no

f4hdk wrote 01/10/2021 at 10:54 point

@Ekspansja Yes, especially the the antenna. ;-) 

  Are you sure? yes | no

marazm wrote 01/10/2021 at 13:32 point

therefore i would gotenna or pylife

  Are you sure? yes | no

lee carraher wrote 12/05/2020 at 13:37 point

Still looking for FEC help? Gnu radio has some examples. I have an implementation that decodes the leech lattice. . I will order a pair of the modems and check out some others. is the signal already converted to binary symbols of the qam constellation. Do you get distances from the symbols, or just binary string?

  Are you sure? yes | no

gary_mayfield wrote 11/15/2020 at 15:48 point

Has anyone looked at using a an RF4463F30 centered on 915 MHz to avoid the US bandwidth/character speed issue? They are available here:

That should be in the 33cm US ham band.

  Are you sure? yes | no

kuek wrote 11/12/2020 at 17:08 point

awesome project. I made a more compact PCB including some additional features, like PoE etc. Its compatible to your firmware and works well.

you can see some info here, powering the device while pining another one.

some pictures (first and second version ;-)

  Are you sure? yes | no

Kosma wrote 09/14/2020 at 11:10 point

to big for me. not mobility, not easy connect hand radio (baofenf for exampple)

  Are you sure? yes | no

Sharkykk6idn wrote 09/08/2020 at 00:04 point

What size cooling fan did you add after you removed speaker from the AMP? I measure 60mm x 60 mm holes which could use a 70mm cooling fan without additional holes. We want to make sure the master unit stays cool.

  Are you sure? yes | no

f4hdk wrote 09/14/2020 at 13:53 point

@Sharkykk6idn A 70cm fan will fit. Refer to the last version of the "advanced user guide", there is a dedicated paragraph about amplifier cooling. I highly recomment you to make additional holes because the area covered by the blades of a 70cm fan is wider than the original speaker.

  Are you sure? yes | no

trint wrote 08/18/2020 at 15:49 point

Is it possible to add a 2.4 wireless access point at the client end, i.e. directly connected to the LAN port? We have several sites that do not have clear access due to trees and buildings, so even moving the radio and antenna 50 meters away from the users would mean the difference between success and potential failure

  Are you sure? yes | no

stevewa2066 wrote 07/25/2020 at 05:23 point

if you go to the manufacture of the amp they do not list the D version .  Just U and DU. 

Which is it?

  Are you sure? yes | no

Marco wrote 06/23/2020 at 04:46 point

Hi all, yesterday I've installed the first NPR-70 link in Italy! Wow! Is it normal that the master continuosly transmits? I don't have much traffic on the link and there's only one client connected. The Master is connected to a switch. I was worried about the Broadcast packets. However I've removed the network cable and the Master continues to transmit every second. Any explanation ?

73 de iw2ohx - Marco

  Are you sure? yes | no

michael-schel wrote 06/19/2020 at 11:00 point

Intersymbol Interference is better with OFDM, but maybe 8PSK as used in 280kHz wide EDGE/GSM is possible too.

  Are you sure? yes | no

michael-schel wrote 06/19/2020 at 10:57 point

Regarding the higher modulations, TDMA, Header Compression, LDPC forward error correction I would run an Android or PC and a HACKRF via USB

  Are you sure? yes | no

michael-schel wrote 06/19/2020 at 10:55 point

I did an adress encoder Matrix, assuming maximum 64 clients on one Packet Radio Repeater, see link ...

  Are you sure? yes | no

f4hdk wrote 06/20/2020 at 08:00 point

@michael-schel Could you please continue the discussion in the "public tchat" dedicated to NPR70?

The "discussion/comment" part of a hackaday-project (the one we use right now) is not designed for such long discussions.

  Are you sure? yes | no

Siegfried Loeffler wrote 06/18/2020 at 08:29 point

Wow, I'm impressed, and also I'm delighted somebody is still trying to do something like this. I haven't done any amateur radio for the last 20 years, my last steps were building a 9k6 RMNC node ;-) - One question thought, if I build one of these today, where can I find stations to connect it with? My main QTH is Paris 14/Montparnasse - 73 de Siegfried F/DG1SEK.

  Are you sure? yes | no

Cloolalang wrote 06/01/2020 at 16:01 point

Great Project!  A lot of work to make something cool!

Future possibilities:

Use AX 5043 for the 6 and 4 meter bands?

MIMO experiements

  Are you sure? yes | no

michael-schel wrote 05/04/2020 at 14:33 point

If I could add to wish-list:

1) higher modulation like 8PSK with small roll-off factor of 0.25
2) 1Byte (32Subscribers+Statusbits) for the packet header
4) Adjustable guard intervals for reflection supressions

Are there such chips on the market, or only possible with SDR?

  Are you sure? yes | no

f4hdk wrote 06/19/2020 at 05:02 point

@michael-schel I only see your comment today, sorry. What do you mean by "1byte for packet header"? I don't understand. The header is already 5 bytes long. You can read the "protocol specification" for more details.

The "guard interval" is not a problem for slow TDMA like NPR70. I already have 100 microseconds interval between frames, that is huge. Adjusting it will never solve the reflexion problem. The reflexion problem could be solved with much more complex modulations like OFDM.

Finally, I don't know any accessible chip which would make all that.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates