NinoTNC Firmware

 

NinoTNC Firmware

4.06 is what is shipping from ETSY.  (we started shipping the “FAT” processor in January 2021)
3.06 is the same firmware (different RAM/buffer sizes) programmed into the 256 “thin” processor.  

We like .06 for stability and being ‘full’ featured.  

Nino is working on future firmware and he’s been improving things and breaking things. 
Up until now, no new features are added the the code, only clean-ups and improvements to functionality. 
For instance, 1200 baud AX.25 receive is better again than it was before, we think.
Also, there is a new firmware boot loader in the new firmware.  Nino also write a new Python boot loader and that is in the GitHub, zflash and tarpn scripting.

https://github.com/ninocarrillo/flashtnc

I am including the latest test versions, as well as the reliable .06, in the  “tarpn update” and in the zflash commands for people using Raspberry PI.  

In 3.07 / 4.07, Nino pulled apart the memory management, the way the different modes were separated in the program and the way certain timed features were called out.  .07 specifically tested the new memory and MODE-function calling and was definitely not working on all of the functions we had in 0.6.   

Now, several versions later, and many hours of testing and work on Nino’s part and some of the NCPACKET network people’s part, .14 is much better than .07.  However….

3.14 and 4.14 are test versions.   .14 may not be ready for prime time!  There still may be untested features missing or broken in .14 that were working in .06.  

So far we have had no trouble using the boot loader to move back and forth from 3.06 and 4.06 to the new stuff.  

All of the NinoTNC firmware (since 2.81 in October 2020) works in A2, A3 and A4 NinoTNCs.  

Beware that versions 2.90 through 3.05 should not be put on your NinoTNC because the boot loader support in those versions can get you stuck, requiring a PIC-KIT to refresh the chip.   

See the change log for details:
http://tarpn.net/t/nino-tnc/n9600a/n9600a_history.html#changelog

This is how the update process looks like.

pi@pi1lap:~/tarpnflash $ python3 flashtnc.py /home/pi/flashtnc/N9600A-v4-0-6.hex /dev/ttyACM0
Opened port /dev/ttyACM0
Scanning hex file to determine target chip.
Hex file target: dsPIC33EP512GP
Opened file /home/pi/flashtnc/N9600A-v4-0-6.hex
Flushing serial buffer.
Starting TNC reflash mode. Don't interrupt this process, the dsPIC may brick.
Flushing serial buffer again.
TNC successfully entered bootloader mode.
TNC bootlader version:  B
TNC ready for hex file, starting transfer. This will take a few minutes.
Start time:  09:17:38
Lines written:  1000
Lines written:  2000
(snip)
Lines written:  10000
Lines written:  11000
Lines written:  12000
End time:  09:19:49
Line count:  12791
Firmware update successful.

A test Packet

08:28:02R N9600A-3>IDENT Port=1 :
:Test Packet=FirmwareVr:4.06=SerialNmbr:=UptimeMilS:00077666=BrdSwchMod:04060002=AX25RxPkts:00000003=IL2PRxPkts:00000000=IL2PRxUnCr:00000000=TxPktCount:00000114=PreamblCnt:0000001E=LoopCycles:00532CD0
08:27:49R N9600A-3>IDENT Port=1 :
:Test Packet

PointoPoint link between two Ninotnc`s

Today I am playing with tncattach, I thought it would be fun to test this with the Ninotnc`s.

I have connect the first Ninotnc n9600A4 to my rpi 4 and install “tncattach” on it. The TNCs are connected with each other by means of a short cable.  Cross cable. The tnc are running 9600Baud

TNC1             TNC2
RX                   TX
TX                   RX

# If you don't already have a compiler installed
sudo apt install build-essential

# Clone repository from GitHub
git clone https://github.com/markqvist/tncattach.git

# Move into source directory
cd tncattach

# Make program
make

# Install to system
sudo make install

The next thing I did was setting up a pointopoint link. But first attach the modem.

sudo tncattach /dev/ttyACM0 57600 -d --noipv6 --noup --mtu 329
sudo ifconfig tnc0 10.0.0.1 pointopoint 10.0.0.2

The second Ninotnc n9600A3 I have connected to my rpi 3

sudo tncattach /dev/ttyACM0 57600 -d --noipv6 --noup --mtu 329 
sudo ifconfig tnc0 10.0.0.2 pointopoint 10.0.0.1

I made a short video of how it works.

That was Fun….

NinoTnc update

On my very expensive scoop (hi) you see a packet frame @ 1200 Baud received from a station about 50 kilometers away. Looks fine to me.

After updating the Firmware from version V2.35 to V2.81 I see a good increase in the decoded frames.

How to update the Firmware

wget http://tarpn.net/zflash2020oct/tarpnflashinstaller.sh
chmod +x tarpnflashinstaller.sh
./tarpnflashinstaller.sh

Run
tarpnflash usb
* My Ninotnc is connected to ttyACM0.
tarpnflash version ttyACM0
* Is there a newer version available in the dir "ninotnc" you can run.
tarpnflash flash ttyACM0 (version number)
* Now the Firmware is being updated.
* Check if the flash of the firmware went well.
tarpflash version ttyACM0
* Great now running Version v2.81
/dev/ttyACM0 NinoTNC v2.81

I immediately built my second NinoTNC. I am very curious how that works with IL2P mode, Improved Layer 2 Protocol. In the picture below, the two NinoTnc`s are running at 2400 Baud with IL2P mode. Functions perfectly. Now I have some problems with adjusting to 4800 and 9600 Baud. I have to look into this.

[0]N9600A3>IDENT::TestPacket=FirmwareVr:2.81=SerialNmbr<0x00<0x00<0x00<0x00<0x00<0x00<0x00>0x00>=UptimeMilS:0007C5F2=BrdSwchMod:02060002=AX25RxPkts:0000001B=IL2PRxPkts:00000000=IL2PRxUnCr:00000000=TxPktCount:0000000A=PreamblCnt:0000001D=LoopCycles:006CD389

NinoTnc progress

Boy, I can hit my head against the wall. I made a very rookie mistake. I had  soldered a number of Leds the wrong way round.  Tsss before I finally invented that. Very stupid.
But when I finally found out (it’s even in the description on the tarpn website) it now works the way it should.

Let’s test how the reception is. (aprs on 144.800Mhz @ 1200 Baud)

I feel like he is a little deaf. Looks like he’s missing some frames. Maybe it’s the setup I’m using. I am using a Yaesu ft7800 with the NinoTnc directly on the Mini Din of the radio. I have to figure this out, I will read the Tarpn website one more time.

First let’s update the flash.

Mmmmm, let’s give it a go.

Nice…

A Linbpq configuration example

bpq32.cfg

PORT
PORTNUM=3                                
ID=NinoTNC     
TYPE=ASYNC                                
PROTOCOL=KISS                         
FULLDUP=0                      
COMPORT=/dev/ttyACM0
SPEED=57600                    
CHANNEL=A                      
PERSIST=225                    
SLOTTIME=20                   
TXTAIL=1                       
QUALITY=1                      
MINQUAL=81                     
MAXFRAME=1                     
FRACK=6000              
RESPTIME=40                    
RETRIES=20                     
PACLEN=236                      
UNPROTO=ID                     
L3ONLY=0                       
DIGIFLAG=0                     
DIGIPORT=0                     
USERS=1                        
IGNOREUNLOCKEDROUTES=1  
ENDPORT

I am very happy to be able to add this (Nino)TNC to the collection.

OMG…. How

(IK5FKA, Still Alive & Kicking) Tnx for the mail.

I am busy with a number of large projects, so I have very little time for the hobby. In my daily life I work as a Welder and I am used to working with large materials.

And I get scared of the little NinoTNC and parts I received. I know where to start, but I’m scared of squeezing that little thing completely. Or that everything is soldered together. I hope I can find some time this weekend to find out which part should go where and start soldering.

shit ….. i’m very afraid. Wish me luck.

NinoTnc N96003A Pre-Order

It is now possible to order the NinoTNC as a Pre-Order. It is expected to be delivered in May.
Order it at… https://www.etsy.com/listing/771765516/preorder-n9600a3-circuit-board-and-cpu

I ordered two, I am very curious. Just wait for the B.O.M (Bill Of Materials)file and then I can order the components.

PRE ORDER LISTING–PLEASE READ: This is a revision of the N9600A that eliminates the need for a USB-serial daughter board, which is now in short supply in the US. This PCB, N9600A3, provides pads to use an MCP2221A-I/P USB bridge on-board, along with a USB-B connector. I expect to have stock ready to ship in May 2020, but that date may extend due to current global events interrupting supply chains.

More information about this device is available here: http://tarpn.net/t/nino-tnc/nino-tnc.html

This kit contains the printed circuit board and programmed dsPIC CPU required to build one TARPN N9600A3 packet radio terminal node controller (TNC). This kit does not include any other parts from the bill of materials, you will have to obtain more parts from a supplier to build a complete working TNC. Basic electronics tools and skills will be required to assemble a working TNC. You’ll need to be competent with a soldering iron, and have a supply of small-gauge solder. Side cutters will be necessary, as well as tweezers or needle-nose pliers.

The PCB is a high-quality 4-layer board with blue finish and white silkscreen for part locations and identifiers. It requires only thru-hole parts for assembly.

Once assembled, the N9600A3 TNC acts as a multi-mode data modem you can use to create narrow-band datalinks with VHF and UHF communication radios. The N9600A3 TNC sends and receives data using several user-selectable modulation methods and link protocols: traditional AX.25 modes at 1200 bps AFSK (like APRS) and 9600 bps using GMSK (compatible with the G3RUH standard).

N9600A3 differs from previous revision with the incorporation of an on-board USB bridge and USB-B connector, as well as 2 more DIP switch options that will enable several future firmware features that are under development now. All these future firmware upgrades will be supported in N9600A2 as well, through KISS options (N9600A2 does not have as many switches).

The TNC also supports an experimental layer 2 protocol called IL2P which incorporates several improvements, including Forward Error Correction. IL2P can be used as an alternative to AX.25 on both 1200 AFSK and 9600 GMSK modes. You can read more about IL2P here:

http://tarpn.net/t/il2p/il2p.html

9600 bps GMSK will not work with all voice-band radios. It requires a radio with a data port (direct modulator/discriminator connection) or other wide-bandwidth connection. It should be possible to use 1200 bps AFSK mode with most voice-band radios, once you have obtained (or made) suitable connection cables.

You can find more information about this TNC, build instructions, bill of materials, configuration tips, and a community of users at the following links:

http://tarpn.net/t/nino-tnc/nino-tnc.html
https://groups.io/g/ninotnc/topics

Some disclaimers: We are selling this kit at very close to our cost, in the hopes of growing the Terrestrial Amateur Radio Packet Network (TARPN) and the entire packet radio community. You must assemble and use this device at your own risk. Operation of any radio device on the Amateur Radio bands requires applicable licensing by the government of the country where the device is used. If you damage the PCB or CPU beyond repair during assembly or use, you’ll need to pony up another $7.57 plus shipping to order a replacement. We do not guarantee suitability for use for commercial purposes. Do not use this device as part of a life-saving system.

I hope that you enjoy assembling and using this device, and grow a packet radio network where you live!

73,
Nino
KK4HEJ

News from the TARPN front.

I received a nice email from Tadd KA2DEW, there is a lot of development in the NinoTNC. Read the great news below.

We fixed the FTDI USB problem with the NinoTNC board by putting a USB-B socket on the PCB and a Microchip USB IC. This actually cut the parts cost by a few $. We’ll have the boards for sale on ETSY in April. Go to Etsy.com and search for TARPN. If the search doesn’t come up, then it isn’t listed yet. Our plan is to take orders in advance of shipping, and prime the pump with 200 boards ordering in early April with 3 weeks to get the boards into stock. At a time closer to ship time we’ll order programmed PIC CPUs with the latest firmware. When we get down to 50 or so in stock, we’ll order more. Because we’re running on out-of-pocket funding for the boards and CPUs, there may be some out-of-stock issues, but the price is right so hopefully people will smile and deal with it.

The new board is called the N9600A3. The last version was the A2, a black PCB with a 2-bit dip switch and the FTDI module on headers. The new board is the A3 blue PCB with USB B connector and a 4 bit dip switch. The new switches will be used to select more bit-rates. We’re not ready with anything new yet, but hopefully by the time the board ships? We’re likely to have 1200, 2400, 4800 and 9600 for FM and maybe some support for HF via SSB. Just like the A2 board, this one will come with IL2P Forward Error Correction mode which is a very efficient packet encoding providing Forward Error Correct in the same length packet as an AX.25 packet. (Full disclosure, as I understand it, packets with > 64 payload bytes will grow larger than AX.25 but small payloads result in shorter than AX.25 packets).

The NinoTNC A3 will come with a over-the-USB bootloader to update the firmware over USB, and we’ll be shipping a free Raspberry PI Raspbian application to boatload the TNC from a hex file. The hex file will be shipped for free one way or another. TARPN node ops will just do an UPDATEAPPS command on the TARPN scripts.

There is much software support to write for this which is not yet done. Our crack firmware and software teams are busy busy busy. Even though we’re not going to be ready with updated software in time we wanted to rush the A3 out there to solve the availability problem with the FTDIs. In addition we discovered that the tolerances for the Micro USB plugs and sockets are so bad that many people are breaking the FTDI modules plugging and unplugging. That’s not good. It’s easy to work-around but ugly. The A3’s USB-B connector is a much better deal.

See our news and info page starting at http://tarpn.net/d

Like before, we won’t be taking profit from this, and we’ll be selling the PCB + CPU for well under $10 on ETSY. Search on ETSY for TARPN. If it isn’t coming up, then we’re not ready to take pre-orders yet. It should be ready in early April. The news and info page will be updated when we get the store back up and when we have a clue about shipping this. We’ll also be posting a new A3 assembly link with access to the new bill of materials.

If you are interested in this, you should also sign up for the email reflector. http://tarpn.net/t/nino-tnc/email_reflectors.html

Tadd — KA2DEW

NinoTNC arrived.

A while ago I wrote something about the NinoTNC.

The NEW… NinoTNC form TARPN

There are some Dutch Radio amateurs who have ordered them.
Now I came across some pictures of a Dutch Radio Amateur who own and build the NinoTNC.

Impressive……

The NEW… NinoTNC form TARPN

Tadd KA2DEW send me some great news. Thank you Tadd.

I`ve read that they were working on it, but that they were already that far …..

The sale will probably start at the end of January or the beginning of February.

TARPN is about to start selling its own TNC called NinoTNC. This is to be sold as a programmed CPU and PCB for $14 including shipping. They give you a BOM file and instructions to submit it to DigiKey for the rest of the parts. Costs about $25 including USPS shipping. Total cost is < $40. The NinoTNC is a USB KISS hardware/firmware TNC which looks like the TNC-PI, but isn’t a HAT. It is powered over USB and can connect to any USB equipped computer which supports a program to operate a KISS TNC. The NinoTNC has its own FEC mode useful for making dedicated point-to-point links.

Here some links with further information.

http://tarpn.net/d
http://tarpn.net/t/nino-tnc/n9600a/news-about-ninotnc9600A2—starting-field-tests.pdf
http://tarpn.net/t/nino-tnc/n9600a/n9600a_general_info.html