Amateur Radio Chat Server with a modern interface
git clone git://
Log | Files | Refs | README (5105B)

      1 # arcs
      2 The Amateur Radio Chat Server is a service that enables amateur radio operators to connect to a text chat room through a modern GUI without an internet connection. Users are able to send messages to the server, where they will be received by all other connected users.
      4 I will try to keep an ARCS server running 24/7 as KD2SIX-1 on frequency 145.03 - try connecting and leaving some messages!
      6 ![arcs_1]( "ARCS Screenshot")
      8 Note that you do not necessarily need to use the GUI to connect to ARCS - see section "Non-GUI Use" for more information.
     10 ### Setup/Running
     11 ARCS requires python3 and tkinter. tkinter comes with python3, but maybe you need to [install it if you don't have it.](
     13 You also need a serial KISS TNC, and I highly recommend [Direwolf]( You also need a transceiver (and an amateur radio license!).
     15 1. Clone/download this repository.
     16 2. Set MYCALL in `` to your own callsign.
     17 3. Set HOST to the callsign of the ARCS server, or leave it as default to connect to my server.
     18 4. If you are running your own server, modify the server config section of `` to match your setup.
     19 5. Connect your radio to your computer, and set it to frequency 144.39 (national APRS frequency). 
     20 6. Run `direwolf -p`, making note of the path to the serial KISS TNC.
     21 7. Start ARCS with `python3 <serial/tnc/path> 115200 [options ...]` (If you are running your own server, include the `-server` flag in the options field)
     22 8. Send some messages!
     24 ### Commands
     25 You can perform certain actions by sending `/<command> [options ...]` to the server. More commands will be added!
     27 * `/ping [-r]` This will reset your timer, preventing you from being timed-out and disconnected. Include the `-r` flag to receive a verbal indication that the server heard you. When you are connected as a client, this command is automatically sent at regular intervals, so you don't need to send it manually.
     29 * `/disconnect` End your session and disconnect from the server. You should send this command instead of just closing your window and letting the server time you out after a few minutes. It wastes bandwidth if the server forwards you messages you're not trying to receive.
     31 ### Guidelines/Etiquette
     32 Remember that while ARCS "looks like" a standard Internet chat application, the backend is based almost entirely on APRS. Because of this, we will be expected to use ARCS differently than we use Discord or IRC. Most of these guidelines are intended for us to be good neighbors to other users of APRS.
     34 * **ALL FCC REGULATIONS REGARDING AMATEUR RADIO OPERATIONS APPLY.** You must identify yourself with your real callsign, you may not use profane or overly offensive language, you may not use ARCS for commercial purposes, and you may not use ARCS to send encrypted or otherwise obscured data. This is not a complete list of everything the FCC says you may not do, please check the regulations if you're not sure. If you choose to ignore this guideline, you may be in violation of federal law.
     35 * Avoid over-sending messages. At only 1200 baud, 2m packet radio is slow. Try to keep messages to a reasonable length and quantity to avoid overcrowding the network and slowing it down for everyone.
     36 * To save bandwidth, please disconnect if you are not actually using ARCS. Try not to stay connected if you are going to be AFK for an extended period of time.
     37 * Avoid needlessly running your own ARCS server. I think it would be a good idea to have regional servers for different areas of the country/world, but the network would get overwhelmed quickly if everyone tries to run their own server.
     38 * Please stick to normal text messaging if you are connecting to ARCS with anything other than the normal GUI interface. Avoid including position, PHG, or other metadata in messages you send. This data is not really relevant to ARCS, it will just waste bandwidth and make your messages hard to read. Your APRS-enabled device may include this data in your messages by default, so be sure to check.
     40 ### Non-GUI Use
     41 You do not need to use any of the included python3 code or the GUI to connect to an ARCS server. You can just send APRS messages directly to the callsign of the server (i.e. KD2SIX-1), and you will be connected just like through the GUI program. You will need to continue to send messages or manually send `/ping` commands periodically in order to keep your connection alive.
     43 Note that this is not intended use, and this connection method is not actively supported. You should connect to ARCS servers through the GUI program.
     45 ### Contributing
     46 Thank you for taking the time to look at ARCS. You can contribute by sending pull requests, opening issues with bug reports and feature suggestions, or just by using ARCS and letting me know how it goes.
     48 Feel free to get in touch if you have any questions about ARCS or packet radio in general, one of my goals is to get more hams to use packet!
     50 73 KD2SIX
     52 ![server.jpg]( "Humble server setup")