Compare commits

...

3 Commits

Author SHA1 Message Date
marcel 4fdf4463a1 19 inch rack build added to build document 9 months ago
marcel 74b67599c3 Added diplexer to build doc 9 months ago
marcel ec55e4b98c Added diplexer 9 months ago
  1. 114
      build_doc/aprs_digipeater.html
  2. 69
      build_doc/aprs_digipeater.md
  3. BIN
      build_doc/images/aprs.gif
  4. BIN
      build_doc/images/assembled_prototype.jpg
  5. BIN
      build_doc/images/assembled_prototype_annotated.jpg
  6. BIN
      build_doc/images/assembled_prototype_annotated.png
  7. BIN
      build_doc/images/assembled_prototype_small.jpg
  8. 2042
      build_doc/images/diplexer.svg
  9. BIN
      build_doc/images/diplexer_inside.jpg
  10. BIN
      build_doc/images/eth-usb-hub-hat.jpg
  11. BIN
      build_doc/images/raspberry_pi_proto_backside.jpg
  12. 26
      build_doc/installation_pe1rxf_aprs_weather_server.html
  13. 20
      build_doc/installation_pe1rxf_aprs_weather_server.md
  14. BIN
      hardware/diplexer/diplexer-backups/diplexer-2024-02-26_161027.zip
  15. BIN
      hardware/diplexer/diplexer-backups/diplexer-2024-02-26_161624.zip
  16. BIN
      hardware/diplexer/diplexer-backups/diplexer-2024-02-26_162807.zip
  17. 2
      hardware/diplexer/diplexer.kicad_pcb
  18. 2
      hardware/diplexer/diplexer.kicad_prl
  19. 75
      hardware/diplexer/diplexer.kicad_pro
  20. 1476
      hardware/diplexer/diplexer.kicad_sch
  21. BIN
      hardware/diplexer/diplexer.pdf
  22. 9782
      hardware/diplexer/diplexer.svg
  23. BIN
      hardware/front_diplexer.odg

@ -5,8 +5,8 @@
<meta name="generator" content="pandoc" /> <meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="author" content="M.T. Konstapel" /> <meta name="author" content="M.T. Konstapel" />
<meta name="dcterms.date" content="2024-02-14" /> <meta name="dcterms.date" content="2024-02-27" />
<title>APRS digipeater</title> <title>APRS igate</title>
<link rel="stylesheet" href="./css/mvp.css" /> <link rel="stylesheet" href="./css/mvp.css" />
<style type="text/css"> <style type="text/css">
:root { :root {
@ -37,11 +37,8 @@
<li><a href="#license" id="toc-license">License</a></li> <li><a href="#license" id="toc-license">License</a></li>
</ul> </ul>
</li> </li>
<li> <li>
<a href="./aprs_digipeater.pdf">PDF version</a> <a href="https://git.meezenest.nl/marcel/aprs_digipeater_weather_telemetry">Git repo</a>
</li>
<li>
<a href="https://git.meezenest.nl/marcel/aprs_digipeater">Git repo</a>
</li> </li>
<li> <li>
<a href="https://meezenest.nl/mees/aprs_digipeater.html">Back</a> <a href="https://meezenest.nl/mees/aprs_digipeater.html">Back</a>
@ -50,17 +47,16 @@
<a href="https://www.meezenest.nl/mees/"><img alt="Logo" src="./images/mees_logo.svg" height="70"></a> <a href="https://www.meezenest.nl/mees/"><img alt="Logo" src="./images/mees_logo.svg" height="70"></a>
</nav> </nav>
<h1 class="title">APRS digipeater</h1> <h1 class="title">APRS igate</h1>
<p class="subtitle">with weather and PE1RXF telemetry server</p> <p class="subtitle">with weather and PE1RXF telemetry server</p>
<p class="author">M.T. Konstapel</p> <p class="author">M.T. Konstapel</p>
<p class="date">2024-02-14</p> <p class="date">2024-02-27</p>
<p><a href="./aprs_digipeater.pdf"><i>PDF version</i></a></p>
</header> </header>
<main> <main>
<article> <article>
<p><b>Abstract </b><p>This project is a collection of former (and some <p><b>Abstract </b><p>This project is a collection of former (and some
new) projects connected together to make an APRS digipeater, which new) projects brought together to make an APRS digipeater, which doubles
doubles as an APRS weather station, with PE1RXF telemetry server as an APRS weather station, with PE1RXF telemetry server
capabilities.</p></p> capabilities.</p></p>
<figure> <figure>
<img src="./images/block_diagram_overview.svg" <img src="./images/block_diagram_overview.svg"
@ -131,9 +127,21 @@ schematic</figcaption>
</figure> </figure>
<p><a href="./images/RPi-LoRa-shield_schematic.pdf">PDF version of <p><a href="./images/RPi-LoRa-shield_schematic.pdf">PDF version of
schematic</a></p> schematic</a></p>
<p>To make this board work for this build, all the power button stuff
has to go. That is all the transistors and the surrounding resistors,
capacitors and diodes. And the 555 timer must also be removed. The RTC
should be mounted on the bottom of the board instead of the top. After
that, a Waveshare ethernet/USB hat is sandwiched between the pcb of the
shield and the Raspberry Pi.</p>
<figure>
<img src="./images/eth-usb-hub-hat.jpg"
title="Waveshare ethernet/USB hat" alt="Waveshare ethernet/USB hat" />
<figcaption aria-hidden="true">Waveshare ethernet/USB hat</figcaption>
</figure>
<h2 id="peripherals">Peripherals</h2> <h2 id="peripherals">Peripherals</h2>
<p>The Raspberry Pi need some extra hardware for interfacing the various <p>The Raspberry Pi needs some extra hardware for interfacing the
peripherals, like the transceiver, the ModBus and the Rnode modem.</p> various peripherals, like the transceiver, the ModBus and the Rnode
modem.</p>
<h3 id="usb-hub">USB hub</h3> <h3 id="usb-hub">USB hub</h3>
<p>As the Raspberry Pi only has one USB port, a hub is essential. I used <p>As the Raspberry Pi only has one USB port, a hub is essential. I used
an old one I had laying around. Taken out of its case, it fits an old one I had laying around. Taken out of its case, it fits
@ -185,29 +193,12 @@ LoRa32 v2.1 (also known as TTGO T3 v1.6.1). Of course you need at least
two boards to form a network. With a good antenna, the range is easily two boards to form a network. With a good antenna, the range is easily
100 meters (and probably more than 1 km), which is plenty enough for 100 meters (and probably more than 1 km), which is plenty enough for
what I need.</p> what I need.</p>
<p>As a ham, I use the 433 MHz version, of course.</p>
<figure> <figure>
<img src="./images/lilygo-ttgo-lora32.jpg" title="LilyGO LoRa32" <img src="./images/lilygo-ttgo-lora32.jpg" title="LilyGO LoRa32"
alt="LilyGO LoRa32" /> alt="LilyGO LoRa32" />
<figcaption aria-hidden="true">LilyGO LoRa32</figcaption> <figcaption aria-hidden="true">LilyGO LoRa32</figcaption>
</figure> </figure>
<h2 id="more-than-brains-alone">More than brains alone</h2>
<p>The Raspberry Pi with all the extra hardware is housed in a small
plastic housing. On the back panel behind the SMA connectors and the
power jack, I placed a copper strip. This acts as the start grounding
strip on which all other ground wires are connected. This prevents a lot
of RF and EMC problems.</p>
<figure>
<img src="./images/raspberry_pi_proto_small.jpg"
title="Inside the brains" alt="Inside the brains" />
<figcaption aria-hidden="true">Inside the brains</figcaption>
</figure>
<p><a href="./images/raspberry_pi_proto.jpg">Large version of
photo</a></p>
<figure>
<img src="./images/raspberry_pi_proto_backside.jpg" title="Back side"
alt="Back side" />
<figcaption aria-hidden="true">Back side</figcaption>
</figure>
<h2 id="external-hardware">External hardware</h2> <h2 id="external-hardware">External hardware</h2>
<h3 id="meter-transceiver">2 meter transceiver</h3> <h3 id="meter-transceiver">2 meter transceiver</h3>
<p>The 2 meter transceiver is an old Alinco DJ-580 hand held radio with <p>The 2 meter transceiver is an old Alinco DJ-580 hand held radio with
@ -220,13 +211,39 @@ alt="Alinco DJ-580" />
</figure> </figure>
<h3 id="diplexer">Diplexer</h3> <h3 id="diplexer">Diplexer</h3>
<p>The LoRa APRS transceiver (70cm) and the APRS transceiver (2m) are <p>The LoRa APRS transceiver (70cm) and the APRS transceiver (2m) are
connected to a triplexer, making it possible to use one dual band connected to a diplexer, making it possible to use one dual band antenna
antenna for both radios. Why a triplexer? Well, I had one laying around. for both radios. The diplexer is designed specially for this project.
I terminated the unused 1200MHz connector with a 50 Ohm load. But a The port isolation is not great, but because of the small transmit power
diplexer would have been sufficient, of course.</p> of the two transceivers, this is not a big deal. And even so: it
outperforms a commercial Diamond triplexer on the 70cm band.</p>
<p>All the inductors are made from 1mm copper wire (preferably silver
plated) and wind around a 6mm rod (a screw driver or a drill bit for
example).</p>
<h4 id="adjustment-procedure">Adjustment procedure:</h4>
<ul>
<li>Connect a dummy load to the combined 2m/70 cm port</li>
<li>Connect an SWR meter and a 70cm transmitter to the 70cm port</li>
<li>Adjust C1, C2 and C3 for the best SWR</li>
<li>Connect the SWR meter and a 2 meter transmitter to the 2m port</li>
<li>Adjust C4 and C5 for the best SWR</li>
<li>Repeat the two steps, as both ports influence each other</li>
</ul>
<h4 id="specifications">Specifications</h4>
<ul>
<li>Insertion loss: &lt; 0.2dB</li>
<li>Port isolaion (2m to 70cm): &gt; 55dB</li>
<li>Port isolation (70cm to 2m): &gt; 30dB</li>
<li>Maximum power: 30W</li>
</ul>
<figure> <figure>
<img src="./images/triplexer.png" title="Triplexer" alt="Triplexer" /> <img src="./images/diplexer.svg" title="Diplexer schematic"
<figcaption aria-hidden="true">Triplexer</figcaption> alt="Diplexer schematic" />
<figcaption aria-hidden="true">Diplexer schematic</figcaption>
</figure>
<figure>
<img src="./images/diplexer_inside.jpg" title="Diplexer prototype"
alt="Diplexer prototype" />
<figcaption aria-hidden="true">Diplexer prototype</figcaption>
</figure> </figure>
<h3 id="antenna">Antenna</h3> <h3 id="antenna">Antenna</h3>
<p>This is a simple 2m/70cm dual band antenna from Diamond, the X30.</p> <p>This is a simple 2m/70cm dual band antenna from Diamond, the X30.</p>
@ -235,21 +252,32 @@ diplexer would have been sufficient, of course.</p>
<figcaption aria-hidden="true">Antenna</figcaption> <figcaption aria-hidden="true">Antenna</figcaption>
</figure> </figure>
<h1 id="the-build">The build</h1> <h1 id="the-build">The build</h1>
<h2 id="hardware">Hardware</h2>
<p>To make the system easy to handle and somewhat robust, it is
assembled on a piece of MDF board, which can be bolted in a 19” open
frame housing.</p>
<figure>
<img src="./images/assembled_prototype_annotated.jpg"
title="Assembled prototype" alt="Assembled prototype" />
<figcaption aria-hidden="true">Assembled prototype</figcaption>
</figure>
<p><a href="./images/assembled_prototype.jpg">Large version of
photo</a></p>
<h2 id="software">Software</h2> <h2 id="software">Software</h2>
<p>The instalation of all the needed software on the Raspberry Pi is <p>The instalation of all the needed software on the Raspberry Pi is
complicated, so I wrote a separate document: <a complicated, so I wrote a separate document: <a
href="./installation_pe1rxf_aprs_weather_server.html">installation_pe1rxf_aprs_weather_server.html</a></p> href="./installation_pe1rxf_aprs_weather_server.html">installation_pe1rxf_aprs_weather_server.html</a></p>
<h1 id="the-specifications">The specifications</h1> <h1 id="the-specifications">The specifications</h1>
<ul> <ul>
<li>2 meter transceiver with 5 Watt output power</li> <li>2 meter transceiver with 37dBm (5W) output power</li>
<li>70 cm LoRa transceiver with 20 dBm output power</li> <li>70 cm LoRa transceiver with 20 dBm (100mW) output power</li>
<li>Raspberry Pi Zero 2 W</li> <li>Raspberry Pi Zero 2 W</li>
<li>APRS cross band digipeater software</li> <li>APRS igate software</li>
<li>Weather station via ModBus</li> <li>Weather station via ModBus</li>
<li>Rnode TCP/IP over 70 cm LoRa for internet</li> <li>Rnode TCP/IP over 70 cm LoRa for internet</li>
</ul> </ul>
<h1 id="license">License</h1> <h1 id="license">License</h1>
<p>Copyright (C) 2023, 2024 M.T. Konstapel</p> <p>Copyright (C) 2024 M.T. Konstapel</p>
<p><a <p><a
href="https://meezenest.nl/mees/">https://meezenest.nl/mees/</a></p> href="https://meezenest.nl/mees/">https://meezenest.nl/mees/</a></p>
<p>The software is published as open-source software (GPL). The hardware <p>The software is published as open-source software (GPL). The hardware
@ -267,7 +295,7 @@ option) any later version.</p>
</main> </main>
<footer> <footer>
<p>&copy; <p>&copy;
2024-02-14 2024-02-27
M.T. Konstapel M.T. Konstapel
<a href="https://meezenest.nl/mees/">https://meezenest.nl/mees/</a> <a href="https://meezenest.nl/mees/">https://meezenest.nl/mees/</a>
</p><p>This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>. </p><p>This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>.

@ -1,18 +1,18 @@
--- ---
title: APRS digipeater title: APRS igate
subtitle: with weather and PE1RXF telemetry server subtitle: with weather and PE1RXF telemetry server
author: M.T. Konstapel author: M.T. Konstapel
date: 2024-02-14 date: 2024-02-27
website: https://meezenest.nl/mees/ website: https://meezenest.nl/mees/
page_back: https://meezenest.nl/mees/aprs_digipeater.html page_back: https://meezenest.nl/mees/aprs_digipeater.html
logo: ./images/mees_logo.svg logo: ./images/mees_logo.svg
pdf_version: ./aprs_digipeater.pdf #pdf_version: ./aprs_digipeater.pdf
git_repo: https://git.meezenest.nl/marcel/aprs_digipeater git_repo: https://git.meezenest.nl/marcel/aprs_digipeater_weather_telemetry
numbersections: true numbersections: true
# Formatting: # Formatting:
geometry: "a4paper, left=2.0cm, right=2.0cm, top=1.9cm, bottom=2.54cm" geometry: "a4paper, left=2.0cm, right=2.0cm, top=1.9cm, bottom=2.54cm"
abstract: > abstract: >
This project is a collection of former (and some new) projects connected together to make an APRS digipeater, which doubles as an APRS weather station, with PE1RXF telemetry server capabilities. This project is a collection of former (and some new) projects brought together to make an APRS digipeater, which doubles as an APRS weather station, with PE1RXF telemetry server capabilities.
--- ---
![Block diagram of digipeater](./images/block_diagram_overview.svg "Block diagram ofdigipeater") ![Block diagram of digipeater](./images/block_diagram_overview.svg "Block diagram ofdigipeater")
@ -45,9 +45,13 @@ Although stand alone in operation, to read the measurements the weather station
[PDF version of schematic](./images/RPi-LoRa-shield_schematic.pdf) [PDF version of schematic](./images/RPi-LoRa-shield_schematic.pdf)
To make this board work for this build, all the power button stuff has to go. That is all the transistors and the surrounding resistors, capacitors and diodes. And the 555 timer must also be removed. The RTC should be mounted on the bottom of the board instead of the top. After that, a Waveshare ethernet/USB hat is sandwiched between the pcb of the shield and the Raspberry Pi.
![Waveshare ethernet/USB hat](./images/eth-usb-hub-hat.jpg "Waveshare ethernet/USB hat")
## Peripherals ## Peripherals
The Raspberry Pi need some extra hardware for interfacing the various peripherals, like the transceiver, the ModBus and the Rnode modem. The Raspberry Pi needs some extra hardware for interfacing the various peripherals, like the transceiver, the ModBus and the Rnode modem.
### USB hub ### USB hub
@ -75,17 +79,9 @@ For the low speed network link I use the Rnode project from [https://unsigned.io
The hardware on which the Rnode firmware is flashed is a LilyGO LoRa32 v2.1 (also known as TTGO T3 v1.6.1). Of course you need at least two boards to form a network. With a good antenna, the range is easily 100 meters (and probably more than 1 km), which is plenty enough for what I need. The hardware on which the Rnode firmware is flashed is a LilyGO LoRa32 v2.1 (also known as TTGO T3 v1.6.1). Of course you need at least two boards to form a network. With a good antenna, the range is easily 100 meters (and probably more than 1 km), which is plenty enough for what I need.
![LilyGO LoRa32](./images/lilygo-ttgo-lora32.jpg "LilyGO LoRa32") As a ham, I use the 433 MHz version, of course.
## More than brains alone
The Raspberry Pi with all the extra hardware is housed in a small plastic housing. On the back panel behind the SMA connectors and the power jack, I placed a copper strip. This acts as the start grounding strip on which all other ground wires are connected. This prevents a lot of RF and EMC problems.
![Inside the brains](./images/raspberry_pi_proto_small.jpg "Inside the brains") ![LilyGO LoRa32](./images/lilygo-ttgo-lora32.jpg "LilyGO LoRa32")
[Large version of photo](./images/raspberry_pi_proto.jpg)
![Back side](./images/raspberry_pi_proto_backside.jpg "Back side")
## External hardware ## External hardware
@ -97,9 +93,29 @@ The 2 meter transceiver is an old Alinco DJ-580 hand held radio with an output p
### Diplexer ### Diplexer
The LoRa APRS transceiver (70cm) and the APRS transceiver (2m) are connected to a triplexer, making it possible to use one dual band antenna for both radios. Why a triplexer? Well, I had one laying around. I terminated the unused 1200MHz connector with a 50 Ohm load. But a diplexer would have been sufficient, of course. The LoRa APRS transceiver (70cm) and the APRS transceiver (2m) are connected to a diplexer, making it possible to use one dual band antenna for both radios. The diplexer is designed specially for this project. The port isolation is not great, but because of the small transmit power of the two transceivers, this is not a big deal. And even so: it outperforms a commercial Diamond triplexer on the 70cm band.
All the inductors are made from 1mm copper wire (preferably silver plated) and wind around a 6mm rod (a screw driver or a drill bit for example).
#### Adjustment procedure:
![Triplexer](./images/triplexer.png "Triplexer") - Connect a dummy load to the combined 2m/70 cm port
- Connect an SWR meter and a 70cm transmitter to the 70cm port
- Adjust C1, C2 and C3 for the best SWR
- Connect the SWR meter and a 2 meter transmitter to the 2m port
- Adjust C4 and C5 for the best SWR
- Repeat the two steps, as both ports influence each other
#### Specifications
- Insertion loss: < 0.2dB
- Port isolaion (2m to 70cm): > 55dB
- Port isolation (70cm to 2m): > 30dB
- Maximum power: 30W
![Diplexer schematic](./images/diplexer.svg "Diplexer schematic")
![Diplexer prototype](./images/diplexer_inside.jpg "Diplexer prototype")
### Antenna ### Antenna
@ -109,22 +125,31 @@ This is a simple 2m/70cm dual band antenna from Diamond, the X30.
# The build # The build
## Hardware
To make the system easy to handle and somewhat robust, it is assembled on a piece of MDF board, which can be bolted in a 19" open frame housing.
![Assembled prototype](./images/assembled_prototype_annotated.jpg "Assembled prototype")
[Large version of photo](./images/assembled_prototype.jpg)
## Software ## Software
The instalation of all the needed software on the Raspberry Pi is complicated, so I wrote a separate document: [installation_pe1rxf_aprs_weather_server.html](./installation_pe1rxf_aprs_weather_server.html) The instalation of all the needed software on the Raspberry Pi is complicated, so I wrote a separate document: [installation_pe1rxf_aprs_weather_server.html](./installation_pe1rxf_aprs_weather_server.html)
# The specifications # The specifications
- 2 meter transceiver with 5 Watt output power - 2 meter transceiver with 37dBm (5W) output power
- 70 cm LoRa transceiver with 20 dBm output power - 70 cm LoRa transceiver with 20 dBm (100mW) output power
- Raspberry Pi Zero 2 W - Raspberry Pi Zero 2 W
- APRS cross band digipeater software - APRS igate software
- Weather station via ModBus - Weather station via ModBus
- Rnode TCP/IP over 70 cm LoRa for internet - Rnode TCP/IP over 70 cm LoRa for internet
# License # License
Copyright (C) 2023, 2024 M.T. Konstapel Copyright (C) 2024 M.T. Konstapel
[https://meezenest.nl/mees/](https://meezenest.nl/mees/) [https://meezenest.nl/mees/](https://meezenest.nl/mees/)

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

After

Width:  |  Height:  |  Size: 129 KiB

@ -47,7 +47,7 @@
</ul> </ul>
</li> </li>
<li> <li>
<a href="https://git.meezenest.nl/marcel/aprs_digipeater">Git repo</a> <a href="https://git.meezenest.nl/marcel/aprs_digipeater_weather_telemetry">Git repo</a>
</li> </li>
<li> <li>
<a href="https://meezenest.nl/mees/aprs_digipeater.html">Back</a> <a href="https://meezenest.nl/mees/aprs_digipeater.html">Back</a>
@ -111,8 +111,8 @@ scan_ssid=1
ssid=&quot;Your WiFi Name&quot; ssid=&quot;Your WiFi Name&quot;
psk=&quot;Your WiFi Password&quot; psk=&quot;Your WiFi Password&quot;
}</code></pre> }</code></pre>
<h3 id="activate-auto-power-off-button">Activate Auto power off <h3 id="activate-auto-power-off-button-obsolete">Activate Auto power off
button</h3> button (obsolete)</h3>
<pre><code>$ nano config.txt</code></pre> <pre><code>$ nano config.txt</code></pre>
<p>Add the following text:</p> <p>Add the following text:</p>
<pre><code>dtoverlay=gpio-poweroff,gpiopin=21,active_low=&quot;y&quot; <pre><code>dtoverlay=gpio-poweroff,gpiopin=21,active_low=&quot;y&quot;
@ -126,7 +126,7 @@ id="insert-the-sd-card-in-the-raspberry-pi-and-press-the-power-button">Insert
the SD card in the Raspberry Pi and press the power button</h3> the SD card in the Raspberry Pi and press the power button</h3>
<p>During the first boot, the Pi will reboot once. Because of the <p>During the first boot, the Pi will reboot once. Because of the
external power button, this will not work: the Pi will shutdown. Power external power button, this will not work: the Pi will shutdown. Power
up the Pi by pressing the external power button again.</p> up the Pi by pressing the external power button again. (obsolete)</p>
<h1 id="the-pi-is-booted-for-the-first-time">The Pi is booted for the <h1 id="the-pi-is-booted-for-the-first-time">The Pi is booted for the
first time</h1> first time</h1>
<p>Search for the ip address of the Raspberry Pi (for exammple by <p>Search for the ip address of the Raspberry Pi (for exammple by
@ -228,7 +228,10 @@ $ sudo nano /etc/ax25/axports</code></pre>
<p>add:</p> <p>add:</p>
<pre><code>ax0 PE1RXF-1 9600 255 2 144.800 MHz APRS (1200 bps) <pre><code>ax0 PE1RXF-1 9600 255 2 144.800 MHz APRS (1200 bps)
ax1 PE1RXF-3 9600 255 2 433.775 MHz APRS (LORA)</code></pre> ax1 PE1RXF-3 9600 255 2 433.775 MHz APRS (LORA)</code></pre>
<h3 id="aprx-software">APRX software</h3> <h3
id="aprx-software-aprx-is-no-longer-needed-as-the-pe1rxf_aprs-software-has-the-same-functionality">APRX
software (aprx is no longer needed as the pe1rxf_aprs software has the
same functionality)</h3>
<pre><code>$ sudo apt-get install aprx <pre><code>$ sudo apt-get install aprx
$ sudo systemctl enable aprx $ sudo systemctl enable aprx
@ -373,10 +376,13 @@ $ sudo apt install python3-pip</code></pre>
~/ham/weather_station/python-ax25:</p> ~/ham/weather_station/python-ax25:</p>
<pre><code>$ cd ~/ham/weather_station/python-ax25 <pre><code>$ cd ~/ham/weather_station/python-ax25
$ sudo ./install.sh</code></pre> $ sudo ./install.sh</code></pre>
<p>Install other libraries:</p> <p>Install other libraries system wide, as the pe1rxf_aprs software has
<pre><code>$ pip3 install minimalmodbus --break-system-packages to run as root:</p>
$ pip3 install retrying --break-system-packages <pre><code>$ sudo pip3 install minimalmodbus --break-system-packages
$ pip3 install pyaml --break-system-packages</code></pre> $ sudo pip3 install retrying --break-system-packages
$ sudo pip3 install pyaml --break-system-packages
$ sudo pip3 install schedule --break-system-packages
$ sudo pip install aprslib --break-system-packages</code></pre>
<p>Add /home/marcel/.local/bin to path:</p> <p>Add /home/marcel/.local/bin to path:</p>
<pre><code>$ nano .bashrc <pre><code>$ nano .bashrc
@ -395,7 +401,7 @@ $ make
$ sudo make install $ sudo make install
$ mkdir ~/ham/rnode_hamnet $ mkdir ~/ham/rnode_hamnet
$ nano ~/ham/rnode_hamnet/start_rnode.sh and add:</code></pre> $ nano ~/ham/rnode_hamnet/start_rnode.sh</code></pre>
<p>Add:</p> <p>Add:</p>
<pre><code>#!/bin/bash <pre><code>#!/bin/bash

@ -6,7 +6,7 @@ date: 2024-02-14
website: https://meezenest.nl/mees/ website: https://meezenest.nl/mees/
page_back: https://meezenest.nl/mees/aprs_digipeater.html page_back: https://meezenest.nl/mees/aprs_digipeater.html
logo: ./images/mees_logo.svg logo: ./images/mees_logo.svg
git_repo: https://git.meezenest.nl/marcel/aprs_digipeater git_repo: https://git.meezenest.nl/marcel/aprs_digipeater_weather_telemetry
numbersections: true numbersections: true
# Formatting: # Formatting:
geometry: "a4paper, left=2.0cm, right=2.0cm, top=1.9cm, bottom=2.54cm" geometry: "a4paper, left=2.0cm, right=2.0cm, top=1.9cm, bottom=2.54cm"
@ -64,7 +64,7 @@ Add the following text:
psk="Your WiFi Password" psk="Your WiFi Password"
} }
### Activate Auto power off button ### Activate Auto power off button (obsolete)
$ nano config.txt $ nano config.txt
@ -78,7 +78,7 @@ When GPIO16 goes low (external button pressed), RPi goes into shutdown.
### Insert the SD card in the Raspberry Pi and press the power button ### Insert the SD card in the Raspberry Pi and press the power button
During the first boot, the Pi will reboot once. Because of the external power button, this will not work: the Pi will shutdown. Power up the Pi by pressing the external power button again. During the first boot, the Pi will reboot once. Because of the external power button, this will not work: the Pi will shutdown. Power up the Pi by pressing the external power button again. (obsolete)
# The Pi is booted for the first time # The Pi is booted for the first time
@ -241,7 +241,7 @@ add:
ax0 PE1RXF-1 9600 255 2 144.800 MHz APRS (1200 bps) ax0 PE1RXF-1 9600 255 2 144.800 MHz APRS (1200 bps)
ax1 PE1RXF-3 9600 255 2 433.775 MHz APRS (LORA) ax1 PE1RXF-3 9600 255 2 433.775 MHz APRS (LORA)
### APRX software ### APRX software (aprx is no longer needed as the pe1rxf_aprs software has the same functionality)
$ sudo apt-get install aprx $ sudo apt-get install aprx
$ sudo systemctl enable aprx $ sudo systemctl enable aprx
@ -408,11 +408,13 @@ Install pythonax25, which can be found at ~/ham/weather_station/python-ax25:
$ cd ~/ham/weather_station/python-ax25 $ cd ~/ham/weather_station/python-ax25
$ sudo ./install.sh $ sudo ./install.sh
Install other libraries: Install other libraries system wide, as the pe1rxf_aprs software has to run as root:
$ pip3 install minimalmodbus --break-system-packages $ sudo pip3 install minimalmodbus --break-system-packages
$ pip3 install retrying --break-system-packages $ sudo pip3 install retrying --break-system-packages
$ pip3 install pyaml --break-system-packages $ sudo pip3 install pyaml --break-system-packages
$ sudo pip3 install schedule --break-system-packages
$ sudo pip install aprslib --break-system-packages
Add /home/marcel/.local/bin to path: Add /home/marcel/.local/bin to path:
@ -438,7 +440,7 @@ Install tncattach:
$ sudo make install $ sudo make install
$ mkdir ~/ham/rnode_hamnet $ mkdir ~/ham/rnode_hamnet
$ nano ~/ham/rnode_hamnet/start_rnode.sh and add: $ nano ~/ham/rnode_hamnet/start_rnode.sh
Add: Add:

@ -0,0 +1,2 @@
(kicad_pcb (version 20211014) (generator pcbnew)
)

@ -66,7 +66,7 @@
"zone_display_mode": 0 "zone_display_mode": 0
}, },
"meta": { "meta": {
"filename": "packetmodem_nano2_rev2.kicad_prl", "filename": "diplexer.kicad_prl",
"version": 3 "version": 3
}, },
"project": { "project": {

@ -2,66 +2,26 @@
"board": { "board": {
"design_settings": { "design_settings": {
"defaults": { "defaults": {
"board_outline_line_width": 0.05, "board_outline_line_width": 0.1,
"copper_line_width": 0.2, "copper_line_width": 0.2,
"copper_text_italic": false,
"copper_text_size_h": 1.5, "copper_text_size_h": 1.5,
"copper_text_size_v": 1.5, "copper_text_size_v": 1.5,
"copper_text_thickness": 0.3, "copper_text_thickness": 0.3,
"copper_text_upright": true,
"courtyard_line_width": 0.05,
"other_line_width": 0.15, "other_line_width": 0.15,
"other_text_italic": false, "silk_line_width": 0.15,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": true,
"silk_line_width": 0.12,
"silk_text_italic": false,
"silk_text_size_h": 1.0, "silk_text_size_h": 1.0,
"silk_text_size_v": 1.0, "silk_text_size_v": 1.0,
"silk_text_thickness": 0.15, "silk_text_thickness": 0.15
"silk_text_upright": true
}, },
"diff_pair_dimensions": [ "diff_pair_dimensions": [],
{
"gap": 0.25,
"via_gap": 0.25,
"width": 0.2
}
],
"drc_exclusions": [], "drc_exclusions": [],
"rule_severitieslegacy_courtyards_overlap": true,
"rule_severitieslegacy_no_courtyard_defined": false,
"rules": { "rules": {
"allow_blind_buried_vias": false, "min_copper_edge_clearance": 0.0,
"allow_microvias": false, "solder_mask_clearance": 0.0,
"min_hole_to_hole": 0.25, "solder_mask_min_width": 0.0
"min_microvia_diameter": 0.2,
"min_microvia_drill": 0.09999999999999999,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.2,
"min_via_diameter": 0.4,
"solder_mask_clearance": 0.051,
"solder_mask_min_width": 0.25,
"solder_paste_clearance": 0.0,
"solder_paste_margin_ratio": 0.0
}, },
"track_widths": [ "track_widths": [],
0.25, "via_dimensions": []
0.7,
1.5
],
"via_dimensions": [
{
"diameter": 0.8,
"drill": 0.4
},
{
"diameter": 2.4,
"drill": 0.8
}
]
}, },
"layer_presets": [] "layer_presets": []
}, },
@ -279,7 +239,7 @@
"pinned_symbol_libs": [] "pinned_symbol_libs": []
}, },
"meta": { "meta": {
"filename": "packetmodem_nano2_rev2.kicad_pro", "filename": "diplexer.kicad_pro",
"version": 1 "version": 1
}, },
"net_settings": { "net_settings": {
@ -311,7 +271,7 @@
"last_paths": { "last_paths": {
"gencad": "", "gencad": "",
"idf": "", "idf": "",
"netlist": "packetmodem_nano2_rev2.net", "netlist": "",
"specctra_dsn": "", "specctra_dsn": "",
"step": "", "step": "",
"vrml": "" "vrml": ""
@ -330,9 +290,9 @@
"intersheets_ref_show": false, "intersheets_ref_show": false,
"intersheets_ref_suffix": "", "intersheets_ref_suffix": "",
"junction_size_choice": 3, "junction_size_choice": 3,
"label_size_ratio": 0.25, "label_size_ratio": 0.375,
"pin_symbol_size": 0.0, "pin_symbol_size": 25.0,
"text_offset_ratio": 0.08 "text_offset_ratio": 0.15
}, },
"legacy_lib_dir": "", "legacy_lib_dir": "",
"legacy_lib_list": [], "legacy_lib_list": [],
@ -356,6 +316,11 @@
"subpart_first_id": 65, "subpart_first_id": 65,
"subpart_id_separator": 0 "subpart_id_separator": 0
}, },
"sheets": [], "sheets": [
[
"084dbb47-a02d-4986-b86d-5bf7f19a0ac1",
""
]
],
"text_variables": {} "text_variables": {}
} }

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.
Loading…
Cancel
Save