Baofeng: programming channels in CHIRP step by step
Bought a Baofeng — a UV-5R, UV-82, BF-888S or a similar model — and want to load channels into it: the local repeater, simplex, emergency frequencies? Doing it by hand from the keypad is agony, so almost everyone programs their radios from a computer. The free CHIRP program handles this better than anything else. In this article we walk through the whole process step by step: from installing the driver to writing channels into the radio. One important caveat up front: CHIRP works only with analog channels. If you have a digital DMR model, read to the end — it explains what to use to write a digital codeplug.
What CHIRP is
CHIRP is a free, open-source program for programming amateur and handheld radios. It is cross-platform: there are builds for Windows, macOS and Linux. Its main strength is a single interface for hundreds of models: Baofeng, Quansheng, Wouxun, TYT, Retevis and many others. You learn the tabular channel editor once and then program almost any radio using the same workflow.
CHIRP is updated constantly. The old "stable" version has long been frozen, so download the latest build (it is called CHIRP-next) from the official site. For more about the program itself and what it can do, see the separate write-up CHIRP.
What you need before you start
The minimum kit:
- A programming cable. This is a special cable with a USB→serial converter chip inside the connector. On a Baofeng this is usually a round two-pin plug (Kenwood K1) on one end and USB on the other.
- The chip driver. Inside the cable there is a CH340 chip (common in Chinese cables) or a CP2102 / FTDI. You need the matching driver, otherwise Windows will not create a COM port.
- CHIRP-next itself from the official site.
Step 1. Install CHIRP and the driver
Download CHIRP-next from the official site chirpmyradio.com and install it like any normal program. Windows has a ready-made installer, macOS has a package, and Linux has a Flatpak or a distribution package.
Separately, install the cable's chip driver. Most often this is CH340: download the driver, install it, reboot the PC. After that, plug the cable into USB. If the cable carries a CP2102 or FTDI chip instead, you need their driver, which Windows usually pulls in by itself.
Step 2. Identify the COM port
Connect the cable to the computer (you can leave the radio unplugged for now). Open the Windows Device Manager and expand the Ports (COM & LPT) section. A line like USB-SERIAL CH340 (COM5) should appear. Note the port number — you will need it in CHIRP.
If there is no port, or it is marked with a yellow exclamation mark, the problem is in the driver or the cable, and it is too early to move on to programming. On macOS the port looks like /dev/cu.usbserial-XXXX, on Linux like /dev/ttyUSB0.
Step 3. Read the radio (Download from Radio)
This is the mandatory first step when working with any radio. First you download the current "channel firmware" from the radio into CHIRP, then edit it and upload it back. If you skip the read and start writing right away, you will almost certainly "brick" the settings.
- Turn the radio off, plug the cable into its connector until it clicks, then turn the radio on. It is best to turn the volume down; the squelch is up to you.
- In CHIRP open the menu Radio → Download From Radio.
- Choose the COM port (the one from Step 2), then the manufacturer (Baofeng) and the exact model (for example UV-5R).
- Click OK and wait while CHIRP reads the memory. A channel table will appear.
Pick the model precisely. If your exact revision is not in the list, take the nearest compatible one, but if the read fails, try an alternative option from the list. The wrong model is a common reason a radio reads as garbage or does not read at all.
Step 4. Edit the channels
After reading, you will see a table where each row is a channel. The main columns:
- Frequency (RX) — the receive frequency, for example 433.075.
- Duplex / Offset (TX) — the transmit shift. For simplex (receive and transmit on the same frequency) leave it empty. For a repeater set + or - and the shift amount.
- Tone / CTCSS / DCS — the sub-tone. To open a repeater you usually need a transmit tone (Tone or TSQL) with the required value, for example 88.5.
- Power — the power level: High / Low (and Mid on some models).
- Mode — for analog this is usually FM (wide) or NFM (narrow, 12.5 kHz — the standard for PMR/modern channel plans).
- Name — the channel name, up to 6–7 characters depending on the model.
The grid spacing (Tuning Step) is set separately; for PMR/LPD it is usually 6.25 or 12.5 kHz. Fill in the rows from top to bottom and leave empty channels empty.
Ready-made frequency lists
You do not have to type everything by hand. CHIRP has built-in collections: the menu Radio → Import from stock config (the menu item name varies by version) provides ready sets — for example PMR446 and LPD433. You can import them into the table and upload them straight to the radio. Handy for license-free bands, where the frequencies are standardized.
If you are building a meaningful channel plan with zones and groups for the future, read up on how to plan a Codeplug from scratch; the grouping principles are useful for analog radios too.
Step 5. Write to the radio (Upload to Radio)
When the table is ready, upload it back:
- Save the file just in case: File → Save As (the .img format). This is a backup you can always return to.
- Check that the radio is on and the cable is connected.
- Open Radio → Upload To Radio, confirm the model and port, and click OK.
- Wait for the write to finish and do NOT unplug the cable during the process. After writing, turn the radio off, disconnect the cable, turn it on again — the channels are in place.
Common mistakes
- The PC does not see the port. In 99% of cases the chip driver is not installed, the cable is a "charging"/fake one, or the wrong COM port was selected. Check Device Manager (Step 2), reinstall the driver, try another USB port and another cable.
- The wrong model was selected. CHIRP reads garbage or returns a communication error. Confirm the exact revision of the radio and select it in the list.
- Forgot to read the radio before writing. Always Download From Radio first, and only then edit and Upload. Otherwise you can wipe out the service settings.
- The cable came loose during the write. The Baofeng connector sits loosely — keep the radio still during Upload.
- Wrong channel plan/wide bandwidth. If people "don't hear you clearly," check FM/NFM and that the sub-tones match your correspondent's.
Next — digital communications
DMRhub is a network, hotspots and tools for digital radio. Get a DMR ID, build a hotspot and talk through the app.
Summary
Programming a Baofeng in CHIRP is five clear steps: install the program and the cable driver, find the COM port, read the radio, edit the channel table and write it back. The main rules: use a real programming cable, install the chip driver, always read the radio first and save a backup .img. If you are still choosing a unit, take a look at Your first radio, and if a radio is acting up during programming, see Baofeng repair. And remember: for a digital DMR codeplug you need a different tool, not CHIRP.
Sources
- Official CHIRP site and documentation — chirpmyradio.com (Beginners Guide, How To Read/Write).
- CH340 chip page and WCH drivers — wch.cn (USB-to-serial section).
- CHIRP community forum and Wiki — chirpmyradio.com/projects/chirp/wiki.
- Topical discussions of Baofeng programming on dedicated ham radio forums (RadioReference, Baofeng/QRZ forums).