Thursday, January 27, 2022

DTN-IPN R&D Lab Prototype Update

Happy New Year!!

Since my previous article on December 2021, I made some changes to the original design of the IPN-DTN Lab prototype that continues to be very much a work in progress project.


From the previous version I added two more nodes running on a Raspberry Pi Zero W 2, I expect in the future to add more as they become available, they are currently in short supply and are hard to procure.

There is a Raspberry Pi 3B+ with the sense hat also running Raspi OS and ION 4.1.1 that I use for testing code. And another two Raspberry Pi 3B+ running a complete different implementation of DTN called IBR-DTN from a University in Germany (more about it soon.)

I rearranged the nodes on the breadboards, and now the one implementing some of the functions of a Mission Control Center (MCC) has more displays, taking advantage of an eight channel I2C switch from Texas Instruments, the TCA9548A. With this switch it is possible to drive the seven 128x32 OLED displays that are associated with this node using a single I2C channel.

Also, on the MCC node I have now a 2” 320x240 IPS TFT LCD display, it uses the ST7789 TFT driver that can display full 18-bit color. The display module is connected to the SPI interface on the Raspberry Pi.



There is a new node implemented with a Raspberry Pi Zero W 2, I named it NASA-JPL, this node features also a 1.14” 240x135 TFT Color LCD mounted in portrait mode using the SPI interface of the Raspberry Pi.

The idea is that at some moment those displays will show images transferred over DTN using Bundle Protocol, like pictures taking by a rover on the surface of the Moon  (future node to be added using a Raspberry Pi with a camera), transmitted to a local relay node and from it through the Space Network to a ground station, and then through the Ground Network to a screen on JPL and/or MCC, all using Bundle Protocol.


On the previous version I was using independent power supplies for the Raspberry Pis, wiring was getting ugly and complicated. I replaced them all by single 5.1V 15A power supply, I had to put together some sort of power distribution adapter going to each of the breadboards where the Raspberry Pi are mounted.

If you have a good eye you will notice some LDO Voltage Regulators to step down from the 5V power supply to 3.3V required by some parts, particularly displays.

While on some nodes I can use the 3.3V generated by the Raspberry Pi Zero W2s, with the alphanumeric LED displays and too many OLED I was drawing too much power, then now some nodes have their own 3.3V LDO regulator.

I keep “the lab” running 24/7 monitoring power and some key signals, so far it has been reliable after I fixed the power distribution issues.

I took a Hack RF SDR I had in a box to check on the transmission signal levels of the LoRa modules, they are as expected centered on 915MHz, while they are low power modules, the signal can reach a hundred feet or more with a data rate of about 500bps, almost three times faster than Voyager 1, well the thing is 23+ Billion Kilometers away 😀😀😀.



On the software side I have a lot of work to do. Now I have all nodes running the same version of Raspi OS, they all have Circuit Python installed, NASA JPL ION 4.1.1 and all have Pyion 4.1 which is a Python programming interface for ION, so putting together a message to be sent over the DTN is simple as

import pyion 

proxy = pyion.get_bp_proxy(1)
proxy.bp_attach()

with proxy.bp_open('ipn:82.1') as eid:
    eid.bp_send('ipn:82.1', b'hello')


There is obviously and updated “Blinking Lights” video showing all the nodes running and some of the VNC screens from nodes, showing for example real time data from a GPS module, the message exchanges via LoRa, etc.


I started documenting the project, here is a diagram showing the current network topology configuration, this diagram does not represent the DTN communications topology.

I’m also drafting a paper and an introductory presentation about space communications evolution and DTN-IPN.


Now that I have a stable hardware and basic software platform running, I will be working in the actual DTN topology. This is very much a learning process for me as well, so I will be using a very interesting tool developed by the MITRE Corporation for an ION training course from NASA JPL.


I’m pretty sure that very soon I will be able to share some updates of what is happening at the InterPlanetary Networking Special Interest Group (IPNSIG), meanwhile if you want to learn more and join the conversation I have created a Facebook Group you can join.

Until the next inter planetary trip …

Cheers
Jorge