{"id":453,"date":"2024-07-10T02:09:04","date_gmt":"2024-07-10T02:09:04","guid":{"rendered":"https:\/\/cemaxecuter.com\/?p=453"},"modified":"2025-05-12T01:00:24","modified_gmt":"2025-05-12T01:00:24","slug":"july-1st-to-july-7th-2024-end-of-train-decoding-and-rfnms-second-production-run","status":"publish","type":"post","link":"https:\/\/cemaxecuter.com\/?p=453","title":{"rendered":"July 1st to July 7th, 2024 &#8211; End-of-Train Decoding and RFNM&#8217;s Second Production Run"},"content":{"rendered":"\n<p>This week in DragonOS&#8230;<\/p>\n\n\n\n<p><a href=\"https:\/\/cemaxecuter.com\/?p=453#highlight-of-the-week\" data-type=\"link\" data-id=\"https:\/\/cemaxecuter.com\/&amp;post=435#highlight-of-the-week\">Highlight of the Week: Decoding End-of-Train (EOT) Packets&#8230;<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/cemaxecuter.com\/?p=453#rfnm-campaign-round-two\" data-type=\"link\" data-id=\"https:\/\/cemaxecuter.com\/?p=442#exploring-dvb\">RFNM Campaign Round 2 Now Open&#8230;<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/cemaxecuter.com\/?p=453#explore-more-with-dragonos\" data-type=\"link\" data-id=\"https:\/\/cemaxecuter.com\/?p=435\">Explore More with DragonOS&#8230;<\/a><\/p>\n\n\n<div class=\"wp-block-jetpack-subscriptions__supports-newline wp-block-jetpack-subscriptions\">\n\t\t<div>\n\t\t\t<div>\n\t\t\t\t<div>\n\t\t\t\t\t<p >\n\t\t\t\t\t\t<a href=\"https:\/\/cemaxecuter.com\/?post_type=post&#038;p=453\" style=\"font-size: 16px;padding: 15px 23px 15px 23px;margin: 0; margin-left: 10px;border-radius: 0px;border-width: 1px; background-color: #113AF5; color: #FFFFFF; text-decoration: none; white-space: nowrap; margin-left: 0\">Subscribe<\/a>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"highlight-of-the-week\">Highlight of the Week: Decoding End-of-Train (EOT) Packets<\/h2>\n\n\n\n<div class=\"wp-block-jetpack-markdown\"><p>Trains use more than just stoplight signaling to report status and relay information. Head-of-Train (HOT), End-of-Train (EOT), and Distributed Power Units (DPU) are the names of radio telemetry signals that trains emit to monitor \u201cbrake status and accidental separation information to the head locomotive\u201d (Artemis). These signals emit from trains roughly every 40 seconds but will immediately send a signal if an accident occurs. The Association of American Railroads (AAR) assigned the frequency 457.9375 MHz to these signals, but some rail companies use different frequencies such as Norfolk Southern\u2019s 161.115 MHz. You can read more about EOT in <a href=\"https:\/\/www.trains.com\/trn\/train-basics\/abcs-of-railroading\/end-of-train-devices\/#:~:text=An%20ETD%20transmits%20data%20roughly%20every%2040%20seconds%2C,a%20signal%20will%20travel%203%20to%205%20miles.\">Robert McGonigal\u2019s blog post on Trains.com<\/a> or <a href=\"https:\/\/www.aar.org\/article\/safety-in-motion-how-decades-of-technological-progress-makes-railroads-safer\/\">directly from the AAR<\/a>. Shown below is the EOT signal\u2019s profile in Artemis, which has <a href=\"https:\/\/github.com\/AresValley\/Artemis\/releases\/tag\/v4.0.5\">recently been patched to v4.0.5<\/a> from v4.0.3.<\/p>\n<\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"705\" src=\"https:\/\/cemaxecuter.com\/wp-content\/uploads\/2024\/07\/eot-1024x705.png\" alt=\"\" class=\"wp-image-464\" srcset=\"https:\/\/cemaxecuter.com\/wp-content\/uploads\/2024\/07\/eot-1024x705.png 1024w, https:\/\/cemaxecuter.com\/wp-content\/uploads\/2024\/07\/eot-300x207.png 300w, https:\/\/cemaxecuter.com\/wp-content\/uploads\/2024\/07\/eot-768x529.png 768w, https:\/\/cemaxecuter.com\/wp-content\/uploads\/2024\/07\/eot-600x413.png 600w, https:\/\/cemaxecuter.com\/wp-content\/uploads\/2024\/07\/eot.png 1493w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-jetpack-markdown\"><p>Cemaxecuter <a href=\"https:\/\/youtu.be\/yGBYMmeuLC8?si=JMmwEhN8mjvoHzBa\">released a video nearly a year ago<\/a> covering decoders such as <a href=\"https:\/\/groups.io\/g\/SoftEOT\/topics\">SoftEOT<\/a> for Windows (note you must join the group before you can download the software) and <a href=\"https:\/\/github.com\/ereuter\/PyEOT\">PyEOT<\/a> for Linux. <a href=\"https:\/\/github.com\/bkerler\/PyEOT\/tree\/maint-3.10\">bkerler updated the old flowgraph for PyEOT to comply with GNU Radio 3.10.X<\/a>. Thankfully it did not involve a rewrite of the decoder itself! The next helpful open-source contribution would be creating a proper GNU Radio Out-of-Tree module for PyEOT to decode train packets within GNU Radio itself. Currently, PyEOT requires that the user runs a flowgraph to demodulate FSK before running a Python script to decode the demodulated packets from GNU Radio.<\/p>\n<p>In the post below, you can see the output of PyEOT running with the new GNU Radio 3.10.X flowgraph. Thanks bkerler for the contribution!<\/p>\n<\/div>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<div class='embed-container'><blockquote class=\"twitter-tweet\" data-width=\"550\" data-dnt=\"true\"><p lang=\"en\" dir=\"ltr\">Picked up some Head of Train (HOT) packets overnight w\/ <a href=\"https:\/\/twitter.com\/viperbjk?ref_src=twsrc%5Etfw\">@viperbjk<\/a> <a href=\"https:\/\/t.co\/z4U5iyXRZ6\">https:\/\/t.co\/z4U5iyXRZ6<\/a> <a href=\"https:\/\/twitter.com\/gnuradio?ref_src=twsrc%5Etfw\">@gnuradio<\/a> pyEOT fork and a <a href=\"https:\/\/twitter.com\/rtlsdrblog?ref_src=twsrc%5Etfw\">@rtlsdrblog<\/a> v3. <a href=\"https:\/\/t.co\/S16ZzzzWeQ\">pic.twitter.com\/S16ZzzzWeQ<\/a><\/p>&mdash; cemaxecuter (@cemaxecuter) <a href=\"https:\/\/twitter.com\/cemaxecuter\/status\/1810262823584301494?ref_src=twsrc%5Etfw\">July 8, 2024<\/a><\/blockquote><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/div>\n<\/div><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"rfnm-campaign-round-two\">RFNM Campaign Round 2 Now Open<\/h2>\n\n\n\n<div class=\"wp-block-jetpack-markdown\"><p>If you missed <a href=\"https:\/\/cemaxecuter.com\/?p=359#highlight-of-the-week\">the first release of the RFNM board<\/a> and were inspired by some of the <a href=\"https:\/\/cemaxecuter.com\/?p=409#recent-developments-with-rfnm\">recent open-source developments with RFNM<\/a>, you will be happy to hear that the project is now open for round two of production. You can visit the main project page if you are interested in buying a motherboard, a daughterboard, or both: <a href=\"https:\/\/rfnm.io\/campaign\">https:\/\/rfnm.io\/campaign<\/a>.<\/p>\n<p>RFNM states that they will start manufacturing when this round is 50% funded, and as of this writing, they are already 4% funded. It is unclear how long the campaign window will be open, and it is important to know that backing the campaign does not guarantee you will receive a device. However, given the success of the first manufacturing run, the risk of this is much lower.<\/p>\n<\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"804\" src=\"https:\/\/cemaxecuter.com\/wp-content\/uploads\/2024\/07\/rfnm-1024x804.png\" alt=\"\" class=\"wp-image-463\" srcset=\"https:\/\/cemaxecuter.com\/wp-content\/uploads\/2024\/07\/rfnm-1024x804.png 1024w, https:\/\/cemaxecuter.com\/wp-content\/uploads\/2024\/07\/rfnm-300x236.png 300w, https:\/\/cemaxecuter.com\/wp-content\/uploads\/2024\/07\/rfnm-768x603.png 768w, https:\/\/cemaxecuter.com\/wp-content\/uploads\/2024\/07\/rfnm-600x471.png 600w, https:\/\/cemaxecuter.com\/wp-content\/uploads\/2024\/07\/rfnm.png 1194w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"explore-more-with-dragonos\">Explore More with DragonOS<\/h2>\n\n\n\n<div class=\"wp-block-jetpack-markdown\"><ul>\n<li>DragonOS Source for x86_64 systems: <a href=\"https:\/\/sourceforge.net\/projects\/dragonos-focal\/\">https:\/\/sourceforge.net\/projects\/dragonos-focal\/<\/a>\n<ul>\n<li>Download the latest release of DragonOS for x86_64 systems, ask for support, and read about the history of DragonOS.<\/li>\n<\/ul>\n<\/li>\n<li>DragonOS Source for Pi64 systems: <a href=\"https:\/\/sourceforge.net\/projects\/dragonos-pi64\/\">https:\/\/sourceforge.net\/projects\/dragonos-pi64\/<\/a>\n<ul>\n<li>Download the latest release of DragonOS for Pi64 systems, ask for support, and read about the history of DragonOS.<\/li>\n<\/ul>\n<\/li>\n<li>Cemaxecuter on YouTube: <a href=\"https:\/\/www.youtube.com\/channel\/UC9U2kaqhE716J2WNSTcOghg\">https:\/\/www.youtube.com\/channel\/UC9U2kaqhE716J2WNSTcOghg<\/a>\n<ul>\n<li>Follow along with Cemaxecuter himself as he walks you through how to use specific SDR tools within DragonOS and explains why they are valuable.<\/li>\n<\/ul>\n<\/li>\n<li>DragonOS Discord Channel: <a href=\"https:\/\/discord.com\/invite\/cYuS3E3k\">https:\/\/discord.com\/invite\/cYuS3E3k<\/a>\n<ul>\n<li>Join the community of DragonOS users to share your work, ask for help, or lurk for content<\/li>\n<\/ul>\n<\/li>\n<li>Cemaxecuter on X: <a href=\"https:\/\/x.com\/cemaxecuter\">https:\/\/x.com\/cemaxecuter<\/a>\n<ul>\n<li>Recent updates from the creator of DragonOS<\/li>\n<\/ul>\n<\/li>\n<li>DragonOS Patreon: <a href=\"https:\/\/www.patreon.com\/cemaxecuter\">https:\/\/www.patreon.com\/cemaxecuter<\/a>\n<ul>\n<li>100% of contributions fund advanced features, videos, and hardware. As a thank you, Cemaxecuter will ask for your feedback on experimental features.<\/li>\n<\/ul>\n<\/li>\n<li>For collaboration please contact cemaxecuter directly at cemaxecuter@protonmail.com<\/li>\n<\/ul>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<div class=\"wp-block-jetpack-subscriptions__supports-newline wp-block-jetpack-subscriptions\">\n\t\t<div>\n\t\t\t<div>\n\t\t\t\t<div>\n\t\t\t\t\t<p >\n\t\t\t\t\t\t<a href=\"https:\/\/cemaxecuter.com\/?post_type=post&#038;p=453\" style=\"font-size: 16px;padding: 15px 23px 15px 23px;margin: 0; margin-left: 10px;border-radius: 0px;border-width: 1px; background-color: #113AF5; color: #FFFFFF; text-decoration: none; white-space: nowrap; margin-left: 0\">Subscribe<\/a>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>This week in DragonOS&#8230; Highlight of the Week: Decoding End-of-Train (EOT) Packets&#8230; RFNM Campaign Round 2 Now Open&#8230; Explore More with DragonOS&#8230; Highlight of the Week: Decoding End-of-Train (EOT) Packets RFNM Campaign Round 2 Now Open Explore More with DragonOS<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-453","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cemaxecuter.com\/index.php?rest_route=\/wp\/v2\/posts\/453","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cemaxecuter.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cemaxecuter.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cemaxecuter.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/cemaxecuter.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=453"}],"version-history":[{"count":5,"href":"https:\/\/cemaxecuter.com\/index.php?rest_route=\/wp\/v2\/posts\/453\/revisions"}],"predecessor-version":[{"id":470,"href":"https:\/\/cemaxecuter.com\/index.php?rest_route=\/wp\/v2\/posts\/453\/revisions\/470"}],"wp:attachment":[{"href":"https:\/\/cemaxecuter.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=453"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cemaxecuter.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=453"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cemaxecuter.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=453"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}