Lior Elazary KK6BWA

...because this life is yours. Some of it was given to you, the rest you make yourself.

  • Increase font size
  • Default font size
  • Decrease font size
Home Ham Baofeng Radios Hacking the UV-B5

Hacking the UV-B5

E-mail Print PDF



Someone tipped me off about the new UV-B5 and that it might have a different cpu. Since these radios are not so expensive, I decided to get one and take it apart. Even though I could not find any schematics online,  I figured that the knowledge I gained from hacking the UV-5R or the UV-3R should be sufficient for trying to hack this radio. Also, there seem to be two models the UV-B5 and the UV-B6. Looking on line, it looks like the main difference is a lamp instead of an encoder knob (on the top of the radio). Since I rather have an encoder, I choose the UV-B5.

As soon as I got the radio, I took it apart. I did not even use it, just turned it on to make sure its not defective. It looks like Baofeng has redesigned this radio, but they are still using the RDA1846 chip for the 2M/70cm radio and the RDA5802 for the FM radio. Additionally, they have added more circuit isolations between circuit blocks, which should makes this radio a better receiver. And the best part... They have separated the CPU board from the radio with a flat 30 pin FPC cable (0.5mm pitch). This should make this radio very simple to hack, since we could design a separate board and place it on the radio.

The CPU board has also seem to expose the programming pins as well, with the same pinouts as the UV3R. However, I tried to hook up the programmer I have, but it would not even read the CPU ID. It might be a one time programmable CPU, or I don't have the correct protocol to talk to it. In the docs, it also states to set a pin low/high depending if you want to program it or not. But I have not tried that, since I much rather have a better CPU (programming the UV3R has been a pain).


The first step was to create a pass through adapter board so I can test the pins and see what they do. I quickly designed one and send it to OshPark for printing. However, in the haste, I did not reverse the connector, so I had to expose the pins on one side of the cable, so the pins will align. I am going to design another board with an atmega on board, so people could just plug in and program (No soldering required).


Once the board was setup, I was able to trace the pins (the knowledge of hacking the UV5R defiantly helped). I still have some questions on some pins (marked with a ?), but for now I can talk to the RDA1846 using the Arduino.


1. GND
2. TXD
3. AURX (speaker on)
4. RXD?
5. U/V ?
6. Mic In
7.KEY 3 (PTT)
8. KEY 1
9. KEY 2
10. RDA1846  SEN
11. RDA1846 SDIO
12. RDA1846 SCLK
13. RDA1846 GPIO1
14. RDA1846 PDN
15. RDA1846 GPIO7
16. Voice IC (DATA)
17. Voice IC (CLK)
18. RX On?
19. TX On?
20. APC: Freq 15.43 kHz  . Low power 29.7% duty cycle, High Power 56.7% duty cycle
21. LED Light
22. RDA5802 CLK
23. RDA5802 DIO
24. 3.3V
25. GND
26. Bat Voltage (for sensing)
27. Encoder pin 1 (rotary encoder on top of radio)
28. Encoder pin 2 (rotary encoder on top of radio)
29. Key2 (emergency key)
30. GND

Here is the arduino interfacing with the UV-5B. My next step is to design another board that would completely replace their CPU board. Stay tuned.

Last Updated on Tuesday, 03 September 2013 15:46