Close
0%
0%

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: https://www.elekitsorparts.com/product/npr-70

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.


Documentation

Introduction and
quick start guide
v3.6 English
Introduction
et guide de
démarrage rapide
v3.6 Français
Advanced user guide (EN & FR) v2.16
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
BOM
(Bill Of Materials)
PCB files release note
PCB v03 Cheaper BOM
Total cost ~65 euros
per modem
BOM
(Bill Of Materials)
PCB files release note
PCB v04 Old version sold by
Funtronics.
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
Funtronics.
Fits Funtronics enclosure
BOM
(Bill Of Materials)
PCB files release note

Modem Firmware : binaries and sources

Stable version
2020_02_23
Beta version
2020_06_29
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.08 MB - 11/27/2021 at 10:30

Preview
Download

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

Preview
Download

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

Preview
Download

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

Download

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

Download

View all 35 files

  • 6- Last news, updates

    f4hdk10/20/2019 at 14:59 0 comments

    27 Nov 2021

    I have modified the "advanced user guide". The "command list" table inside annex Annex-1 was totally messed up; now it is ok. Sorry for that.

    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...
    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!

    https://www.elekitsorparts.com/product/npr-70
    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?

Share

Discussions

Tim wrote 08/05/2023 at 22:45 point

This project was referenced on 5 August 2023 from the Hackaday "Break Free From Proprietary Digital Radio", and it looks interesting. Is it still in development? Anyone using it? The first thing I look for is a schematic to get a sense of the hardware. I've reviewed all the files and comments, but have not found the schematic. The page says "100% open source" so I assume the missing schematic is just an oversight?

  Are you sure? yes | no

f4hdk wrote 08/06/2023 at 04:54 point

The schematics is inside the ZIP file named "PCB files". There is no recent development, and yes, some OM use it. 

If you have questions, it would be better to discuss in the tchat page https://hackaday.io/messages/room/279145

  Are you sure? yes | no

DaniloT wrote 01/18/2023 at 18:22 point

Hi  i would like to know if is possible to change de frequency to range between 10Khz to 30khz , the data transfer lost perform but it is possible i would like  adaptation to acoustic communication.

  Are you sure? yes | no

Mark wrote 01/10/2023 at 14:56 point

Here in the US we have a band at 902MHz (known as 33cms). I also note that the company that makes the 70CMS RF module also makes a pin compatible 902MHz module. Any possibility that we could have a 902MHz version of the NPR70. Perhaps call it the NPR33?

  Are you sure? yes | no

nerdu wrote 09/23/2022 at 14:22 point

is any connector to baofeng?

  Are you sure? yes | no

f4hdk wrote 09/23/2022 at 14:40 point

No. It is not the goal of the project. A Baofeng cannot handle wide-bandwidth modulations (100kHz or more) required for this NPR70 protocol.

  Are you sure? yes | no

tywy wrote 06/11/2022 at 16:59 point

mesh batman working?

  Are you sure? yes | no

Bjorn wrote 05/06/2022 at 16:34 point

I am trying to get the snmp support from https://github.com/elafargue/npr70 working. Any plans to integrate this?

  Are you sure? yes | no

magnum88 wrote 01/23/2022 at 19:31 point

Salut Guillaume,

puis-je te contacter en MP

j'ai fait des modife sur mbed-os

et tes sources

bonne journée

Xaveir F4IYT

  Are you sure? yes | no

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 https://hackaday.io/messages/room/279145

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: https://npr.hb9gvd.ch/files/scd.c 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. https://github.com/leecarraher/RPHash/blob/master/leechArrayDecoder.c . 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:

https://www.tindie.com/products/NiceRF/rf4463f30-1w-wireless-transceiver-module/

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.

www.localino.net/newpacketradio/nrp_video.mp4

some pictures

www.localino.net/newpacketradio/npr1.jpg
www.localino.net/newpacketradio/npr2.jpg (first and second version ;-)

  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?

https://m.verotelecom.com/VR-P25-Series-Power-Amplifier-p204142.html

  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

Similar Projects

Does this project spark your interest?

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