Compare commits

..

No commits in common. '4fdf4463a1fbbd75e7bdf8060c409c6aecd88d5b' and '5b646d27aed15b3823627d23aed6a89e1fa0a604' have entirely different histories.

  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. 2
      build_doc/images/packetmodem_nano2/packetmodem_nano2_rev2.kicad_prl
  12. 75
      build_doc/images/packetmodem_nano2/packetmodem_nano2_rev2.kicad_pro
  13. BIN
      build_doc/images/raspberry_pi_proto_backside.jpg
  14. 26
      build_doc/installation_pe1rxf_aprs_weather_server.html
  15. 20
      build_doc/installation_pe1rxf_aprs_weather_server.md
  16. BIN
      hardware/diplexer/diplexer-backups/diplexer-2024-02-26_161027.zip
  17. BIN
      hardware/diplexer/diplexer-backups/diplexer-2024-02-26_161624.zip
  18. BIN
      hardware/diplexer/diplexer-backups/diplexer-2024-02-26_162807.zip
  19. 2
      hardware/diplexer/diplexer.kicad_pcb
  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-27" /> <meta name="dcterms.date" content="2024-02-14" />
<title>APRS igate</title> <title>APRS digipeater</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,8 +37,11 @@
<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="https://git.meezenest.nl/marcel/aprs_digipeater_weather_telemetry">Git repo</a> <a href="./aprs_digipeater.pdf">PDF version</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>
@ -47,16 +50,17 @@
<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 igate</h1> <h1 class="title">APRS digipeater</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-27</p> <p class="date">2024-02-14</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 brought together to make an APRS digipeater, which doubles new) projects connected together to make an APRS digipeater, which
as an APRS weather station, with PE1RXF telemetry server doubles 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"
@ -127,21 +131,9 @@ 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 needs some extra hardware for interfacing the <p>The Raspberry Pi need some extra hardware for interfacing the various
various peripherals, like the transceiver, the ModBus and the Rnode peripherals, like the transceiver, the ModBus and the Rnode modem.</p>
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
@ -193,12 +185,29 @@ 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
@ -211,39 +220,13 @@ 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 diplexer, making it possible to use one dual band antenna connected to a triplexer, making it possible to use one dual band
for both radios. The diplexer is designed specially for this project. antenna for both radios. Why a triplexer? Well, I had one laying around.
The port isolation is not great, but because of the small transmit power I terminated the unused 1200MHz connector with a 50 Ohm load. But a
of the two transceivers, this is not a big deal. And even so: it diplexer would have been sufficient, of course.</p>
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/diplexer.svg" title="Diplexer schematic" <img src="./images/triplexer.png" title="Triplexer" alt="Triplexer" />
alt="Diplexer schematic" /> <figcaption aria-hidden="true">Triplexer</figcaption>
<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>
@ -252,32 +235,21 @@ alt="Diplexer prototype" />
<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 37dBm (5W) output power</li> <li>2 meter transceiver with 5 Watt output power</li>
<li>70 cm LoRa transceiver with 20 dBm (100mW) output power</li> <li>70 cm LoRa transceiver with 20 dBm output power</li>
<li>Raspberry Pi Zero 2 W</li> <li>Raspberry Pi Zero 2 W</li>
<li>APRS igate software</li> <li>APRS cross band digipeater 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) 2024 M.T. Konstapel</p> <p>Copyright (C) 2023, 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
@ -295,7 +267,7 @@ option) any later version.</p>
</main> </main>
<footer> <footer>
<p>&copy; <p>&copy;
2024-02-27 2024-02-14
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 igate title: APRS digipeater
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-27 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
#pdf_version: ./aprs_digipeater.pdf pdf_version: ./aprs_digipeater.pdf
git_repo: https://git.meezenest.nl/marcel/aprs_digipeater_weather_telemetry git_repo: https://git.meezenest.nl/marcel/aprs_digipeater
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 brought 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 connected 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,13 +45,9 @@ 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 needs some extra hardware for interfacing the various peripherals, like the transceiver, the ModBus and the Rnode modem. The Raspberry Pi need some extra hardware for interfacing the various peripherals, like the transceiver, the ModBus and the Rnode modem.
### USB hub ### USB hub
@ -79,43 +75,31 @@ 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.
As a ham, I use the 433 MHz version, of course.
![LilyGO LoRa32](./images/lilygo-ttgo-lora32.jpg "LilyGO LoRa32") ![LilyGO LoRa32](./images/lilygo-ttgo-lora32.jpg "LilyGO LoRa32")
## External hardware ## More than brains alone
### 2 meter transceiver
The 2 meter transceiver is an old Alinco DJ-580 hand held radio with an output power of 5 Watt. It is connected to both the 5 pin DIN connector and the 12 Volt barrel jack on the Raspberry Pi. 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.
![Alinco DJ-580](./images/alinco_dj580t.jpg "Alinco DJ-580") ![Inside the brains](./images/raspberry_pi_proto_small.jpg "Inside the brains")
### Diplexer [Large version of photo](./images/raspberry_pi_proto.jpg)
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. ![Back side](./images/raspberry_pi_proto_backside.jpg "Back side")
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). ## External hardware
#### Adjustment procedure: ### 2 meter transceiver
- Connect a dummy load to the combined 2m/70 cm port The 2 meter transceiver is an old Alinco DJ-580 hand held radio with an output power of 5 Watt. It is connected to both the 5 pin DIN connector and the 12 Volt barrel jack on the Raspberry Pi.
- 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 ![Alinco DJ-580](./images/alinco_dj580t.jpg "Alinco DJ-580")
- Insertion loss: < 0.2dB ### Diplexer
- Port isolaion (2m to 70cm): > 55dB
- Port isolation (70cm to 2m): > 30dB
- Maximum power: 30W
![Diplexer schematic](./images/diplexer.svg "Diplexer schematic") 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.
![Diplexer prototype](./images/diplexer_inside.jpg "Diplexer prototype") ![Triplexer](./images/triplexer.png "Triplexer")
### Antenna ### Antenna
@ -125,31 +109,22 @@ 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 37dBm (5W) output power - 2 meter transceiver with 5 Watt output power
- 70 cm LoRa transceiver with 20 dBm (100mW) output power - 70 cm LoRa transceiver with 20 dBm output power
- Raspberry Pi Zero 2 W - Raspberry Pi Zero 2 W
- APRS igate software - APRS cross band digipeater 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) 2024 M.T. Konstapel Copyright (C) 2023, 2024 M.T. Konstapel
[https://meezenest.nl/mees/](https://meezenest.nl/mees/) [https://meezenest.nl/mees/](https://meezenest.nl/mees/)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

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

@ -2,26 +2,66 @@
"board": { "board": {
"design_settings": { "design_settings": {
"defaults": { "defaults": {
"board_outline_line_width": 0.1, "board_outline_line_width": 0.05,
"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,
"silk_line_width": 0.15, "other_text_italic": false,
"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": {
"min_copper_edge_clearance": 0.0, "allow_blind_buried_vias": false,
"solder_mask_clearance": 0.0, "allow_microvias": false,
"solder_mask_min_width": 0.0 "min_hole_to_hole": 0.25,
"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": [
"via_dimensions": [] 0.25,
0.7,
1.5
],
"via_dimensions": [
{
"diameter": 0.8,
"drill": 0.4
},
{
"diameter": 2.4,
"drill": 0.8
}
]
}, },
"layer_presets": [] "layer_presets": []
}, },
@ -239,7 +279,7 @@
"pinned_symbol_libs": [] "pinned_symbol_libs": []
}, },
"meta": { "meta": {
"filename": "diplexer.kicad_pro", "filename": "packetmodem_nano2_rev2.kicad_pro",
"version": 1 "version": 1
}, },
"net_settings": { "net_settings": {
@ -271,7 +311,7 @@
"last_paths": { "last_paths": {
"gencad": "", "gencad": "",
"idf": "", "idf": "",
"netlist": "", "netlist": "packetmodem_nano2_rev2.net",
"specctra_dsn": "", "specctra_dsn": "",
"step": "", "step": "",
"vrml": "" "vrml": ""
@ -290,9 +330,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.375, "label_size_ratio": 0.25,
"pin_symbol_size": 25.0, "pin_symbol_size": 0.0,
"text_offset_ratio": 0.15 "text_offset_ratio": 0.08
}, },
"legacy_lib_dir": "", "legacy_lib_dir": "",
"legacy_lib_list": [], "legacy_lib_list": [],
@ -316,11 +356,6 @@
"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": {}
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 KiB

After

Width:  |  Height:  |  Size: 110 KiB

@ -47,7 +47,7 @@
</ul> </ul>
</li> </li>
<li> <li>
<a href="https://git.meezenest.nl/marcel/aprs_digipeater_weather_telemetry">Git repo</a> <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>
@ -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-obsolete">Activate Auto power off <h3 id="activate-auto-power-off-button">Activate Auto power off
button (obsolete)</h3> button</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. (obsolete)</p> up the Pi by pressing the external power button again.</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,10 +228,7 @@ $ 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 <h3 id="aprx-software">APRX software</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
@ -376,13 +373,10 @@ $ 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 system wide, as the pe1rxf_aprs software has <p>Install other libraries:</p>
to run as root:</p> <pre><code>$ pip3 install minimalmodbus --break-system-packages
<pre><code>$ 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</code></pre>
$ 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
@ -401,7 +395,7 @@ $ make
$ sudo make install $ sudo make install
$ mkdir ~/ham/rnode_hamnet $ mkdir ~/ham/rnode_hamnet
$ nano ~/ham/rnode_hamnet/start_rnode.sh</code></pre> $ nano ~/ham/rnode_hamnet/start_rnode.sh and add:</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_weather_telemetry git_repo: https://git.meezenest.nl/marcel/aprs_digipeater
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 (obsolete) ### Activate Auto power off button
$ 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. (obsolete) 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.
# 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 is no longer needed as the pe1rxf_aprs software has the same functionality) ### APRX software
$ sudo apt-get install aprx $ sudo apt-get install aprx
$ sudo systemctl enable aprx $ sudo systemctl enable aprx
@ -408,13 +408,11 @@ 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 system wide, as the pe1rxf_aprs software has to run as root: Install other libraries:
$ sudo pip3 install minimalmodbus --break-system-packages $ pip3 install minimalmodbus --break-system-packages
$ sudo pip3 install retrying --break-system-packages $ pip3 install retrying --break-system-packages
$ sudo pip3 install pyaml --break-system-packages $ 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:
@ -440,7 +438,7 @@ Install tncattach:
$ sudo make install $ sudo make install
$ mkdir ~/ham/rnode_hamnet $ mkdir ~/ham/rnode_hamnet
$ nano ~/ham/rnode_hamnet/start_rnode.sh $ nano ~/ham/rnode_hamnet/start_rnode.sh and add:
Add: Add:

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

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.
Loading…
Cancel
Save