1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
6 <!-- 2021-04-11 Sun 21:46 -->
7 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8 <meta name="viewport" content="width=device-width, initial-scale=1" />
9 <title>Ham radio battery charger mod</title>
10 <meta name="generator" content="Org mode" />
11 <meta name="author" content="Svjatoslav Agejenko" />
12 <style type="text/css">
13 <!--/*--><![CDATA[/*><!--*/
14 .title { text-align: center;
15 margin-bottom: .2em; }
16 .subtitle { text-align: center;
20 .todo { font-family: monospace; color: red; }
21 .done { font-family: monospace; color: green; }
22 .priority { font-family: monospace; color: orange; }
23 .tag { background-color: #eee; font-family: monospace;
24 padding: 2px; font-size: 80%; font-weight: normal; }
25 .timestamp { color: #bebebe; }
26 .timestamp-kwd { color: #5f9ea0; }
27 .org-right { margin-left: auto; margin-right: 0px; text-align: right; }
28 .org-left { margin-left: 0px; margin-right: auto; text-align: left; }
29 .org-center { margin-left: auto; margin-right: auto; text-align: center; }
30 .underline { text-decoration: underline; }
31 #postamble p, #preamble p { font-size: 90%; margin: .2em; }
32 p.verse { margin-left: 3%; }
34 border: 1px solid #ccc;
35 box-shadow: 3px 3px 3px #eee;
37 font-family: monospace;
49 background-color: white;
53 border: 1px solid black;
55 pre.src:hover:before { display: inline; margin-top: 14px;}
56 /* Languages per Org manual */
57 pre.src-asymptote:before { content: 'Asymptote'; }
58 pre.src-awk:before { content: 'Awk'; }
59 pre.src-C:before { content: 'C'; }
60 /* pre.src-C++ doesn't work in CSS */
61 pre.src-clojure:before { content: 'Clojure'; }
62 pre.src-css:before { content: 'CSS'; }
63 pre.src-D:before { content: 'D'; }
64 pre.src-ditaa:before { content: 'ditaa'; }
65 pre.src-dot:before { content: 'Graphviz'; }
66 pre.src-calc:before { content: 'Emacs Calc'; }
67 pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
68 pre.src-fortran:before { content: 'Fortran'; }
69 pre.src-gnuplot:before { content: 'gnuplot'; }
70 pre.src-haskell:before { content: 'Haskell'; }
71 pre.src-hledger:before { content: 'hledger'; }
72 pre.src-java:before { content: 'Java'; }
73 pre.src-js:before { content: 'Javascript'; }
74 pre.src-latex:before { content: 'LaTeX'; }
75 pre.src-ledger:before { content: 'Ledger'; }
76 pre.src-lisp:before { content: 'Lisp'; }
77 pre.src-lilypond:before { content: 'Lilypond'; }
78 pre.src-lua:before { content: 'Lua'; }
79 pre.src-matlab:before { content: 'MATLAB'; }
80 pre.src-mscgen:before { content: 'Mscgen'; }
81 pre.src-ocaml:before { content: 'Objective Caml'; }
82 pre.src-octave:before { content: 'Octave'; }
83 pre.src-org:before { content: 'Org mode'; }
84 pre.src-oz:before { content: 'OZ'; }
85 pre.src-plantuml:before { content: 'Plantuml'; }
86 pre.src-processing:before { content: 'Processing.js'; }
87 pre.src-python:before { content: 'Python'; }
88 pre.src-R:before { content: 'R'; }
89 pre.src-ruby:before { content: 'Ruby'; }
90 pre.src-sass:before { content: 'Sass'; }
91 pre.src-scheme:before { content: 'Scheme'; }
92 pre.src-screen:before { content: 'Gnu Screen'; }
93 pre.src-sed:before { content: 'Sed'; }
94 pre.src-sh:before { content: 'shell'; }
95 pre.src-sql:before { content: 'SQL'; }
96 pre.src-sqlite:before { content: 'SQLite'; }
97 /* additional languages in org.el's org-babel-load-languages alist */
98 pre.src-forth:before { content: 'Forth'; }
99 pre.src-io:before { content: 'IO'; }
100 pre.src-J:before { content: 'J'; }
101 pre.src-makefile:before { content: 'Makefile'; }
102 pre.src-maxima:before { content: 'Maxima'; }
103 pre.src-perl:before { content: 'Perl'; }
104 pre.src-picolisp:before { content: 'Pico Lisp'; }
105 pre.src-scala:before { content: 'Scala'; }
106 pre.src-shell:before { content: 'Shell Script'; }
107 pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
108 /* additional language identifiers per "defun org-babel-execute"
110 pre.src-cpp:before { content: 'C++'; }
111 pre.src-abc:before { content: 'ABC'; }
112 pre.src-coq:before { content: 'Coq'; }
113 pre.src-groovy:before { content: 'Groovy'; }
114 /* additional language identifiers from org-babel-shell-names in
115 ob-shell.el: ob-shell is the only babel language using a lambda to put
116 the execution function name together. */
117 pre.src-bash:before { content: 'bash'; }
118 pre.src-csh:before { content: 'csh'; }
119 pre.src-ash:before { content: 'ash'; }
120 pre.src-dash:before { content: 'dash'; }
121 pre.src-ksh:before { content: 'ksh'; }
122 pre.src-mksh:before { content: 'mksh'; }
123 pre.src-posh:before { content: 'posh'; }
124 /* Additional Emacs modes also supported by the LaTeX listings package */
125 pre.src-ada:before { content: 'Ada'; }
126 pre.src-asm:before { content: 'Assembler'; }
127 pre.src-caml:before { content: 'Caml'; }
128 pre.src-delphi:before { content: 'Delphi'; }
129 pre.src-html:before { content: 'HTML'; }
130 pre.src-idl:before { content: 'IDL'; }
131 pre.src-mercury:before { content: 'Mercury'; }
132 pre.src-metapost:before { content: 'MetaPost'; }
133 pre.src-modula-2:before { content: 'Modula-2'; }
134 pre.src-pascal:before { content: 'Pascal'; }
135 pre.src-ps:before { content: 'PostScript'; }
136 pre.src-prolog:before { content: 'Prolog'; }
137 pre.src-simula:before { content: 'Simula'; }
138 pre.src-tcl:before { content: 'tcl'; }
139 pre.src-tex:before { content: 'TeX'; }
140 pre.src-plain-tex:before { content: 'Plain TeX'; }
141 pre.src-verilog:before { content: 'Verilog'; }
142 pre.src-vhdl:before { content: 'VHDL'; }
143 pre.src-xml:before { content: 'XML'; }
144 pre.src-nxml:before { content: 'XML'; }
145 /* add a generic configuration mode; LaTeX export needs an additional
146 (add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
147 pre.src-conf:before { content: 'Configuration File'; }
149 table { border-collapse:collapse; }
150 caption.t-above { caption-side: top; }
151 caption.t-bottom { caption-side: bottom; }
152 td, th { vertical-align:top; }
153 th.org-right { text-align: center; }
154 th.org-left { text-align: center; }
155 th.org-center { text-align: center; }
156 td.org-right { text-align: right; }
157 td.org-left { text-align: left; }
158 td.org-center { text-align: center; }
159 dt { font-weight: bold; }
160 .footpara { display: inline; }
161 .footdef { margin-bottom: 1em; }
162 .figure { padding: 1em; }
163 .figure p { text-align: center; }
164 .equation-container {
170 vertical-align: middle;
175 vertical-align: middle;
179 border: 2px solid gray;
184 { text-align: right; font-size: 70%; white-space: nowrap; }
185 textarea { overflow-x: auto; }
186 .linenr { font-size: smaller }
187 .code-highlighted { background-color: #ffff00; }
188 .org-info-js_info-navigation { border-style: none; }
189 #org-info-js_console-label
190 { font-size: 10px; font-weight: bold; white-space: nowrap; }
191 .org-info-js_search-highlight
192 { background-color: #ffff00; color: #000000; font-weight: bold; }
193 .org-svg { width: 90%; }
196 <link href="https://bootswatch.com/3/darkly/bootstrap.min.css" rel="stylesheet">
197 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
198 <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/js/bootstrap.min.js"></script>
199 <style type="text/css">
200 footer {background-color: #111 !important;}
201 pre {background-color: #111; color: #ccc;}
203 <link rel="stylesheet" type="text/css" href="https://thomasf.github.io/solarized-css/solarized-dark.min.css" />
204 <script type="text/javascript">
205 // @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
206 <!--/*--><![CDATA[/*><!--*/
207 function CodeHighlightOn(elem, id)
209 var target = document.getElementById(id);
211 elem.classList.add("code-highlighted");
212 target.classList.add("code-highlighted");
215 function CodeHighlightOff(elem, id)
217 var target = document.getElementById(id);
219 elem.classList.remove("code-highlighted");
220 target.classList.remove("code-highlighted");
229 <h1 class="title">Ham radio battery charger mod</h1>
230 <div id="table-of-contents">
231 <h2>Table of Contents</h2>
232 <div id="text-table-of-contents">
234 <li><a href="#org6c82e4b">1. General</a></li>
235 <li><a href="#orgc5c8965">2. Project description</a></li>
240 <div id="outline-container-org6c82e4b" class="outline-2">
241 <h2 id="org6c82e4b"><span class="section-number-2">1</span> General</h2>
242 <div class="outline-text-2" id="text-1">
244 <li>DISCLAIMER: I DO ELECTRONICS AND 3D DESIGN SOLELY AS A HOBBY. THERE
245 COULD BE ERRORS THAT CAN RESULT IN ALL KINDS OF DAMAGE. USE THESE
246 DESIGNS AT YOUR OWN RISK.</li>
248 <li>This design is released under Creative Commons Zero (CC0) license.</li>
252 <li>Svjatoslav Agejenko
254 <li>Homepage: <a href="https://svjatoslav.eu">https://svjatoslav.eu</a></li>
255 <li>Email: <a href="mailto://svjatoslav@svjatoslav.eu">svjatoslav@svjatoslav.eu</a></li>
258 <li>Valeria Agejenko</li>
263 <li><a href="../../index.html">Other physical projects in this repository</a></li>
264 <li><a href="https://www.svjatoslav.eu/projects/">Other projects hosted at svjatoslav.eu</a></li>
270 <div id="outline-container-orgc5c8965" class="outline-2">
271 <h2 id="orgc5c8965"><span class="section-number-2">2</span> Project description</h2>
272 <div class="outline-text-2" id="text-2">
274 Warning: this project is quite hacky. It requires breaking original
275 charger to get required critical charger part. Instructions are not
276 very detailed. Only describe the overall idea. Do not attempt to
277 reproduce this unless you exactly know what you are doing.
284 I have Baofeng GT-STP and Baofeng UV-82 radios. Their batteries have
285 slightly different geometry, so chargers are physically not
286 compatible. Also each changer comes with its own power adapter to plug
287 into wall power socket. Electrically batteries are apparently
292 By building this battery charger I solved 2 issues:
295 <li>It can charge batteries for both radios. Is physically and
296 electrically compatible to both models.</li>
297 <li>Wall adapter is no longer needed. Now it is powered by USB connector
302 <div id="orgef5e369" class="figure">
303 <p><img src="make.png" alt="make.png" />
308 Body ignores small physical differences between batteries and both can
313 <div id="org17d6a62" class="figure">
314 <p><img src="body.png" alt="body.png" />
319 Front side contains critical fragment of the original changer circuit
320 board to drive the actual battery charging.
324 <div id="orga02cdec" class="figure">
325 <p><img src="make, 1.png" alt="make, 1.png" />
330 Back side contains voltage upstep converter that is tuned to convert
331 5V USB input to 10V output that is required by the charger.
335 <div id="org0433379" class="figure">
336 <p><img src="make, 2.png" alt="make, 2.png" />
341 Voltage upstep converter can produce significant voltage
342 ripples/impulses that travel backwards to the power source and forward
343 to the changer. To reduce this effect, there are capacitors and
348 <div id="orgff0d03f" class="figure">
349 <p><img src="electrical.png" alt="electrical.png" />
354 Front and back sides are connected by wiring at the bottom. Also there
355 are screws to hold original Baofeng charger pins/springs that connect
360 <div id="orge59d24a" class="figure">
361 <p><img src="make, 3.png" alt="make, 3.png" />
366 After assembly is complete, back, front and bottom parts are sealed
367 with lid: <img src="cover.png" alt="cover.png" />
372 <div id="postamble" class="status">
373 <p class="author">Author: Svjatoslav Agejenko</p>
374 <p class="date">Created: 2021-04-11 Sun 21:46</p>
375 <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>