ChiOff shared profiles GitHub ↗

Chicago Offline · shared codeplug profiles

The community net, ready for your radio.

Version-controlled codeplugger profiles that put the Chicago Offline GMRS, MURS, and DMR channels into each supported radio the same way every time. Browse what each profile loads, which radios carry it, and the last verified state of every shared handset.

codeplugger logo: a handheld radio with a code glyph on its screen and plug prongs at its base

Profiles

7 profiles · 480 channel assignments · grouped by radio. Each zone lists its SSRF assignment IDs in radio order; a id → name chip means the profile overrides the display name to fit the radio.

Baofeng BF-888S

UHF-only analog FM, 16 fixed channels, programmed through CHIRP · baofeng_bf888s

Chicago Offline Shared - Baofeng BF-888S

chioff_bf888s_shared
Baofeng BF-888S1 zone6 channels

Shared ChiOff community net for the Baofeng BF-888S.

The BF-888S is UHF-only (400-490 MHz), so like the MateTalk P4 it carries the GMRS zone but NOT the MURS channels (151/154 MHz is out of band).

Two things about this radio that no other profile in this repo has to deal with, both from the CHIRP driver (chirp/drivers/h777.py, class H777Radio):

1. rf.has_name = False -- the radio has NO channel names and no display. Channel identity is the knob position plus whatever is printed on the tape. The assignment order below IS the user interface, so it is load-bearing in a way it is not on the DM-32 or the P4. Do not reorder without reprinting the label on every radio in the fleet.

2. rf.has_bank = False -- the radio has no zone concept. The single zone below exists because profile-0.1 requires at least one; it flattens to knob positions 1-6. See the max_zones note in the BF-888S capabilities.json.

Positions 7-16 are intentionally left empty (Eric, 2026-09-14) so the unused detents are dead air and cannot be mis-keyed onto something live.

No radio_instance: this is a community profile, not tied to one operator's handset.

ChiOffchioff_gmrs · 6
asg_chio_allasg_chio_team1asg_chio_team2asg_chio_team3asg_chio_roadasg_chio_repeater

Baofeng DM-32

Dual-band DMR/FM handheld with airband receive · baofeng_dm32

Chicago Offline - DM-32 Chicago

chioff_dm32_chicago
Baofeng DM-3218 zones397 channels

The full-featured Chicago codeplug for the Baofeng DM-32: the shared community net plus local amateur, GMRS, public safety, public works, transit, business, venue, aviation, marine and weather channels.

Everything here resolves from public data -- ssrf-lite plus the shared ChiOff overlay -- so this profile can be published and rebuilt by CI. No personal DMR IDs and no private overlay records.

Not included, deliberately:

* The 1.25 m, 23 cm, 6 m and 10 m entries carried by the club files, and every D-STAR, C4FM, P25, APRS, packet and CW channel. The DM-32 has neither the bands nor the modes; codeplugger rejects them rather than emitting a channel the radio cannot use. * The KC9MHE family operations channels. They are public in ssrf-lite but they are one family's channels, not community infrastructure.

The ChiOff GMRS and MURS zones are copied from chioff_shared.yml rather than inherited: profile-0.1 requires a child profile to declare a radio_instance, and a community profile has none. Keep the two in sync.

No radio_instance: this is a community profile, not tied to one operator's handset.

ChiOff GMRSchioff_gmrs · 6
asg_chio_allasg_chio_team1asg_chio_team2asg_chio_team3asg_chio_roadasg_chio_repeater
ChiOff MURSchioff_murs · 10
asg_chio_murs5asg_chio_murs4asg_chio_murs3asg_chio_murs2asg_chio_murs1asgn_murs_1asgn_murs_2asgn_murs_3asgn_murs_4 → MURS 4 Blue Dotasgn_murs_5 → MURS 5 Grn Dot
GMRS Repeatersgmrs_repeaters · 10
asgn_gmrs_lincolnwood_575asgn_gmrs_chicago_600asgn_gmrs_chicago_575asgn_gmrs_forest_view_650asgn_gmrs_oak_lawn_625asgn_gmrs_montclare_650asgn_nsea_675asgn_nsea_650asgn_nsea_700asgn_nsea_coop_evanston_725
Chicago Amateurchicago_amateur · 16
asgn_cfmc_440asgn_cfmc_2masgn_cfmc_fusion_2m_fmasgn_ns9rc_2m_fmasgn_ns9rc_440asgn_ns9rc_simplex_446_025asgn_ns9rc_simplex_147_405asgn_ns9rc_simplex_146_460asgn_ka9hhh_2m_fmasgn_ka9hhh_440_fmasgn_n9bbm_440_fmasgn_skokie_rc_440_fmasgn_na9pl_440_fmasgn_na9pl_440_500_fmasgn_w9dup_2m_fmasgn_w9dup_440_fm
Chicago DMRchicago_dmr · 18
asgn_cl_loopasgn_cl_schaumburgasgn_k9bar_bolingbrookasgn_n9pay_carlsvilleasgn_aa9vi_chicagoasgn_k9vi_crystal_lakeasgn_n9iaa_crown_pointasgn_k9nro_elburnasgn_n9pay_green_bayasgn_k9ord_invernessasgn_n9iaa_la_porteasgn_n9pay_milwaukeeasgn_kc9kko_morrisasgn_n9pay_new_berlinasgn_ww9p_rockfordasgn_k9mot_schaumburgasgn_n8ouz_traverse_cityasgn_n9iaa_valparaiso
Ham VHF Simplexham_vhf_simplex · 20
us_ham_vhf_aprsus_ham_vhf_callus_ham_vhf_146400us_ham_vhf_146415us_ham_vhf_146430us_ham_vhf_146445us_ham_vhf_146460us_ham_vhf_146475us_ham_vhf_146490us_ham_vhf_146505us_ham_vhf_146535us_ham_vhf_146550us_ham_vhf_146565us_ham_vhf_146580us_ham_vhf_147420us_ham_vhf_147450us_ham_vhf_147480us_ham_vhf_147510us_ham_vhf_147540us_ham_vhf_147570
Ham UHF Simplexham_uhf_simplex · 20
us_ham_uhf_callus_ham_uhf_446025us_ham_uhf_446050us_ham_uhf_446075us_ham_uhf_446100us_ham_uhf_446125us_ham_uhf_446150us_ham_uhf_446175us_ham_uhf_446200us_ham_uhf_446225us_ham_uhf_446250us_ham_uhf_446275us_ham_uhf_446300us_ham_uhf_446325us_ham_uhf_446350us_ham_uhf_446375us_ham_uhf_446400us_ham_uhf_446425us_ham_uhf_446450us_ham_uhf_446475
Ham DMR Simplexham_dmr_simplex · 14
asg_dmr_smpx_446500asg_dmr_smpx_446075asg_dmr_hs_4304125asg_dmr_hs_4304250asg_dmr_hs_4394125asg_dmr_hs_4394250asg_dmr_hs_duplex_4394375asg_dmr_hs_duplex_4394500asg_dmr_hs_duplex_4394625asg_dmr_hs_duplex_4394750asg_dmr_hs_duplex_4304375asg_dmr_hs_duplex_4304500asg_dmr_hs_duplex_4304625asg_dmr_hs_duplex_4304750
Chicago PDchicago_pd · 8
asg_cpd_cw1asg_cpd_cw2asg_cpd_cw3asg_cpd_cw4asg_cpd_cw5asg_cpd_cw6asg_cpd_cw7asg_cpd_vhf2
Chicago Fire EMSchicago_fire_ems · 54
asg_cfd_fg_aasg_cfd_cmd_aasg_cfd_lakefrontasg_cfd_tac_aasg_cfd_ops8_aasg_cfd_ops9_aasg_cfd_ops10_aasg_cfd_cta_fireasg_cfd_specevt1_aasg_cfd_admin_aasg_red_south_buasg_red_north_buasg_skookie_fire_dispasg_north_shore_adminasg_evanston_fireasg_desplaines_fireasg_il_statewide_emsasg_merci400asg_med1_northasg_med2_northasg_med3_northasg_med4_northasg_med5_northasg_med6_northasg_med7_northasg_med8_northasg_med9_northasg_med10_northasg_med11_northasg_med12_northasg_med1_centralasg_med2_centralasg_med3_centralasg_med4_centralasg_med5_centralasg_med6_centralasg_med7_centralasg_med8_centralasg_med9_centralasg_med10_centralasg_med11_centralasg_med12_centralasg_med1_southasg_med2_southasg_med3_southasg_med4_southasg_med5_southasg_med6_southasg_med7_southasg_med8_southasg_med9_southasg_med10_southasg_med11_southasg_med12_south
Interopinterop · 23
asg_interop_v1asg_interop_v2asg_interop_v3asg_interop_v4asg_interop_vmetro3asg_interop_vmetro4asg_interop_vmetro5asg_interop_u1asg_interop_u2asg_ifernasg_ireachasg_ispernasg_ptpasg_hearasg_vcall10asg_vtac11asg_vtac12asg_vtac13asg_vtac14asg_ucall40asg_utac41asg_utac42asg_utac43
Public Workspublic_works · 17
asg_dss_n1asg_dss_n2asg_dss_s1asg_dss_snowasg_cpd1asg_cpd2asg_fpd1asg_fpd2asg_cdot_streets_n12asg_cdot_forestry_animalasg_cdot_towing_parkingasg_cdot_revenue_bootasg_cdot_electricity_boeasg_cdot_sewers_transportasg_cdot_loop_ob3asg_cdot_streets_s45asg_cdot_paging
Transittransit · 7
asg_cta1asg_cta2asg_cta_yardasg_ord_opsasg_midway_opsasg_deliv_u1asg_deliv_fm1
Businessbusiness · 56
asg_875_n_michasg_401_n_michasg_tribune_towerasg_merch_martasg_newyork_resasg_2650_lakeviewasg_3950_lsdasg_eugenie_terraceasg_625_n_michasg_757_orleansasg_500_lsdasg_park_place_towerasg_abm_nmh_parkingasg_live_nation_lawrenceasg_cubby_bearasg_apple_michasg_northbridge_secasg_flemings_a1asg_flemings_a2asg_dave_busters_clarkasg_morettis_epasg_maxbarasg_park_place_restasg_holy_name_cathedralasg_perillo_bmwasg_allegro_sonestaasg_allegro_sonesta_altasg_ama_plazaasg_two_prudentialasg_aon_bldgasg_bcbs_illinoisasg_333_s_wabashasg_old_post_officeasg_340_on_the_parkasg_mcclurg_courtasg_north_water_aptsasg_river_east_centerasg_cityview_condosasg_horween_leatherasg_triangle_squareasg_lincoln_commonasg_marriott_mm_secasg_sheraton_grand_secasg_sheraton_grand_opsasg_peninsula_opsasg_trump_secasg_trump_opsasg_renaissance_dt_h_easg_caa_hotel_secasg_caa_hotel_hskpasg_rosehill_opsasg_sc_electric_ops1asg_sc_electric_ops2asg_albany_park_ccasg_community_safety_svcsasg_imperial_tower
Venuesvenues · 15
asg_aonasg_two_pruasg_bcbsasg_333wabasg_amaasg_oldpoasg_merchasg_two77asg_allegroasg_wrigley_fmasg_wrigley_dmrasg_unitedasg_soldierasg_navy_pierasg_mccormick
Aviationaviation · 43
asg_karr_120600_ctafasg_karr_121700_cldasg_karr_122500_radioasg_karr_122950_unicomasg_karr_125850_asosasg_karr_133500_adasg_kdpa_119750_cldasg_kdpa_120900_twrasg_kdpa_121800_gndasg_kdpa_122300_radioasg_kdpa_122950_unicomasg_kdpa_124800_asosasg_kdpa_133500_adasg_kgyy_120625_atisasg_kgyy_121900_gndasg_kgyy_123650_radioasg_kgyy_125600_ctafasg_kgyy_133100_adasg_kmdw_118400_adasg_kmdw_118700_twrasg_kmdw_121650_gndasg_kmdw_121850_cldasg_kmdw_122950_unicomasg_kmdw_132750_asosasg_kord_119000_appasg_kord_121600_cldasg_kord_121675_gndasg_kord_122950_unicomasg_kord_125000_depasg_kord_126900_twrasg_kord_135400_asosasg_kpwk_119900_ctafasg_kpwk_120550_adasg_kpwk_121700_gndasg_kpwk_122950_unicomasg_kpwk_124200_atisasg_kpwk_124700_cldasg_kugn_120050_ctafasg_kugn_120550_adasg_kugn_121650_gndasg_kugn_122550_radioasg_kugn_122950_unicomasg_kugn_132400_atis
Marinemarine · 53
us_marine_vhf_ch01aus_marine_vhf_ch05aus_marine_vhf_ch06us_marine_vhf_ch07aus_marine_vhf_ch08us_marine_vhf_ch09us_marine_vhf_ch10us_marine_vhf_ch11us_marine_vhf_ch12us_marine_vhf_ch13us_marine_vhf_ch14us_marine_vhf_ch15us_marine_vhf_ch16us_marine_vhf_ch17us_marine_vhf_ch18aus_marine_vhf_ch19aus_marine_vhf_ch20us_marine_vhf_ch20aus_marine_vhf_ch21aus_marine_vhf_ch22aus_marine_vhf_ch23aus_marine_vhf_ch24us_marine_vhf_ch25us_marine_vhf_ch26us_marine_vhf_ch27us_marine_vhf_ch28us_marine_vhf_ch60us_marine_vhf_ch63aus_marine_vhf_ch64aus_marine_vhf_ch65aus_marine_vhf_ch66aus_marine_vhf_ch67us_marine_vhf_ch68us_marine_vhf_ch69us_marine_vhf_ch70us_marine_vhf_ch71us_marine_vhf_ch72us_marine_vhf_ch73us_marine_vhf_ch74us_marine_vhf_ch77us_marine_vhf_ch78aus_marine_vhf_ch79aus_marine_vhf_ch80aus_marine_vhf_ch81aus_marine_vhf_ch82aus_marine_vhf_ch83aus_marine_vhf_ch84us_marine_vhf_ch85us_marine_vhf_ch86us_marine_vhf_ch87us_marine_vhf_ch88us_marine_vhf_ch87bus_marine_vhf_ch88b
Weatherweather · 7
asg_wx1asg_wx2asg_wx3asg_wx4asg_wx5asg_wx6asg_wx7

Chicago Offline Shared - Baofeng DM-32

chioff_dm32_shared
Baofeng DM-322 zones16 channels

Shared ChiOff community net for the Baofeng DM-32.

The DM-32 is dual-band (VHF + UHF), so unlike the UHF-only MateTalk P4 it carries the MURS channels as well as the GMRS set.

No radio_instance: this is a community profile, not tied to one operator's handset.

ChiOff GMRSchioff_gmrs · 6
asg_chio_allasg_chio_team1asg_chio_team2asg_chio_team3asg_chio_roadasg_chio_repeater
ChiOff MURSchioff_murs · 10
asg_chio_murs5asg_chio_murs4asg_chio_murs3asg_chio_murs2asg_chio_murs1asgn_murs_1asgn_murs_2asgn_murs_3asgn_murs_4 → MURS 4 Blue Dotasgn_murs_5 → MURS 5 Grn Dot

Baofeng UV-5R Mini

Dual-band analog FM, programmed through CHIRP · baofeng_uv5r_mini

Chicago Offline Shared - Baofeng UV-5R Mini

chioff_uv5rmini_shared
Baofeng UV-5R Mini1 zone16 channels

Shared ChiOff community net for the Baofeng UV-5R Mini.

The UV-5R Mini is dual-band (136-174 and 400-480 MHz TX), so like the DM-32 and unlike the UHF-only BF-888S and MateTalk P4 it carries the MURS channels alongside the GMRS set. Same 16 channels as the DM-32 profile, in the same order, so a member carrying both radios reads the same list on each.

Two differences from the DM-32 profile, both from this radio's capabilities.json:

1. One zone, not two. max_zones is 1 -- the UV-5R Mini has no user-facing zone concept, and the single zone here exists only because profile-0.1 requires at least one. The GMRS and MURS blocks are contiguous in the channel list instead of being separated by a zone boundary.

2. Channel names are capped at 12 characters, not 16, so three names the DM-32 carries in full are shortened below. The overrides are display policy and belong here; the names themselves stay unchanged in SSRF.

No radio_instance: this is a community profile, not tied to one operator's handset.

ChiOffchioff · 16
asg_chio_allasg_chio_team1asg_chio_team2asg_chio_team3asg_chio_roadasg_chio_repeater → ChiO RPTasg_chio_murs5asg_chio_murs4asg_chio_murs3asg_chio_murs2asg_chio_murs1asgn_murs_1asgn_murs_2asgn_murs_3asgn_murs_4 → MURS 4 Blueasgn_murs_5 → MURS 5 Grn

Retevis MateTalk P4

UHF-only DMR/FM handheld, 400–470 MHz · retevis_matetalk_p4

Chicago Offline Shared - Retevis MateTalk P4

chioff_p4_shared
Retevis MateTalk P41 zone6 channels

Shared ChiOff community net for the Retevis MateTalk P4.

The P4 is UHF-only (400-470 MHz), so it can carry the GMRS zone but NOT the MURS channels (151/154 MHz is out of band). MURS lives in the VHF-capable profiles only -- see the DM-32 profile.

No radio_instance: this is a community profile, not tied to one operator's handset.

ChiOffchioff_gmrs · 6
asg_chio_allasg_chio_team1asg_chio_team2asg_chio_team3asg_chio_roadasg_chio_repeater

Chicago Offline Shared + Ham - Retevis MateTalk P4

chioff_p4_shared_ham
Retevis MateTalk P42 zones16 channelsOn a radio

Shared ChiOff community net and UHF amateur simplex configuration for the Retevis MateTalk P4. The P4 is UHF-only (400-470 MHz).

No radio_instance: this is a community profile, not tied to one operator's handset.

ChiOffchioff_gmrs · 6
asg_chio_allasg_chio_team1asg_chio_team2asg_chio_team3asg_chio_roadasg_chio_repeater
ChiOff Hamchioff_ham · 10
us_ham_uhf_callus_ham_uhf_446025us_ham_uhf_446050us_ham_uhf_446075us_ham_uhf_446100asg_chio_dmr_uhf_callasg_chio_dmr_uhf_446025asg_chio_dmr_uhf_446050asg_chio_dmr_uhf_446075asg_chio_dmr_uhf_446100

Chicago Offline Shared + Ham + Chicago Police - Retevis MateTalk P4

chioff_p4_shared_ham_cpd
Retevis MateTalk P43 zones23 channels

Shared ChiOff, UHF amateur simplex, and Chicago Police RX-only monitoring configuration for the UHF-only (400-470 MHz) Retevis MateTalk P4.

No radio_instance: this is a community profile, not tied to one operator's handset.

ChiOffchioff_gmrs · 6
asg_chio_allasg_chio_team1asg_chio_team2asg_chio_team3asg_chio_roadasg_chio_repeater
ChiOff Hamchioff_ham · 10
us_ham_uhf_callus_ham_uhf_446025us_ham_uhf_446050us_ham_uhf_446075us_ham_uhf_446100asg_chio_dmr_uhf_callasg_chio_dmr_uhf_446025asg_chio_dmr_uhf_446050asg_chio_dmr_uhf_446075asg_chio_dmr_uhf_446100
Chicago Policechicago_police · 7
asg_cpd_cw1asg_cpd_cw2asg_cpd_cw3asg_cpd_cw4asg_cpd_cw5asg_cpd_cw6asg_cpd_cw7

Shared fleet

Physical radios registered in instances.yml against a shared profile. Operators' personal codeplugs live in their own private profile repos and are not listed here.

RadioModelProfileDMR IDContactTapeAssignedSnapshot
co-p4-682041Retevis MateTalk P4chioff_p4_shared682041COP4BLUEblueReference
co-p4-682042Retevis MateTalk P4chioff_p4_shared682042COP4YELLOWyellow—
co-p4-682043Retevis MateTalk P4chioff_p4_shared682043COP4PURPLEpurple—
co-p4-682044Retevis MateTalk P4chioff_p4_shared682044COP4REDred—
co-dm32-ericBaofeng DM-32chioff_dm32_shared3207125KC9MHEgreeneric—
co-888s-01Baofeng BF-888Schioff_bf888s_shared———
co-888s-02Baofeng BF-888Schioff_bf888s_shared———

Verified snapshots

The last read-back-verified state of each shared radio, from artifacts/latest/. This is a device-state record, not a generated source, so it can lag the current profile.

RadioModelProfileCapturedOperationFiles
co-p4-682041Retevis MateTalk P4chioff_p4_shared_ham2026-09-04 04:12 UTCwrite-correction
r08 rewritten; analog HAM channels 12-16 verified TX-enabled
Reference · current.toml · Manifest

How the data flows

One pipeline, antenna to programmed radio: measured reception reports keep the database honest, profiles keep the radios yours.

flowchart LR
  rf["📡 rf-survey"] -- "reception reports" --> ssrf["🗃 ssrf-lite"]
  ov["overlays · shared + private"] --> ssrf
  ssrf -- "validated RF data" --> cp["⚙ codeplugger"]
  prof["👤 profiles"] --> cp
  cp -- "CHIRP · qdmr · dmrconf" --> radios(["📻 radios"])
  click rf "https://chicago-offline.github.io/rf-survey/" _blank
  click ssrf "https://chicago-offline.github.io/ssrf-lite/" _blank
  click cp "https://chicago-offline.github.io/codeplugger/" _blank
  click prof "https://chicago-offline.github.io/chioff-codeplugger-profiles-shared/" _blank
        

Use these profiles

Clone this repo next to codeplugger, ssrf-lite, and chioff-ssrf-shared, then build from the codeplugger checkout.

Validate a shared profile

uv run codeplugger-profile \
  ../chioff-codeplugger-profiles-shared/profiles/baofeng_dm32/chioff_shared.yml \
  --ssrf-root ../ssrf-lite/ssrf \
  --ssrf-root ../chioff-ssrf-shared/ssrf

Export for your radio

# DM-32: qdmr YAML, then dmrconf write
uv run codeplugger-profile \
  ../chioff-codeplugger-profiles-shared/profiles/baofeng_dm32/chioff_shared.yml \
  --ssrf-root ../ssrf-lite/ssrf \
  --ssrf-root ../chioff-ssrf-shared/ssrf \
  --output-format qdmr-yaml > codeplug.yaml

Check the shared fleet

uv run codeplugger-fleet \
  --instance-registry ../chioff-codeplugger-profiles-shared/instances.yml \
  --profiles-root ../chioff-codeplugger-profiles-shared/profiles \
  --ssrf-root ../ssrf-lite/ssrf \
  --ssrf-root ../chioff-ssrf-shared/ssrf

Derive your own variant

version: "0.1"
id: "my_dm32"
name: "My DM-32"
radio: "baofeng_dm32"
extends: "chioff_dm32_shared"
zones:
  - id: "mine"
    name: "Mine"
    assignments:
      - "asg_my_local_repeater"

Generated 2026-09-28 01:11 UTC from profiles/, instances.yml, and artifacts/latest/ at the latest commit on main.