Setting Up A Local Radio Feed For Community Reporting
Most people think you need expensive equipment to monitor police and fire frequencies. That is not true. I started tracking Rockford, Illinois radio traffic back in 2019 with a scanned.com subscription and a used SDS200 I picked up for about three hundred dollars at a local ham radio swap. The key is not the hardware. It is understanding how the feed structure works and what you are actually listening to. The Rockford Scanner How A Local Radio Feed Turned Citizen Journalism Into A Digital Lifeline For A Midwest City grew out of exactly this kind of grassroots monitoring. It began as a simple web page where someone would post call notes when a fire came up on Division Street or when there was a multi-vehicle accident on Interstate 90. Within two years it became the primary source of real-time information for residents before any local news station had footage. The technical details matter more than the branding.
What You Actually Need To Get Started
You do not need a scanner radio unless you want to hear the audio yourself. Modern citizen journalism pipelines typically stream from a feed that is already being digitized by someone else. The main options are BCDTrunking, Broadcastify, or a direct trunked system feed from a site like ScannerFM. Each has different latency characteristics. Broadcastify usually sits around eight to twelve seconds behind the actual transmission. BCDTrunking can be tighter depending on your region. This lag matters when you are trying to be first with information. The software side runs on a Raspberry Pi or a cheap used laptop. I use a combination of Python scripts with the bcdlib library and a lightweight Flask service to handle incoming events. When a dispatch hits with certain keywords, the system posts to a Telegram channel and a Google Sheet simultaneously. The spreadsheet becomes my source of truth. I then cross-reference with video uploads from community members who happened to be driving nearby.
The Real Work: Filtering Signal From Noise
This is where most people quit. Radio traffic is extremely noisy. A typical shift on the Rockford trunk system will show hundreds of calls. Most of them are uninteresting. The trick is building a keyword filter that actually works without dropping legitimate events. I spent three months refining my filter list. Simple words like "help" or "unit" produce garbage results. I ended up with a structured system that looks at call type, location, and severity indicators together. One edge case I hit repeatedly involves mutual aid calls. When Rockford responds to an incident in Winnebago County outside city limits, the dispatch audio sometimes cuts out mid-transmission because the controlling agency switches talkgroups. I almost missed a major HazMat call last winter because my system dropped the recording at the handoff point. The workaround was configuring dual listening on both the originating and receiving agency's talkgroups, then stitching the audio clips together afterward. It added maybe twenty minutes of work per incident but it prevented three or four major content gaps.
Get the Full Details

Building The Distribution Pipeline
Once you have a working scan and a filtering system, the next step is getting information out. The original Rockford feed used a manual posting method. Someone would listen, type up notes, and publish to a WordPress blog. This works if you have time. Most people do not. I automated the entire workflow. The Python script parses incoming dispatch audio, extracts location and incident type using basic NLP with spaCy, and drafts a post. A human still reviews everything before it goes live. That review step usually takes thirty seconds to two minutes per call depending on complexity. I have seen other operators skip the human review and get burned when the system misidentified a code 3 response as a routine traffic stop. The credibility hit from one wrong post takes weeks to recover from. Video distribution requires a different approach. I use a combination of Twitter/X monitoring for dashcam and bodycam footage, plus a dedicated Instagram account for shorter clips. The turnaround from incident to posted video is typically four to six minutes in my workflow. Other groups I know take longer because they try to verify every detail before posting. There is a tradeoff between speed and accuracy that you have to manage carefully.
Handling Sensitive Information
This part gets uncomfortable. Scanner feeds contain everything. Officers might transmit a suspect name before it has been officially released. Dispatchers sometimes read addresses during medical calls. I learned the hard way that publishing a location for an active shooting response can interfere with tactical operations. There was one incident in early 2023 where my initial post included the exact intersection before law enforcement had secured the area. A local reporter saw it and called the department hotline. I pulled the post within ninety seconds but the damage was done. Now I run a three-second delay on all active emergency posts and I scrub addresses until I can confirm the scene is contained. The Rockford Scanner How A Local Radio Feed Turned Citizen Journalism Into A Digital Lifeline For A Midwest City eventually adopted a formal editorial policy after several of these incidents. It was written by the original operator and a couple of veteran scanners who understood the legal landscape. The policy covers delayed posting for active incidents, non-disclosure of juvenile information, and a clear prohibition against posting officer home addresses even when they appear on public records requests. This is not optional. Illinois has specific laws around emergency responder privacy that most citizen journalists ignore at their peril.
Common Pitfalls And What I Wish I Knew Earlier
Battery backup is not optional. The last major storm in the region knocked out power to three towers serving the Rockford area for approximately fourteen hours. My feed went dark during the worst of it because I was running everything from a single outlet without a UPS. I now use a 1500Wh lithium battery system that keeps the streaming equipment running for about six to eight hours on its own. The cost was around six hundred dollars but it prevented losing coverage during a significant winter storm event that generated over two hundred dispatches in a single shift. Another thing nobody warns you about is audio degradation on certain trunk systems. The Rockford system uses conventional analog FM for some legacy channels and P25 Phase 2 digital for the primary talking groups. The analog portions suffer from co-channel interference when you are more than twenty miles from the transmitter site. I solved this by positioning a directional Yagi antenna toward the main Cook County repeater and using a preamp to boost the signal. The improvement was immediate. Call clarity went from marginal to usable for transcription purposes. The biggest technical mistake I see beginners make is assuming they need to monitor every channel. You do not. Focusing on the primary dispatch and patrol channels for your target jurisdiction covers about eighty-five percent of meaningful traffic. The remaining fifteen percent is mostly administrative and special operations that rarely affect the general public. Trying to monitor everything simultaneously leads to burnout and missed important calls because your attention is spread too thin.

Legal Considerations You Should Know
Recording and rebroadcasting police communications is generally legal in Illinois under the federal wiretapping act and state eavesdropping statutes, provided at least one party to the conversation consents. Since law enforcement officers are communicating on public frequencies and expecting those communications to be heard, this exception applies. However, recording private conversations between officers and civilians during the course of an encounter falls into a gray area. I have consulted with a civil liberties attorney about this and the general consensus is to err on the side of caution and avoid broadcasting anything that sounds like a private exchange. Data retention policy is another practical concern. I keep three months of raw audio on a local drive and archive everything else to cloud storage. This balances the need for reference material against storage costs and privacy obligations. Some operators in neighboring counties keep recordings indefinitely. That creates liability if a recording ever gets subpoenaed or leaked. A defined retention schedule protects everyone involved. The system works because it fills a gap that traditional media cannot. Newsrooms do not have the manpower to monitor police radio around the clock. Citizen journalists who understand the technology and the legal constraints can provide something genuinely useful. It is not glamorous work. The hours are irregular and you will occasionally receive hostile messages from people who do not like what you posted. But the ability to give residents accurate information during an active emergency, before the news vans arrive, makes the effort worthwhile.