Grandma's Fridge

A TitanOfOld dev blog

Using CHIRP to Program Baofeng BF-888S

I recently purchased some radios to use at the local community theatre. Since we're a small, non-profit organization, we don't have a lot of spare money lying around. The radios I previously purchase from Best Buy were terrible. The end of transmission beep was much louder than the transmission itself. So, I set out to see what how much the radios my work used cost as they're vastly superior. I got four Baofeng BF-888S for less than the two barely usable Cobras.

There is a drawback with the Baofeng BF-888S (Amazon Affiliate Link): They aren't legal to use out of the box. They need a bit of programming. Fortunately, this is easier than it seems.

While I'll include some instruction from a Gentoo standpoint, there is nothing particular to the OS when it comes to actually programming the radios.

You'll need a cable. I got the BTECH PC03 FTDI USB programming cable (Amazon Affiliate Link).

Once you have the items, you'll need to make sure that you have a couple drivers enabled in your kernel.

Device Drivers  --->
    [*] USB support  --->
        <*>   USB Serial Converter support  --->
            <*>   USB FTDI Single Port Serial Driver

The configuration keywords are CONFIG_USB_SERIAL and CONFIG_USB_SERIAL_FTDI_SIO. After recompiling and install the kernel, reboot.

With the programming cable plugged into your computer, you should see something similar to the following:

# ls -l /dev/tty[SU]*
crw-rw---- 1 root uucp   4, 64 Oct 26 06:14 /dev/ttyS0
crw-rw---- 1 root uucp   4, 65 Oct 26 06:14 /dev/ttyS1
crw-rw---- 1 root uucp   4, 66 Oct 26 06:14 /dev/ttyS2
crw-rw---- 1 root uucp   4, 67 Oct 26 06:14 /dev/ttyS3
crw-rw---- 1 root uucp 188,  0 Oct 26 12:24 /dev/ttyUSB0

You'll need to add your user(s) to the appropriate group. As shown above on Gentoo this is uucp.

# usermod -a -G uucp youruser

Once, that's done, install CHIRP. We'll probably need to add a keyword unmask for the live ebuild.

# echo '=net-wireless/chirp-99999999 **' >> /etc/portage/package.keywords/radio-software
# emerge net-wireless/chirp

Then, fire it up with chirpw.

Connect the radio to the programming cable, turn on the radio, and download the radio config (Radio > Download from radio). With my radios, the stock configuration look like so:

CHIRP screenshot - Stock Configuration

CHIRP includes some configurations, like "US FRS and GMRS Channels" found under File > Open stock configs. You can copy and paste each of those entries into the tab related to the BaoFeng.


One thing to note, is that the configuration offered by CHIRP is slightly incorrect. According to the Electronic Code of Federal Regulations (47 CFR ยง 95.563 - FRS channels), all of those channels should have a mode of `NFM` for the narrow FM. So, be sure to change the mode once you've copied it over. Additionally, all of the channels in the 462 MHz range are permitted to transmit at 2W, but we don't have that kind of granularity with the BaoFeng BF-888S radios. We only have a choice of either low or high power. Obviously, I've gone with low power since the radio is allegedly capable of transmitting at up to 5W.

I've elected to use all of the channels in the 462 MHz portion. I've left location 16 unassigned to use as a scanning channel. However, this only worked on one of my radios. The others just produce an annoying, constant tone.

So, you should have something that looks like so:

CHIRP screenshot custom settings of BF-888S

Finally, upload the settings to the radio (Radio > Upload To Radio), and unplug it from the computer. Your radio is now mostly legal to use anywhere in the US. (Its detachable antenna keeps it from being 100% legal without a license.)

I haven't yet used these at the theatre I volunteer at, but we do use these same radios at work. They have fantastic range and excellent clarity. I expect similar results in much smaller facility.

Here are the image/CSV produced by CHIRP: