A project to replace the Uniden PB121, PB112 boards with modern counterparts to revive dead radios and overcome mcu limitations.

Similar projects worth following
This project is initially focused on replacing PB121 in the Uniden HR2510 10 meter Amateur Radio Transceiver. PB121 primarily contains the MCU and PLL synthesizers along with some support components. FM transmitter modulation is also handled by this board.

Replacing PB121 required replicating a PB112 in software as well; that work is in an alpha state as PB121 work begins. PB112 is implemented as an Arduino library with SPI master or slave modes. Master mode allows your custom PB121 replacement to drive the factory HR2510 display. Slave mode would allow a replacement display to be constructed that understands the factory PB121 display data.

A PB121 proof of concept has been constructed with an AD9850 DDS. A SI5351 will be used for an initial prototype as the one chip can generate all of the signals required. FM mode will ideally become a generic SDR-like digital mode with analog FM implemented in firmware. This change eliminates a ton of RF circuitry.

This could be evolved into a general purpose VCO/VFO/IF replacement for a variety of popular radios expanding their capabilities to the digital realm.

The clock generator for the alpha version of PB121 will be a SI5351 from Adafruit. These are available in large quantities cheaply and $7.95 in single quantities. It provides 3 clock outputs and is designed for RF PLL synthesis. I have used Silicon Labs ClockBuilder Pro to build a suitable Band Plan for the chip to generate all the signals needed to run the HR2510 RF deck. More info can be found in the overview of the Adafruit SI5351 Breakout.

More information on these radios can be found at:

Owner's Manuals

Decoded vs Example.jpg

Example of the decoded command sequence sent from the HR2510 MCU versus the command sequence sent from an Arduino library for the same LCD display driver chip.

JPEG Image - 80.24 kB - 06/08/2017 at 01:20


Screen Shot 2017-06-07 at 9.18.48 PM.png

Data Dump of the SPI bus as the radio boots with various frequencies displayed.

Portable Network Graphics (PNG) - 109.57 kB - 06/08/2017 at 01:19



PB112 SPI Capture - Bootup Command Sequence and Display Initialization

plain - 803.00 bytes - 06/08/2017 at 01:09



PB112 SPI Capture - One click of the VFO dial.

plain - 586.00 bytes - 06/08/2017 at 01:09


  • Delay

    David L Norris06/12/2017 at 19:01 0 comments

    Pardon the lack of update. I intended to have a working VCO and LO by now. I decided to switch to the SI5351 since it is both cheaper and much more functional than the AD9850. The SI5351 can generate 3 or 8 clocks depending on the physical package size you select. I am going to try to do everything with 3 clocks. This should be easy. This also means that the LO and VCO are both frequency agile. The LO is normally fixed at 10.240 MHz. Shifting that around slightly along with the VCO might be interesting to experiment with. Also, IF Shift may be possible to implement in software this way.

    As such, I ordered a SI5351 from Amazon to save shipping cost. The package arrived mislabelled. There was an Amazon inventory sticker over the Adafruit sticker. Amazon sticker indicated it was a 2045 but the Adafruit one showed it was really a lithium battery charger. In hindsight, I probably should have kept it and used it for memory backup. But I did the honorable thing and returned it.

    And ordered a new one. Which arrived on Sunday. Absolutely demolished. Looks like it was caught under a belt. The killer is that the destroyed part was inside of a sealed Amazon inspection bag. So Amazon picked up a few of the bits of the shredded board, stuffed them in a bag, printed a new envelope and just called it good? Weird. So, fool me twice, I ordered another from Amazon. Dernit. Because shipping from anywhere else costs a mint compared to the cost of this board. Which is good for us because it means the board is cheap. ;)

  • Front Panel and Synth Prototype

    David L Norris06/09/2017 at 19:50 0 comments

    Unfortunately, Amazon shipped me the wrong breakout board from Adafruit. Not an uncommon occurrence these days. That said, I will likely spend some time to probe and record signals on each of the connectors coming into PB121. Just to make sure I understand them all and what their ranges are. For example, I need to ensure that all voltages are under about 5.5-6.0 V to avoid damaging anything. Some of the signals to/from PB121 are 8 V as is common in VCO circuits. And then verify that certain signals are control voltages versus digital logic.

    I will be first wiring up the front panel connections. Everything that isn't the PLL.

  • PB121 Block Diagram v1

    David L Norris06/09/2017 at 09:25 0 comments

    Mapping out the needed signals for a replacement PB121 board. This should be a complete diagram of the proposed interconnections. I have shared this Block Diagram via Google Drive using

  • Alternative HR2510 Display

    David L Norris06/08/2017 at 00:41 0 comments

    This is a video from years ago showing a concept for a two line character display and AVR micro to replace the missing PB112 board. This code will likely be adapted into a library that is also compatible with the HR2510 PB112 interface. With a means to capture the display data we can make this happen easily. In fact, it would already be done if I wasn't having an issue with the display. The HR2510 has a very small space to fit the full LCD and it took a long time to locate a LCD that would fit. However, this display has stopped working after some manhandling over the years and they are, predictably, obsolete.

  • HR2510 PB112 LCD Display Library

    David L Norris06/08/2017 at 00:33 0 comments

    A rather boring video of me rambling while spinning the VFO dial and seeing data for the first time.

    The code driving the display can be found here:

    It does not work like the standard LCD libraries despite being based on some of that code. It implements a set of methods that are specific to the HR2510 and the things it can display. I expect that there may be other versions of this library created with the same methods for Lincoln/2830, HR2600, TS-5010, CBS-1000, and other variants not listed. Some of the parts between those radios may be more easily interchanged with inexpensive adaptor boards through this project.

    PB112 Library Master Mode Example
    Pardon the crusty old HR2510 that has been beating around in the truck for a decade or so. But do notice that the above code is driving the display.

  • FM Modulation in Software

    David L Norris06/08/2017 at 00:18 1 comment

View all 6 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates