--- /dev/null
+<!doctype html>
+<html lang="en">
+<head>
+<title>Portable stereo speaker</title>
+<!-- 2020-04-12 P 23:58 -->
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta name="generator" content="Org-mode">
+<meta name="author" content="Svjatoslav Agejenko">
+<link href="https://bootswatch.com/3/darkly/bootstrap.min.css" rel="stylesheet">
+<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/js/bootstrap.min.js"></script>
+<style type="text/css">
+footer {background-color: #111 !important;}
+pre {background-color: #111; color: #ccc;}
+</style>
+<style type="text/css">
+/* org mode styles on top of twbs */
+
+html {
+ position: relative;
+ min-height: 100%;
+}
+
+body {
+ font-size: 18px;
+ margin-bottom: 105px;
+}
+
+footer {
+ position: absolute;
+ bottom: 0;
+ width: 100%;
+ height: 101px;
+ background-color: #f5f5f5;
+}
+
+footer > div {
+ padding: 10px;
+}
+
+footer p {
+ margin: 0 0 5px;
+ text-align: center;
+ font-size: 16px;
+}
+
+#table-of-contents {
+ margin-top: 20px;
+ margin-bottom: 20px;
+}
+
+blockquote p {
+ font-size: 18px;
+}
+
+pre {
+ font-size: 16px;
+}
+
+.footpara {
+ display: inline-block;
+}
+
+figcaption {
+ font-size: 16px;
+ color: #666;
+ font-style: italic;
+ padding-bottom: 15px;
+}
+
+/* from twbs docs */
+
+.bs-docs-sidebar.affix {
+ position: static;
+}
+@media (min-width: 768px) {
+ .bs-docs-sidebar {
+ padding-left: 20px;
+ }
+}
+
+/* All levels of nav */
+.bs-docs-sidebar .nav > li > a {
+ display: block;
+ padding: 4px 20px;
+ font-size: 14px;
+ font-weight: 500;
+ color: #999;
+}
+.bs-docs-sidebar .nav > li > a:hover,
+.bs-docs-sidebar .nav > li > a:focus {
+ padding-left: 19px;
+ color: #A1283B;
+ text-decoration: none;
+ background-color: transparent;
+ border-left: 1px solid #A1283B;
+}
+.bs-docs-sidebar .nav > .active > a,
+.bs-docs-sidebar .nav > .active:hover > a,
+.bs-docs-sidebar .nav > .active:focus > a {
+ padding-left: 18px;
+ font-weight: bold;
+ color: #A1283B;
+ background-color: transparent;
+ border-left: 2px solid #A1283B;
+}
+
+/* Nav: second level (shown on .active) */
+.bs-docs-sidebar .nav .nav {
+ display: none; /* Hide by default, but at >768px, show it */
+ padding-bottom: 10px;
+}
+.bs-docs-sidebar .nav .nav > li > a {
+ padding-top: 1px;
+ padding-bottom: 1px;
+ padding-left: 30px;
+ font-size: 12px;
+ font-weight: normal;
+}
+.bs-docs-sidebar .nav .nav > li > a:hover,
+.bs-docs-sidebar .nav .nav > li > a:focus {
+ padding-left: 29px;
+}
+.bs-docs-sidebar .nav .nav > .active > a,
+.bs-docs-sidebar .nav .nav > .active:hover > a,
+.bs-docs-sidebar .nav .nav > .active:focus > a {
+ padding-left: 28px;
+ font-weight: 500;
+}
+
+/* Nav: third level (shown on .active) */
+.bs-docs-sidebar .nav .nav .nav {
+ padding-bottom: 10px;
+}
+.bs-docs-sidebar .nav .nav .nav > li > a {
+ padding-top: 1px;
+ padding-bottom: 1px;
+ padding-left: 40px;
+ font-size: 12px;
+ font-weight: normal;
+}
+.bs-docs-sidebar .nav .nav .nav > li > a:hover,
+.bs-docs-sidebar .nav .nav .nav > li > a:focus {
+ padding-left: 39px;
+}
+.bs-docs-sidebar .nav .nav .nav > .active > a,
+.bs-docs-sidebar .nav .nav .nav > .active:hover > a,
+.bs-docs-sidebar .nav .nav .nav > .active:focus > a {
+ padding-left: 38px;
+ font-weight: 500;
+}
+
+/* Show and affix the side nav when space allows it */
+@media (min-width: 992px) {
+ .bs-docs-sidebar .nav > .active > ul {
+ display: block;
+ }
+ /* Widen the fixed sidebar */
+ .bs-docs-sidebar.affix,
+ .bs-docs-sidebar.affix-bottom {
+ width: 213px;
+ }
+ .bs-docs-sidebar.affix {
+ position: fixed; /* Undo the static from mobile first approach */
+ top: 20px;
+ }
+ .bs-docs-sidebar.affix-bottom {
+ position: absolute; /* Undo the static from mobile first approach */
+ }
+ .bs-docs-sidebar.affix .bs-docs-sidenav,.bs-docs-sidebar.affix-bottom .bs-docs-sidenav {
+ margin-top: 0;
+ margin-bottom: 0
+ }
+}
+@media (min-width: 1200px) {
+ /* Widen the fixed sidebar again */
+ .bs-docs-sidebar.affix-bottom,
+ .bs-docs-sidebar.affix {
+ width: 263px;
+ }
+}
+</style>
+<script type="text/javascript">
+$(function() {
+ 'use strict';
+
+ $('.bs-docs-sidebar li').first().addClass('active');
+
+ $(document.body).scrollspy({target: '.bs-docs-sidebar'});
+
+ $('.bs-docs-sidebar').affix();
+});
+</script>
+</head>
+<body>
+<div id="content" class="container">
+<div class="row"><div class="col-md-9"><h1 class="title">Portable stereo speaker</h1>
+
+<div id="outline-container-sec-1" class="outline-2">
+<h2 id="sec-1"><span class="section-number-2">1</span> General</h2>
+<div class="outline-text-2" id="text-1">
+<ul class="org-ul">
+<li>DISCLAIMER: I DO ELECTRONICS AND 3D DESIGN SOLELY AS A HOBBY. THERE
+COULD BE ERRORS THAT CAN RESULT IN ALL KINDS OF DAMAGE. USE THESE
+DESIGNS AT YOUR OWN RISK.
+</li>
+
+<li>This design is released under Creative Commons Zero (CC0) license.
+</li>
+
+<li>Author:
+<ul class="org-ul">
+<li>Svjatoslav Agejenko
+</li>
+<li>Homepage: <a href="https://svjatoslav.eu">https://svjatoslav.eu</a>
+</li>
+<li>Email: <a href="mailto://svjatoslav@svjatoslav.eu">svjatoslav@svjatoslav.eu</a>
+</li>
+</ul>
+</li>
+
+<li>See also:
+<ul class="org-ul">
+<li><a href="../../index.html">Other physical projects in this repository</a>
+</li>
+<li><a href="https://www.svjatoslav.eu/projects/">Other projects hosted at svjatoslav.eu</a>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+
+<div id="outline-container-sec-2" class="outline-2">
+<h2 id="sec-2"><span class="section-number-2">2</span> Project description</h2>
+<div class="outline-text-2" id="text-2">
+<p>
+I had pair of good compact stereo speakers lying uselessly around as
+well as secondhand TDA2030 Chinese knockoff audio amplifier chips.
+Also I wanted to test modular construction approach: motherboard with
+shared bus and functionality realized via pluggable modules. So I
+built stereo speaker:
+</p>
+
+
+<figure>
+<p><img src="make.png" class="img-responsive" alt="make.png">
+</p>
+</figure>
+
+<p>
+Indicator on the front panel shows available power within the
+system. Ideally it should be at the maximum. It drops when batteries
+run empty or when consumed power (too loud music) is greater than
+onboard power supply or batteries can handle. It has on/off switch and
+stereo audio input. Audio input impedance is about 100 ohms.
+</p>
+
+
+<figure>
+<p><img src="make,%20side.png" class="img-responsive" alt="make,%20side.png">
+</p>
+</figure>
+
+<p>
+Idea for the holes on the top and smaller ones on the bottom back is
+to enable air flow for passive cooling.
+</p>
+
+
+<figure>
+<p><img src="make,%20back.png" class="img-responsive" alt="make,%20back.png">
+</p>
+</figure>
+
+<p>
+Entire construction is made of parts, no larger than
+120x120x120mm. Maximum for my printer.
+</p>
+</div>
+</div>
+
+<div id="outline-container-sec-3" class="outline-2">
+<h2 id="sec-3"><span class="section-number-2">3</span> Battery holder</h2>
+<div class="outline-text-2" id="text-3">
+<p>
+Device is powered by 4 times AA NiMH batteries (1.2V each).
+</p>
+
+
+<figure>
+<p><img src="battery%20holder/schematic.png" class="img-responsive" alt="schematic.png">
+</p>
+</figure>
+
+<p>
+I happened to have AA battery adapters lying around with different
+bottom hole configurations. Therefore this weird hole design:
+</p>
+
+
+<figure>
+<p><img src="battery%20holder/battery%20holder.png" class="img-responsive" alt="battery%20holder.png">
+</p>
+</figure>
+
+<p>
+Download:
+</p>
+<ul class="org-ul">
+<li><a href="battery%20holder/battery%20holder.FCStd">FreeCAD file</a>
+</li>
+<li><a href="battery%20holder/battery%20holder.stl">STL file</a>
+</li>
+</ul>
+
+<p>
+Result:
+<img src="battery%20holder/make.png" class="img-responsive" alt="make.png">
+</p>
+
+<p>
+Attaches to the back of the body:
+<img src="battery%20holder/mounted%20on%20the%20back.png" class="img-responsive" alt="mounted%20on%20the%20back.png">
+</p>
+</div>
+</div>
+
+<div id="outline-container-sec-4" class="outline-2">
+<h2 id="sec-4"><span class="section-number-2">4</span> 20V up-step module</h2>
+<div class="outline-text-2" id="text-4">
+<p>
+Battery pack voltage is routed through main on/off switch on the front
+panel, and then it goes to the 20V up-step module.
+</p>
+
+
+<figure>
+<p><img src="20V%20upstep%20module/schematic.png" class="img-responsive" alt="schematic.png">
+</p>
+</figure>
+
+<p>
+It uses ready made upstep module, but adds extra voltage filtering via
+inductor and capacitors.
+</p>
+
+
+<figure>
+<p><img src="20V%20upstep%20module/make.png" class="img-responsive" alt="make.png">
+</p>
+</figure>
+</div>
+</div>
+
+<div id="outline-container-sec-5" class="outline-2">
+<h2 id="sec-5"><span class="section-number-2">5</span> Main board</h2>
+<div class="outline-text-2" id="text-5">
+<p>
+Voltage upstep above sits on top of main board (motherboard). It has
+uniform central bus that spans all connectors.
+</p>
+
+
+<figure>
+<p><img src="main%20board/internal%20bus.png" class="img-responsive" alt="internal%20bus.png">
+</p>
+</figure>
+
+
+<figure>
+<p><img src="main%20board/bus%20on%20the%20bottom,%202.png" class="img-responsive" alt="bus%20on%20the%20bottom,%202.png">
+</p>
+</figure>
+
+<p>
+First row of the main board is special IO terminal (for connecting
+speakers, front panel, etc..)
+</p>
+
+
+<figure>
+<p><img src="main%20board/IO%20terminal.png" class="img-responsive" alt="IO%20terminal.png">
+</p>
+</figure>
+
+<p>
+Remaining rows are for connecting boards:
+</p>
+
+
+<figure>
+<p><img src="main%20board/1.png" class="img-responsive" alt="1.png">
+</p>
+</figure>
+
+<p>
+To provide structural support, main board is attached to frame:
+</p>
+
+
+<figure>
+<p><img src="main%20board/board%20fixator%20body.png" class="img-responsive" alt="board%20fixator%20body.png">
+</p>
+</figure>
+
+<p>
+Download:
+</p>
+<ul class="org-ul">
+<li><a href="main%20board/board%20fixator%20body.FCStd">FreeCAD file</a>
+</li>
+<li><a href="main%20board/board%20fixator%20body.stl">STL file</a>
+</li>
+</ul>
+
+<p>
+And boards plugged into main board are fixed at the top, using clip:
+</p>
+
+
+<figure>
+<p><img src="main%20board/board%20fixator%20top%20clip.png" class="img-responsive" alt="board%20fixator%20top%20clip.png">
+</p>
+</figure>
+
+<p>
+Download:
+</p>
+<ul class="org-ul">
+<li><a href="main%20board/board%20fixator%20top%20clip.FCStd">FreeCAD file</a>
+</li>
+<li><a href="main%20board/board%20fixator%20top%20clip.stl">STL file</a>
+</li>
+</ul>
+
+<p>
+Result:
+</p>
+
+
+<figure>
+<p><img src="main%20board/bus%20on%20the%20bottom,%201.png" class="img-responsive" alt="bus%20on%20the%20bottom,%201.png">
+</p>
+</figure>
+
+
+<figure>
+<p><img src="main%20board/board%20fixator.png" class="img-responsive" alt="board%20fixator.png">
+</p>
+</figure>
+</div>
+</div>
+
+<div id="outline-container-sec-6" class="outline-2">
+<h2 id="sec-6"><span class="section-number-2">6</span> Mono audio amplifier module</h2>
+<div class="outline-text-2" id="text-6">
+<p>
+Design uses scavenged secondhand Chinese TDA2030 audio amp
+clones. Each chip is mono audio amplifier. Therefore 2 almost
+identical audio amp modules had to be built, one for left speaker, one
+for right.
+</p>
+
+
+<figure>
+<p><img src="mono%20audio%20amp%20module/schematic.png" class="img-responsive" alt="schematic.png">
+</p>
+</figure>
+
+<p>
+I like to build on top of prototype PCBs. Gives results much faster
+for one-off projects. Before soldering, I solve component layout on
+paper:
+</p>
+
+
+<figure>
+<p><img src="mono%20audio%20amp%20module/PCB%20layout.png" class="img-responsive" alt="PCB%20layout.png">
+</p>
+</figure>
+
+<p>
+Result - front:
+</p>
+
+
+<figure>
+<p><img src="mono%20audio%20amp%20module/assembled%20front.png" class="img-responsive" alt="assembled%20front.png">
+</p>
+</figure>
+
+<p>
+Result - back:
+</p>
+
+
+<figure>
+<p><img src="mono%20audio%20amp%20module/assembled%20back.png" class="img-responsive" alt="assembled%20back.png">
+</p>
+</figure>
+
+<p>
+Here copper tape is used as improvised heatsink.
+</p>
+</div>
+</div>
+
+<div id="outline-container-sec-7" class="outline-2">
+<h2 id="sec-7"><span class="section-number-2">7</span> Speakers</h2>
+<div class="outline-text-2" id="text-7">
+<p>
+High frequency small speaker and medium frequency bigger speaker are
+combined.
+</p>
+
+
+<figure>
+<p><img src="speakers/schematic.png" class="img-responsive" alt="schematic.png">
+</p>
+</figure>
+
+<p>
+Capacitor acts as high-pass filter on top of tiny PCB:
+</p>
+
+
+<figure>
+<p><img src="speakers/PCB%20layout.png" class="img-responsive" alt="PCB%20layout.png">
+</p>
+</figure>
+
+<p>
+Speaker enclosure:
+</p>
+
+
+<figure>
+<p><img src="speakers/speaker%20enclosure.png" class="img-responsive" alt="speaker%20enclosure.png">
+</p>
+</figure>
+
+<p>
+Download:
+</p>
+<ul class="org-ul">
+<li><a href="speakers/speaker%20enclosure.FCStd">FreeCAD file</a>
+</li>
+<li><a href="speakers/speaker%20enclosure.stl">STL file</a>
+</li>
+</ul>
+
+<p>
+Speaker enclosure cover:
+</p>
+
+
+<figure>
+<p><img src="speakers/speaker%20enclosure%20cover.png" class="img-responsive" alt="speaker%20enclosure%20cover.png">
+</p>
+</figure>
+
+<p>
+Download:
+</p>
+<ul class="org-ul">
+<li><a href="speakers/speaker%20enclosure%20cover.FCStd">FreeCAD file</a>
+</li>
+<li><a href="speakers/speaker%20enclosure%20cover.stl">STL file</a>
+</li>
+</ul>
+
+<p>
+Result:
+</p>
+
+
+<figure>
+<p><img src="speakers/make.png" class="img-responsive" alt="make.png">
+</p>
+</figure>
+</div>
+</div>
+
+<div id="outline-container-sec-8" class="outline-2">
+<h2 id="sec-8"><span class="section-number-2">8</span> Front panel</h2>
+<div class="outline-text-2" id="text-8">
+<p>
+Initial idea was really simple panel:
+</p>
+<ul class="org-ul">
+<li>on/off switch
+</li>
+<li>system power indicator
+</li>
+<li>stereo audio input
+</li>
+</ul>
+
+<p>
+But, since I'm using "agile" approach, during load-testing, it become
+clear that active fan based cooling would be nice (when playing loud
+music). I found tiny cooler fan that needs 5 volts to operate. Also I
+need to power backlight for power indicator. For both of these cases,
+I decided to add another voltage up-step module (target voltage output
+set to 6V). This time directly on the front panel.
+</p>
+
+
+<figure>
+<p><img src="front%20panel/schematic.png" class="img-responsive" alt="schematic.png">
+</p>
+</figure>
+
+<p>
+Front panel case:
+</p>
+
+
+<figure>
+<p><img src="front%20panel/front%20panel,%20front.png" class="img-responsive" alt="front%20panel,%20front.png">
+</p>
+</figure>
+
+
+<figure>
+<p><img src="front%20panel/front%20panel,%20back.png" class="img-responsive" alt="front%20panel,%20back.png">
+</p>
+</figure>
+
+<p>
+Electronics fits inside:
+</p>
+
+
+<figure>
+<p><img src="front%20panel/front%20panel,%20back,%20make.png" class="img-responsive" alt="front%20panel,%20back,%20make.png">
+</p>
+</figure>
+
+<p>
+Front view:
+</p>
+
+
+<figure>
+<p><img src="front%20panel/front%20panel,%20front,%20make.png" class="img-responsive" alt="front%20panel,%20front,%20make.png">
+</p>
+</figure>
+
+<p>
+And attaches to the remaining components:
+</p>
+
+
+<figure>
+<p><img src="front%20panel/attachment.png" class="img-responsive" alt="attachment.png">
+</p>
+</figure>
+</div>
+</div>
+
+
+<div id="outline-container-sec-9" class="outline-2">
+<h2 id="sec-9"><span class="section-number-2">9</span> Extra capacitors</h2>
+<div class="outline-text-2" id="text-9">
+<p>
+Another thing that become clear during load-testing: output
+power/volume can be further enhanced by adding high power capacitors
+to even out load on primary 20V up-step module.
+</p>
+
+
+<figure>
+<p><img src="extra%20capacitors/extra%20caps.png" class="img-responsive" alt="extra%20caps.png">
+</p>
+</figure>
+
+<p>
+Download:
+</p>
+<ul class="org-ul">
+<li><a href="extra%20capacitors/extra%20caps.FCStd">FreeCAD project</a>
+</li>
+<li><a href="extra%20capacitors/extra%20caps.stl">STL file</a>
+</li>
+</ul>
+
+<p>
+Extra caps are mounted on top of the speaker and electrically attached
+to the main board.
+</p>
+
+
+<figure>
+<p><img src="extra%20capacitors/make.png" class="img-responsive" alt="make.png">
+</p>
+</figure>
+</div>
+</div>
+
+<div id="outline-container-sec-10" class="outline-2">
+<h2 id="sec-10"><span class="section-number-2">10</span> Center box</h2>
+<div class="outline-text-2" id="text-10">
+<p>
+Last physical part, to attach it all together: central body.
+</p>
+
+<p>
+Front:
+<img src="center%20box/front.png" class="img-responsive" alt="front.png">
+</p>
+
+<p>
+Back:
+<img src="center%20box/back.png" class="img-responsive" alt="back.png">
+</p>
+
+<p>
+Download:
+</p>
+<ul class="org-ul">
+<li><a href="center%20box/center%20box.FCStd">FreeCAD file</a>
+</li>
+<li><a href="center%20box/center%20box.stl">STL file</a>
+</li>
+</ul>
+</div>
+</div>
+
+
+<div id="outline-container-sec-11" class="outline-2">
+<h2 id="sec-11"><span class="section-number-2">11</span> Conclusions / TODO</h2>
+<div class="outline-text-2" id="text-11">
+<p>
+These things could be done better:
+</p>
+
+<ul class="org-ul">
+<li>Instead of using undersized heatsinks on the audio amplifiers and
+need for active cooling as a consequence, it would be better to try
+to mount audio amplifier chip on top of speaker metallic body. It
+would provide plenty of cooling and reduces power losses within
+cable, since amplifier would be as close to the speaker as possible.
+</li>
+
+<li>I used agile design. That is, implemented functionality ad-hoc. If I
+had done design in advance, then I could have had smarter connector
+layout between main board and front panel. That is: Instead of
+multiple smaller cables, one wide (multi connector) cable.
+</li>
+
+<li>Screw holes are too close to the edges on the front panel.
+</li>
+
+<li>It would be better if screw heads were slightly buried within
+construction body.
+</li>
+</ul>
+
+
+<p>
+Overall, it was good learning experience and I was able to test
+various ideas on it. Will add cooler later :)
+</p>
+
+
+<p>
+Photo of initial PSU + audio amp test:
+</p>
+
+
+<figure>
+<p><img src="initial%20test.png" class="img-responsive" alt="initial%20test.png">
+</p>
+</figure>
+</div>
+</div>
+</div><div class="col-md-3"><nav id="table-of-contents">
+<div id="text-table-of-contents" class="bs-docs-sidebar">
+<ul class="nav">
+<li><a href="#sec-1">1. General</a></li>
+<li><a href="#sec-2">2. Project description</a></li>
+<li><a href="#sec-3">3. Battery holder</a></li>
+<li><a href="#sec-4">4. 20V up-step module</a></li>
+<li><a href="#sec-5">5. Main board</a></li>
+<li><a href="#sec-6">6. Mono audio amplifier module</a></li>
+<li><a href="#sec-7">7. Speakers</a></li>
+<li><a href="#sec-8">8. Front panel</a></li>
+<li><a href="#sec-9">9. Extra capacitors</a></li>
+<li><a href="#sec-10">10. Center box</a></li>
+<li><a href="#sec-11">11. Conclusions / TODO</a></li>
+</ul>
+</div>
+</nav>
+</div></div></div>
+<footer id="postamble" class="">
+<div><p class="author">Author: Svjatoslav Agejenko</p>
+<p class="date">Created: 2020-04-12 P 23:58</p>
+<p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 26.1 (<a href="http://orgmode.org">Org-mode</a> 9.1.9)</p>
+</div>
+</footer>
+</body>
+</html>
--- /dev/null
+#+TITLE: Portable stereo speaker
+#+AUTHOR: Svjatoslav Agejenko
+#+LANGUAGE: en
+
+* (document settings) :noexport:
+** use dark style for TWBS-HTML exporter
+#+HTML_HEAD: <link href="https://bootswatch.com/3/darkly/bootstrap.min.css" rel="stylesheet">
+#+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+#+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/js/bootstrap.min.js"></script>
+#+HTML_HEAD: <style type="text/css">
+#+HTML_HEAD: footer {background-color: #111 !important;}
+#+HTML_HEAD: pre {background-color: #111; color: #ccc;}
+#+HTML_HEAD: </style>
+
+* General
++ DISCLAIMER: I DO ELECTRONICS AND 3D DESIGN SOLELY AS A HOBBY. THERE
+ COULD BE ERRORS THAT CAN RESULT IN ALL KINDS OF DAMAGE. USE THESE
+ DESIGNS AT YOUR OWN RISK.
+
++ This design is released under Creative Commons Zero (CC0) license.
+
++ Author:
+ - Svjatoslav Agejenko
+ - Homepage: https://svjatoslav.eu
+ - Email: [[mailto://svjatoslav@svjatoslav.eu][svjatoslav@svjatoslav.eu]]
+
++ See also:
+ - [[../../index.html][Other physical projects in this repository]]
+ - [[https://www.svjatoslav.eu/projects/][Other projects hosted at svjatoslav.eu]]
+
+* Project description
+I had pair of good compact stereo speakers lying uselessly around as
+well as secondhand TDA2030 Chinese knockoff audio amplifier chips.
+Also I wanted to test modular construction approach: motherboard with
+shared bus and functionality realized via pluggable modules. So I
+built stereo speaker:
+
+[[file:make.png]]
+
+Indicator on the front panel shows available power within the
+system. Ideally it should be at the maximum. It drops when batteries
+run empty or when consumed power (too loud music) is greater than
+onboard power supply or batteries can handle. It has on/off switch and
+stereo audio input. Audio input impedance is about 100 ohms.
+
+[[file:make,%20side.png]]
+
+Idea for the holes on the top and smaller ones on the bottom back is
+to enable air flow for passive cooling.
+
+[[file:make,%20back.png]]
+
+Entire construction is made of parts, no larger than
+120x120x120mm. Maximum for my printer.
+
+* Battery holder
+Device is powered by 4 times AA NiMH batteries (1.2V each).
+
+[[file:battery%20holder/schematic.png]]
+
+I happened to have AA battery adapters lying around with different
+bottom hole configurations. Therefore this weird hole design:
+
+[[file:battery%20holder/battery%20holder.png]]
+
+Download:
++ [[file:battery%20holder/battery%20holder.FCStd][FreeCAD file]]
++ [[file:battery%20holder/battery%20holder.stl][STL file]]
+
+Result:
+[[file:battery%20holder/make.png]]
+
+Attaches to the back of the body:
+[[file:battery%20holder/mounted%20on%20the%20back.png]]
+
+* 20V up-step module
+Battery pack voltage is routed through main on/off switch on the front
+panel, and then it goes to the 20V up-step module.
+
+[[file:20V%20upstep%20module/schematic.png]]
+
+It uses ready made upstep module, but adds extra voltage filtering via
+inductor and capacitors.
+
+[[file:20V%20upstep%20module/make.png]]
+
+* Main board
+
+Voltage upstep above sits on top of main board (motherboard). It has
+uniform central bus that spans all connectors.
+
+[[file:main%20board/internal%20bus.png]]
+
+[[file:main%20board/bus%20on%20the%20bottom,%202.png]]
+
+First row of the main board is special IO terminal (for connecting
+speakers, front panel, etc..)
+
+[[file:main%20board/IO%20terminal.png]]
+
+Remaining rows are for connecting boards:
+
+[[file:main%20board/1.png]]
+
+To provide structural support, main board is attached to frame:
+
+[[file:main%20board/board%20fixator%20body.png]]
+
+Download:
++ [[file:main%20board/board%20fixator%20body.FCStd][FreeCAD file]]
++ [[file:main%20board/board%20fixator%20body.stl][STL file]]
+
+And boards plugged into main board are fixed at the top, using clip:
+
+[[file:main%20board/board%20fixator%20top%20clip.png]]
+
+Download:
++ [[file:main%20board/board%20fixator%20top%20clip.FCStd][FreeCAD file]]
++ [[file:main%20board/board%20fixator%20top%20clip.stl][STL file]]
+
+Result:
+
+[[file:main%20board/bus%20on%20the%20bottom,%201.png]]
+
+[[file:main%20board/board%20fixator.png]]
+
+* Mono audio amplifier module
+
+Design uses scavenged secondhand Chinese TDA2030 audio amp
+clones. Each chip is mono audio amplifier. Therefore 2 almost
+identical audio amp modules had to be built, one for left speaker, one
+for right.
+
+[[file:mono%20audio%20amp%20module/schematic.png]]
+
+I like to build on top of prototype PCBs. Gives results much faster
+for one-off projects. Before soldering, I solve component layout on
+paper:
+
+[[file:mono%20audio%20amp%20module/PCB%20layout.png]]
+
+Result - front:
+
+[[file:mono%20audio%20amp%20module/assembled%20front.png]]
+
+Result - back:
+
+[[file:mono%20audio%20amp%20module/assembled%20back.png]]
+
+Here copper tape is used as improvised heatsink.
+
+* Speakers
+
+High frequency small speaker and medium frequency bigger speaker are
+combined.
+
+[[file:speakers/schematic.png]]
+
+Capacitor acts as high-pass filter on top of tiny PCB:
+
+[[file:speakers/PCB%20layout.png]]
+
+Speaker enclosure:
+
+[[file:speakers/speaker%20enclosure.png]]
+
+Download:
++ [[file:speakers/speaker%20enclosure.FCStd][FreeCAD file]]
++ [[file:speakers/speaker%20enclosure.stl][STL file]]
+
+Speaker enclosure cover:
+
+[[file:speakers/speaker%20enclosure%20cover.png]]
+
+Download:
++ [[file:speakers/speaker%20enclosure%20cover.FCStd][FreeCAD file]]
++ [[file:speakers/speaker%20enclosure%20cover.stl][STL file]]
+
+Result:
+
+[[file:speakers/make.png]]
+
+* Front panel
+
+Initial idea was really simple panel:
++ on/off switch
++ system power indicator
++ stereo audio input
+
+But, since I'm using "agile" approach, during load-testing, it become
+clear that active fan based cooling would be nice (when playing loud
+music). I found tiny cooler fan that needs 5 volts to operate. Also I
+need to power backlight for power indicator. For both of these cases,
+I decided to add another voltage up-step module (target voltage output
+set to 6V). This time directly on the front panel.
+
+[[file:front%20panel/schematic.png]]
+
+Front panel case:
+
+[[file:front%20panel/front%20panel,%20front.png]]
+
+[[file:front%20panel/front%20panel,%20back.png]]
+
+Electronics fits inside:
+
+[[file:front%20panel/front%20panel,%20back,%20make.png]]
+
+Front view:
+
+[[file:front%20panel/front%20panel,%20front,%20make.png]]
+
+And attaches to the remaining components:
+
+[[file:front%20panel/attachment.png]]
+
+
+* Extra capacitors
+Another thing that become clear during load-testing: output
+power/volume can be further enhanced by adding high power capacitors
+to even out load on primary 20V up-step module.
+
+[[file:extra%20capacitors/extra%20caps.png]]
+
+Download:
++ [[file:extra%20capacitors/extra%20caps.FCStd][FreeCAD project]]
++ [[file:extra%20capacitors/extra%20caps.stl][STL file]]
+
+Extra caps are mounted on top of the speaker and electrically attached
+to the main board.
+
+[[file:extra%20capacitors/make.png]]
+
+* Center box
+
+Last physical part, to attach it all together: central body.
+
+Front:
+[[file:center%20box/front.png]]
+
+Back:
+[[file:center%20box/back.png]]
+
+Download:
++ [[file:center%20box/center%20box.FCStd][FreeCAD file]]
++ [[file:center%20box/center%20box.stl][STL file]]
+
+
+* Conclusions / TODO
+
+These things could be done better:
+
++ Instead of using undersized heatsinks on the audio amplifiers and
+ need for active cooling as a consequence, it would be better to try
+ to mount audio amplifier chip on top of speaker metallic body. It
+ would provide plenty of cooling and reduces power losses within
+ cable, since amplifier would be as close to the speaker as possible.
+
++ I used agile design. That is, implemented functionality ad-hoc. If I
+ had done design in advance, then I could have had smarter connector
+ layout between main board and front panel. That is: Instead of
+ multiple smaller cables, one wide (multi connector) cable.
+
++ Screw holes are too close to the edges on the front panel.
+
++ It would be better if screw heads were slightly buried within
+ construction body.
+
+
+Overall, it was good learning experience and I was able to test
+various ideas on it. Will add cooler later :)
+
+
+Photo of initial PSU + audio amp test:
+
+[[file:initial%20test.png]]