ldstnc

What ?

This project is all about a simple, network connectable TNC.
After working on a linux packet engine (ldsped) to be able to run UI-view on my PC's and having the TNC on the linux box, I wanted to go a bit further.

While the linux system is far more able to interact with other programs (ie MRTG), the purpose here is just to have a basic system.

The hardware

The TNC

The first thing I needed was a TNC. I bought a second-hand AEA PK-900. But this is not a little device. And it was a one shot. Not good for a project someone might try to duplicate.

Then I thought of a baycom device. Alas, the TCM3105 is out of production for some time now and is very rare (and expensive if you find it).

I searched for another solution and found on the Internet an example of a simple decoder with the CML MX614. Alas again, while I found a supplier in Belgium, I had to buy a minimum of 50 pcs. A little bit to much for me ...

But then I saw the light ! I found the amazing TNC-X, at a very good price. I bought 3 pcs.

 

The Network connection

The next thing is the network connection.
I needed a device with serial connection(s) to interface to the TNC-X and means to connect to a TCP/IP network. And enough memory to hold the neccesary code.

This was not a big problem, I already knew the zworld products (I also used them in my car-APRS solution), and there is a beautifull little processor board with ethernet connection, the RCM3700 :

RCM3700(photo from the zworld site)

 

The assembly

Very little glue is necessary to connect the processor board to the TNC-X :

I do the desinging & drawing, and my good friend former ON4DVT makes the PCB boards. The result :

 

 

 

 

 

Very nice, isn't it ?

At first, I wanted to design it to support 2 TNC-X devices, but for now, I let it as is.

 

The Software

This system is driven by a stripped-down and adapted version of the ldsped code.
This was not as easy as I first thougth. The linux code benifits from the linux OS: network interfacing, multitasking etc: it all is there and ready to use.

I already mentioned : I'm not that of a programmer. It took me some time to study the examples to service multiple TCP/IP connections on the zworld board.

For now, it will only process the R, G, k, K and m frames (and, offcourse, respond with the proper frames). This is enough for UI-view or similar to function (send and receive).

A photo of the complete test system :

 

Here's how my tnc presents itsself to UI-view (of course pretending it's an agwpe) :

 

 

Jumper 0 enables the debugging. Debug info then is sent via the serial port on the TNC-X board :

 

 

The first lines are the attempts to connect to 2 different NTP servers to set the zworld's clock.
Then 5 TCP/IP sockets are opened.
Finally the TNC's data is processed.
 

Conclusion

It's a nice project. Although not yet finished, I'm very pleased it worked out well so far.

If you have questions / suggestions : please tell me !