1. Introduction
In the current era, marked by technological advances and innovations in the space sector, we have seen a notable increase in the presence of satellites in orbit [
1]. This growth is driven, in part, by the ease and reduced cost of the development and launch of satellites, enabling a variety of entities, such as universities [
2,
3,
4] and small companies, to actively participate in this ecosystem.
However, beyond construction and launch, there is also a crucial challenge: satellite monitoring. To address this, ground stations (GSs) are needed, as they play an important role in communicating with satellites, serving as the link between the “ground” and these devices orbiting Earth several kilometers above us. This communication is vital to receiving/sending data from/to the satellite, providing access to scientific data, weather data, satellite telemetry data, and other valuable information [
5]. However, if the satellite is not in a geostationary orbit (GEO), that is, not over the same location, there are times when satellite–GS communication becomes impossible, particularly for low-Earth orbit (LEO) satellites (which are the main satellites with which both SatNOGS and TinyGS GS communicate), as they are in low orbits with high speeds, as the GS has only a few minutes to communicate with the satellite [
6].
To extend this communication time and make it as extensive as possible, a set of GSs must be built in strategic positions. However, studying the number of required GSs and their positions is not an easy task. This is because there are various factors affecting communication between satellites and GSs, such as the satellite’s elevation angle and rain attenuation. Nevertheless, there are methodologies that can be employed to study this number and these positions [
6,
7]. Additionally, to facilitate multiple ground station operations remotely, the creation of a global management interface, a network [
5], is often required. Consequently, the creation of such infrastructure can be a challenging, costly, uninteresting, and time-consuming task. In many cases, such as in universities and small businesses, the primary interest and focus lie solely in the development of satellites, not in the development and study of a GS network. Therefore, the existence of an already built and financially accessible infrastructure would be ideal. Examples of open-source projects with such infrastructure include SatNOGS [
8] and TinyGS [
9] and are characterized by being non-profit projects, easily accessible, and suited for educational, research, non-profit experimental, and amateur work. Both projects are among the largest open-source ground station networks, aiming to provide an easy and low-cost alternative for communication between Earth and satellites, particularly LEO satellites. Designed for tracking, receiving, and decoding satellite signals, they seek to democratize access to space by providing a decentralized infrastructure. Besides their accessibility and simplicity, they boast an active and collaborative community capable of providing support and promoting participation from anyone.
Consequently, for satellite developers whose sole objective is satellite development or even for space and communication enthusiasts, these two projects emerge as effective and accessible solutions. Thus, if a satellite developer integrates into one of these networks, they can focus their efforts on building and launching satellites without the need to create their own network infrastructure. They can also leverage existing GSs and design the satellite in accordance with the bands and frequencies most commonly used by the project’s GSs or those better distributed geographically, in accordance with the radio modulations (e.g., FSK and GFSK) supported by each project [
8,
9], etc. Additionally, if they join and build their GS, while it is not receiving data from the intended satellite, it can communicate with other satellites and thereby contribute to the community. Regarding the aspect of adding the satellite to one of these projects, since it is also of interest, it is necessary first to provide all the satellite details to the project. These details include the downlink frequency, upload frequency, and, if not confidential, the decoder. To provide this relevant information, Telegram is used for TinyGS and GitLab for SatNOGS (All steps can be found in the Satellite Operator Guide [
8]). Once the satellite is added to the projects’ databases, ground stations can immediately start communicating with and receiving data from it. This data can then be visualized, for example, in the respective web applications.
Moreover, network collaboration is not exclusive to satellite developers. Space and communication enthusiasts also find valuable opportunities to participate in these projects. First, they can communicate with satellites solely through the simple and inexpensive construction and integration of a GS into the network. Second, in addition to contributing to the community, they also have the chance to deepen their knowledge of satellites and communication. Despite previously emphasizing the need to construct ground stations (GSs) for participation in these projects, it is also feasible to do so by leveraging existing GSs. This approach offers advantages such as cost reduction and rapid integration. However, it is crucial to initially verify whether the components of the GS are compatible with the software used in the projects. For instance, if one intends to utilize a non-fixed GS (equipped with rotators that can change the antenna’s direction) for integration into SatNOGS, it is imperative to ascertain whether the computer can run the software and whether the antenna rotator is compatible with the specified software.
Since TinyGS and SatNOGS are two of the largest open-source ground station networks in recent years, in order to assist in a potential decision regarding which project to join, in this article, these two GS networks, SatNOGS and TinyGS, will be introduced and compared. The structure of this article is as follows. In
Section 2, the methodology employed in this study is comprehensively addressed, outlining the systematic approach utilized. In
Section 3, the constituent parts of SatNOGS, its operation, and the block diagram of SatNOGS’s architecture and GS are presented.
Section 4 addresses the aforementioned topics, but in the context of TinyGS.
Section 5 delves into a detailed discussion of the comparisons mentioned in
Section 2. The comparisons are between the block diagrams of both projects, the difficulties in constructing and configuring the ground stations (GS), software uploading and updating, costs, support, membership count, the number and distribution of online GSs as of 29 July 2023, the number and frequencies of satellites they (TinyGS and SatNOGS) managed to communicate with up until 29 July 2023, the percentage of satellites (among the operational and supported satellites that TinyGS successfully communicated with) that SatNOGS was able to communicate with, the timeline of GS creation, and limitations and implications. Finally,
Section 5 concludes the article.
2. Methodology
During this article, the SatNOGS v2022091000 (Fonte:
https://gitlab.com/librespacefoundation/satnogs/satnogs-pi-gen/-/tags) and TinyGS v2105260 (Fonte:
https://github.com/G4lile0/tinyGS/releases) projects were studied, analyzed, and compared. In the sections “SatNOGS” (
Section 3) and “TinyGS” (
Section 4), a presentation of the corresponding projects is made both in terms of general architecture and operation, as well as in the block diagram of the projects’ GSs. In the block diagram of the GSs, the minimum components necessary for the system’s operation are addressed as well as additional components (e.g., LNA) used for better signal reception. Additionally, the usefulness of each of these components is discussed in order to better understand their function.
Then, in
Section 5, a comprehensive comparison is made between SatNOGS and TinyGS on various topics. They can be seen in
Figure 1.
First, in Topic 1, the block diagrams of both projects are analyzed and compared. This comparison aims to identify additional constituent parts in one project relative to the other, since these may not only contribute to increased costs but also potentially elevate the difficulty in constructing the GS.
Transitioning to Topic 2, a comparison is drawn regarding the difficulty and time required in building and configuring the GS and uploading and updating the software in both projects across various scenarios. This includes considerations such as with and without antenna construction in both projects, as well as with and without the construction of the rotator and controller components (solely for SatNOGS).
In the subsequent cost comparison (Topic 3), costs for constructing TinyGS and SatNOGS (both fixed and rotator) GSs were compared. This comparison took into account the recommended components (e.g., LNA, filter) specified by each project, aiming to showcase the varying levels of investment required, since this plays a vital role in an enthusiast’s decision. The costs presented in the following section were based on August of 2023 for Portugal.
Moving to the comparison of support and membership (Topics 4 and 5), the support used by both projects was compared at the organizational and practical levels. This consideration was based on the author’s experience, which may differ from the reader’s perspective. Additionally, the number of members in each project was observed and compared. This involved examining the number of sign-ups on the Libre Space Community for SatNOGS and the number of members provided by TinyGS in its web application. The rationale for this comparison is rooted in the belief that projects with a larger community may offer more resources for addressing user queries.
For Topics 6 to 14, all TinyGS data, including GSs details and satellite information, were collected from TinyGS’s web application. However, for SatNOGS, the GSs details were obtained from the SatNOGS network API [
10] and the satellite details were retrieved from the SatNOGS DB API [
11]. GSs’ data encompassed their coordinates (latitude and longitude) and frequency ranges, while satellite data covered operational status, downlink frequency, and the number of packets received by GSs from that specific satellite.
In Topic 6, the number of GSs online in the last 24 h on 29 July was compared between both projects. At the time of writing, the TinyGS web application only displays the GSs that were online in the last 24 h, so all GSs in that web application were selected. In SatNOGS, the “status” parameter of various GSs was observed as well as the last time online for GSs that were offline, and only online GSs and those offline in the last 24 h were selected. Topic 7 compared the geographical distribution of the GSs from the previous section based on their coordinates (latitude and longitude). Topic 8 originally intended to compare the frequency ranges of different GSs mentioned in the last two sections of each project. However, due to the multitude of varied frequency ranges, representing them in a histogram became impractical. Instead of focusing on frequency ranges, the analysis shifted to comparing the bands used by these GSs in both projects, such as UHF. This approach enables satellite developers interested in utilizing these GS networks to identify the bands with the highest number of GSs. Consequently, they can make informed decisions about which bands to utilize for their specific needs.
In Topic 9, the number of operational satellites in each project’s network which had at least one data reception by GSs as of 29 July 2023 was compared, even if the data were not decoded. It is important to highlight that an operational satellite for the network is a satellite listed as capable of communication, not necessarily a satellite that is literally operational and in orbit. In other words, there could be satellites that are literally operational and in orbit, but if they are not “operational” for the network, it is as if that satellite does not exist, and the GSs will never be configured by the network to receive data from that satellite. In Topic 10, the downlink frequencies, also simply referred to as frequencies, of the satellites mentioned in the previous section are observed for each project. Unlike TinyGS, SatNOGS created a histogram with 50 MHz frequency ranges for better visualization.
In Topics 11 and 12, the analysis is very similar to Topics 9 and 10, respectively. However, now the focus is on operational satellites with decoded data for the same date, 29 July 2023. The objective of this analysis is to identify the project with the highest number of satellites having their data received by GSs, as well as the frequencies most commonly used by the satellites. This information helps enthusiasts decide which frequency or frequencies to utilize for their GS when considering joining one of the projects.
In Topics 13, it was investigated whether SatNOGS could receive and decode data from the same satellites as TinyGS. This was aimed at determining whether the project that received and decoded data from more satellites could do the same for satellites from the other project. Therefore, for example, if SatNOGS is capable of receiving and decoding data from most or all of the satellites that TinyGS managed, it would allow an enthusiast whose goal is to receive data from various satellites to decide whether it is worth joining the latter.
Finally, in Topic 14, only the growth of the number of ground stations (GS) in SatNOGS from 2015 to 2023 was observed, as in TinyGS, during the time of writing, it is not possible to access the creation date of GSs that have been offline for more than 24 h. In Topic 15, the limitations and security implications of both projects were mentioned.
This methodology ensured a comprehensive and systematic comparison of various aspects between SatNOGS and TinyGS, offering readers a thorough understanding of the projects’ differences, strengths, and limitations. The next section will provide a more detailed description of each of the aforementioned topics.
5. Discussion
In this section, all of the topics mentioned in the previous section will be discussed and presented in greater detail.
5.2. Comparison of the Difficulty and Time in Building and Configuring the GS and Uploading and Updating the Software
During this comparison, certain considerations will be taken, such as already having the LNA, filter, Raspberry or LoRa module, diplexer, SDR and/or the materials to build the remaining components (antenna, rotator, and controller). Obviously, when talking about the SDR, diplexer, rotator and controller, these only refer to SatNOGS.
Comparing fixed SatNOGS GSs [
17] with TinyGS GSs exclusively in terms of GS construction, without antenna construction, both have low difficulty. Constructing a custom antenna produces a slight increase in difficulty, though the level will depend on the specific type of antenna chosen. For instance, building a turnstile is relatively simpler than building a QHF antenna.
However, a rotator SatNOGS GS with a SatNOGS rotator v3 [
17,
19] is highly difficult since the construction of the rotator and controller system is more challenging, and this will considerably increase the time needed to build it. Again, this difficulty can vary if one intends to build the antennas and which antenna one chooses.
Regarding GS configuration and software upload in SatNOGS, although it is relatively easy compared to TinyGS, it becomes more complex and more susceptible to problems. In the case of SatNOGS, it is necessary to download the latest Raspbian SatNOGS Image (artifacts.zip) from the wiki [
17] or GitLab, flash the SatNOGS image (.img file) to a micro SD card (using, e.g., Balena) and then into the Raspberry Pi. Then it is time to do the SatNOGS Client setup. To do so, one needs to go to the Raspberry’s console and run “sudo raspi-config” and then “sudo satnogs-setup”. Next, one needs to set up, at least, its basic configuration option by setting its API Token (go to SatNOGS Network -> Dashboard -> API key), its RX device (set rtlsdr if one is using an RTL-SDR), elevation (in meters), and so on. Furthermore, depending on its GS components and the performance of its GS, some parameters may need to be changed or added in the advanced configuration option. Lastly, remember to click “Apply”, otherwise the configuration will not be saved. Following this step, the ground station will be ready, and its presence can be observed on the SatNOGS network, as indicated by “Last seen, 0 min ago” [
17].
With TinyGS, the process is relatively faster, simpler, and less susceptible to problems. The first step is to download the TinyGS Uploader according to the utilized operating system, connect its board to the computer, and then upload the TinyGS firmware to the LoRa board. After the board boot, one needs to configure its station by first connecting to a Wi-Fi network called “My TinyGS” and second setting some parameters like its latitude, longitude, MQTT credentials, Wi-Fi SSID and password to have access to the network, etc. These MQTT credentials are provided by the TinyGS Personal Bot on Telegram. After that, its GS will be ready and added to the system [
9]. One can see if its GS is connected to the network on its station dashboard. To do that, one needs to place the IP address that appears on the LoRa board in the browser and check if the MQTT server status is equal to “CONNECTED”.
Regarding software updates, TinyGS has the advantage of automatically updating itself by enabling automatic firmware updates [
9]. However, in SatNOGS, updating SatNOGS Client has to be conducted manually by running “sudo satnogs-setup” and selecting “Update” and “Apply”.
Finally, considering the significance of the difficulty/time relationship and assuming the inclusion of the previously mentioned tasks (building, configuring, updating, and uploading), it was decided to create
Table 1, wherein different scenarios and their corresponding difficulty/time relationships can be observed. Within the scope of various scenarios, it was decided to specify the inclusion or exclusion of the antenna’s construction for both TinyGS and SatNOGS and the inclusion or exclusion of the rotator and controller’s construction solely for SatNOGS. This decision stems from the fact that these components represent some of the most costly elements, as will be elaborated upon in the cost section. Naturally, readers may also opt to construct their own LNA and filter for cost reduction purposes, albeit at the foreseeable expense of increased difficulty and time investment. However, for this comparison, the construction of these components was not factored in. To make
Table 1, it was assumed that the reader had acquired all of the necessary materials. Regarding antenna construction, it is presumed that the omnidirectional antenna used is a double turnstile antenna and the directional antenna is a Yagi antenna. Additionally, for SatNOGS, in instances where the construction of the rotator and controller is mentioned, this pertains to the construction of a SatNOGS rotator v3 and a SatNOGS controller.
In summary, TinyGS without antenna construction represents the project with the lowest difficulty/time ratio, which can be achieved in a single day with relative ease. Conversely, the most complex and time-consuming project corresponds to SatNOGS, involving the construction of the antenna, rotator, and controller components.
5.3. Comparison of Costs
GS construction costs vary according to the chosen components. Before proceeding to outline the costs for each scenario, it is crucial to emphasize that the list of components presented is based on items recommended by these projects and their corresponding online prices at the time of writing this article, specifically in August 2023 and for Portugal. This implies that the reader has the flexibility to purchase alternative components or build their own components, ultimately reducing the overall expenditure. Additionally, during the cost calculation, all components (LNA, Filter, etc.) will be included. However, the reader is not obligated to purchase all of them. For instance, in cases where there is a minimal presence of FM signals, the acquisition of a filter may not be necessary.
If one opts for a TinyGS, the costs are shown in
Table 2 and will cost at least EUR 119. In addition, one may need to buy coaxial cables, SMA adapters, outdoor protective housing, etc. However, these expenses are not accounted for because they depend on the objectives and where one is going to build the GS. Still, with respect to
Table 2, an LNA with a built-in Upotronics bandpass filter was chosen. Its price is relatively high, but, within the recommendations on GitHub [
9], it was the only one obtainable in Portugal.
If one chooses to build a fixed SatNOGS GS in accordance with the recommended materials, but with the same TinyGS antenna, the costs are around EUR 164, as can be seen in
Table 3. This increase is mainly due to the presence of the SDR. The LNA present in
Table 3 can be powered by a bias tee; however, it is also possible to power it with an external source according to
RTL-SDR.com. If one wants to work with a bias tee, one will need to enable the built-in bias tee in RTL-SDR because, by default, it is turned off. Furthermore, if the LNA is bias tee powered, the filter may prevent the bias tee from getting to the LNA. In that case, one should put the filter between the antenna and the LNA; however, one may obtain worse results. If one does not have a strong presence of FM signals, one can always remove the filter and see if this produces better results.
Concerning the construction of a rotator SatNOGS using a SatNOGS rotator v3, the associated costs amount to approximately EUR 884, as detailed in
Table 4. In this particular GS, given the inclusion of a rotator, the omnidirectional antenna is replaced with a directional one, specifically the Wimo X-Quad [
17]. Although this antenna comes with a higher price tag, it serves as a reference and is recommended if one opts for a commercial alternative. Nevertheless, significant cost savings can be achieved by constructing one’s own antenna. Examples include the QFH and the SatNOGS helical antenna, both of which yield satisfactory results [
20]. The cost of the rotator and the controller includes expenses for 3D printing and online purchases. Opting for commercial rotators might escalate the overall cost—for instance, choosing the Yaesu G-5500 could increase the cost to over EUR 700. However, the use of the g5500-ardushield (compatible with Arduino Uno) developed by SatNOGS [
25] provides a cost-saving option to control the Yaesu G-550, avoiding the purchase of relatively expensive controllers like the GS-232B.
Finally, the costs associated with constructing a TinyGS ground station and a fixed SatNOGS ground station are quite affordable for the average enthusiast and/or other entities. However, these costs can be further mitigated through methods such as building the antenna oneself and opting for more economical components, among other considerations. Nevertheless, the establishment of a rotator SatNOGS ground station, particularly for the average enthusiast, entails a relatively higher expense.
5.15. Limitations and Implications
In this section, some limitations of the prospective projects will be discussed.
Regarding the limitations of TinyGS, the first is related to the fact that it can only work with one frequency, that is, the frequency of the LoRa module. On the other hand, with SatNOGS, there is an SDR allowing one to receive a wide range of frequencies. The second limitation is the fact that it only works with satellites that are in its database, and although this is its main purpose, it is a relatively restrictive approach. Other limitations are the lack of an API to collect the data and the tie to the Telegram user. So, if you lose your Telegram account, you will not be able to connect a new account to the old one. Instead, you will need to request new MQTT credentials, and you will have to exchange the old MQTT credentials for the new ones. This means that you will lose your GS history. In relation to the web application, one’s access can be blocked if, for example, one refreshes the pages too many times to visualize the reception of a package. Consequently, one will not be able to access the data of the web application, and if one tries to access it while it is blocked, that blocking time resets. Additionally, the TinyGS software can not control ground stations with rotators. The incorporation of this capability would enable the use of directional antennas, known for their higher gain, and consequently, their capability to receive weaker signals. Finally, another limitation relates to the project documentation. Although the documentation for building and operating a GS is sufficient, mainly due to its ease, it does not exist for other aspects. For example, there is no documentation explaining how the TinyGS network works, how to add a decoder, or how to add a satellite. On the other hand, with SatNOGS [
17], there is a lot of documentation from the previous examples and many others.
With respect to SatNOGS, not many limitations were found. The first is related to the fact that one can only manually update the client. In certain circumstances, such as the GS being in a location far from one’s home, if, for some reason, one needed to update the client, one would need to go to that location. Additionally, if new satellites were eventually supported, it would be necessary to update the SatNOGS client to be able to communicate with them. Therefore, it would be useful for the system to conduct these updates automatically, as TinyGS does. The second limitation is related to the number of decoders. As was previously observed, SatNOGS managed to communicate with several satellites; however, it only managed to decode a small portion of them. As such, it would be good in the future to increase the number of decoders to thereby increase the quantity of data available and, consequently, attract a greater number of people to the project. However, it is worth mentioning that many decoders are not made available by the satellite teams on purpose because the data are confidential. An additional constraint arises from SatNOGS relying on the libraries it utilizes, like SoapySDR (for SDRs) and Hamlib (for rotors). As a result, the components integrated into its ground station will be subject to the limitations of the devices supported by these libraries. For instance, if one possesses a rotor that Hamlib does not support, it is a definite or nearly certain fact that its ground station will not operate as intended. In addition, it can also communicate only with satellites that are in its database.
Finally, and related to the security implications of both projects, there are at least three limitations that merit careful consideration:
Public exposure of ground stations: One significant security concern arises from the public exposure of latitude and longitude coordinates associated with ground stations (GSs). This exposure essentially discloses the approximate locations of GSs, potentially including the residences of individuals operating these stations;
Data availability: For organizations developing satellites with confidential data and utilizing these projects due to limited financial resources for establishing a network of ground stations, it is imperative to recognize that the data will be made public. Even if the decoder is not readily accessible, it is crucial to understand that encrypted data becomes more susceptible to individuals attempting decryption efforts;
Open-Source Code and Increased Vulnerability: The open-source nature of the code powering these projects introduces a unique set of security considerations. Although open-source projects often benefit from community scrutiny, making it easier to detect and fix vulnerabilities, they can also be more susceptible to attacks. The transparency of the code may expose potential weaknesses, requiring constant vigilance and rapid response to address identified vulnerabilities.
6. Conclusions
Involvement in one of these projects can be ideal for certain entities, whether enthusiasts or satellite developers. There are various reasons to join one of these projects, primarily due to the numerous implications associated with implementing a network of ground stations. For instance, the costs associated with purchasing, installing, and maintaining multiple ground stations as well as identifying and acquiring suitable locations for ground stations can be significant. Regular maintenance, such as hardware repairs and software updates for these ground stations located at different sites can be challenging, involving lengthy trips. Additionally, establishing a network infrastructure for data processing, storage, and analysis may require the procurement and creation of servers and software applications, respectively.
Concerning the decision of which project to engage in, the reader should consider their objectives and circumstances carefully, scrutinize the analyses presented in this article, and subsequently make a decision. For example, if one is new in this field, does not have much knowledge, and wants to join a project, the best choice is probably TinyGS, since building and configuring the GS is relatively easier from the author’s perspective. If the objective is to communicate with satellites that are not supported by TinyGS, for example, NOAA 15, then the choice should fall on SatNOGS. If the cost is the most important parameter and one does not have a preference on the type of satellites one wants to communicate with, then TinyGS is probably a better option. If one only intends to capture a large number of satellites, they can consult the frequencies most commonly used by satellites and design their ground station with the most-utilized frequency band.
The final choice between the two projects will always depend on one’s goals and intentions. In light of this consideration,
Table 5 has been compiled to delineate the main strengths and weaknesses of each project, thus aiding the decision-making process. However, it is important to note that both projects offer ample opportunities for learning and enjoyment.
In terms of future endeavors, the following initiatives are suggested: updating the provided data is imperative, encompassing ground station information such as geographical distribution and frequency bands as well as satellite data due to the emergence of new satellites and the deactivation of others; conducting a comprehensive study of the online presence of ground stations over time, aiming to discern whether these projects are experiencing an increase, decrease, or maintaining a consistent level of activity; investigating the geographical distribution based on the most-utilized frequencies of the ground stations within each project with the goal of assisting satellite developers in making informed decisions regarding the selection of downlink frequencies for their satellite communication; conducting a comprehensive and more detailed examination of both software platforms, scrutinizing their features, strengths, and areas for improvement with the aim of providing a nuanced understanding of the capabilities and limitations of each software; based on the recommended components mentioned earlier, undertaking a more detailed investigation into the hardware employed in ground stations to identify opportunities for cost-effective improvements in performance with the aim of optimizing the capabilities of the ground station through improvements to the hardware infrastructure.