tag:blogger.com,1999:blog-61005111978055797962024-03-14T19:48:49.998+01:00Davide Gironi blogDavide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.comBlogger220125tag:blogger.com,1999:blog-6100511197805579796.post-60589526936756560182024-03-05T20:31:00.001+01:002024-03-05T20:32:29.371+01:00Vintage IBM 5160 Schrack Elektronik 130W PSU repair<div style="text-align: center;"><iframe width="560" height="315" src="https://www.youtube.com/embed/EzM33ndokVQ?si=80mhf-7Fz5zo6oHK" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div><p>I've restored an <b>IBM 5160</b> XT vintage PC (<a href="https://davidegironi.blogspot.com/2023/12/vintage-ibm-5160-xt-pc-restoration.html">https://davidegironi.blogspot.com/2023/12/vintage-ibm-5160-xt-pc-restoration.html</a>).</p><p>It's based on <b>MS-DOS 3.3</b>, sometimes I boot it up, just to check if it works. After a few month the boot process ends up with an error. It seems the <b>25Mb Hard Drive</b> has not been recognized, so the O.S. it's not been loaded. The only way to boot it is to turn the PC off and on a few times within minutes.</p><p>The first thing I've done was to investigate the Hard Drive. I though it was a problem related to capacitors on the Hard Drive electronic. Soon I've realized it has nothing to do with this. Indeed the power lines of the supply are heavily out from recommendation.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZDk_hSFp-Tv_SqHrzOJkHusd1oBQhGpRN-VAi_pOvdFqStFh5kHWSn-mxhhkFOrxT1x5gvYny3G0ijlGVcBEbzMNO8myLRoFP21QrNug5Z4U_bSPr-ypxIydf1lx9xIRqh0WtjR913ecXyWulv5IpIfWEavJZ9F2VxsveXw5QtBoRhufbpCmMwXd3CUY/s1000/Schrack_Elektronik_EG07168-E_PSU.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZDk_hSFp-Tv_SqHrzOJkHusd1oBQhGpRN-VAi_pOvdFqStFh5kHWSn-mxhhkFOrxT1x5gvYny3G0ijlGVcBEbzMNO8myLRoFP21QrNug5Z4U_bSPr-ypxIydf1lx9xIRqh0WtjR913ecXyWulv5IpIfWEavJZ9F2VxsveXw5QtBoRhufbpCmMwXd3CUY/s320/Schrack_Elektronik_EG07168-E_PSU.jpg" width="320" /></a></div><p></p><p>With PSU disconnected I get</p><p></p><ul style="text-align: left;"><li>+9.7V (on the +12V line)</li><li>+4.7V (on the +5V line)</li></ul><p></p><p>With all connected (and PC powered on)</p><p></p><ul style="text-align: left;"><li>+10.5V (on the +12V line)</li><li>+4.4V (on the +5V line)</li></ul><p></p><p>Negative lines are ok.</p><p>I've posted an help request on <b>vcfed forum</b>, <a href="https://forum.vcfed.org/index.php?threads/ibm5160-psu-output-voltage-issue.1244144/">https://forum.vcfed.org/index.php?threads/ibm5160-psu-output-voltage-issue.1244144/</a>. With the help on people of the forum I've learn that usually that era PSU has to be loaded to pull out the correct voltage. But even loading it does not help, this means the IBM loads are ok (motherboard and peripherals).</p><p>So I disassembly the supply on my bench and start the repairing adventure.</p><p>My supply is a 130W IBM 5160 <b>Schrack Elektronik EG07168-E PSU</b>.</p><p>First step was to check capacitors, they are all ok. I've even momentarily replaced those with new one. Nothing helps.</p><p>I've then posted an help request on the more specialized forum, the <b>eevblog forum</b>: <a href="https://www.eevblog.com/forum/repair/vintage-130w-ibm5160-schrack-elektronik-eg07168-e-psu-repair/">https://www.eevblog.com/forum/repair/vintage-130w-ibm5160-schrack-elektronik-eg07168-e-psu-repair/</a>.</p><p>People on the forum guide me on tests. During tests I've made a <b>giant wiring mistake</b> putting the mains on the DC rectified high voltage input of the PSU. Luckily I've "just" fried the BUT11A main switching transistor and the input 2.7ohm resistors. I've then <b>replaced the main transistors and input resistors</b> but this not fix my under voltage issue, it works again but the issue is still there.</p><p>Diodes also seems ok.</p><p>It's pretty difficult to check this board cause I'm not an expert in swathing PSU and also there is no schematic available. I've ask Schrack for a schematic without luck.</p><p>There's a "mysterious" board on this PCU, which have some <b>SMD component</b>, and it seems double sided with <i>carbon printed resistors</i>. I try to reverse engineer it. It seems this board is the one that drive the switching of the transistors, and so the output voltage.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUjzvMYoyVw9MOKqmutLLh6dHk4De1DQkDUHKEcEzSkz6yO70z_S0xf7Aip4H6hDD5styA-2i9Yza0SWA0O1nEM7KZmDDipsOBv3H_V_Tm_cx7S8fA4s6cBaRFxb_iJmIi6kCCQNh6GU3y-l5gelMkuDasAKNFLp1g8EIBjcbvNZ4RsWNuE2gtYcv80BA/s1000/Schrack_Elektronik_PSU_SMD_board.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="666" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUjzvMYoyVw9MOKqmutLLh6dHk4De1DQkDUHKEcEzSkz6yO70z_S0xf7Aip4H6hDD5styA-2i9Yza0SWA0O1nEM7KZmDDipsOBv3H_V_Tm_cx7S8fA4s6cBaRFxb_iJmIi6kCCQNh6GU3y-l5gelMkuDasAKNFLp1g8EIBjcbvNZ4RsWNuE2gtYcv80BA/s320/Schrack_Elektronik_PSU_SMD_board.jpg" width="213" /></a></div><p></p><p>Also I've try to <b>reverse engineer</b> the output stage of this PSU. It's difficult cause there are unbranded inductors with multiple wires and without de soldering it or experience on switching supply, drawing the schematic of the board can be difficult.</p><p>Then the <b>turning point</b>. I try to heat the board up. <b>Heating</b> the "mysterious" SMD board makes the output voltage decrease, and it makes sense looking at my reverse engineered schematic.</p><p>The heating test effect, in conjunction with the help on the eevblog forum post helps me finding the issue. It was all related to the <b>1N823 thermally compensated zener diode</b> mounted on the SMD board.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg36ImeuBpBeCMO8z_3AzuBYgNHdxaQzmdDtL9PgGdktENzRQX3-gnWkluUYfbCeDyHnqM-RfS7ib-WIWyxRkb9LylGtTqNlZ9Cs_pCfm8nKpnPhMVX-05KBcnHvuMUivlbsx7p235tbnlnHEbbZu5mz257onHh4laYy02B6a6VtshfsUdgUA1OdVDPJ8/s1000/IBM_schrack_PSU_repair_notworking_diode.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="563" data-original-width="1000" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg36ImeuBpBeCMO8z_3AzuBYgNHdxaQzmdDtL9PgGdktENzRQX3-gnWkluUYfbCeDyHnqM-RfS7ib-WIWyxRkb9LylGtTqNlZ9Cs_pCfm8nKpnPhMVX-05KBcnHvuMUivlbsx7p235tbnlnHEbbZu5mz257onHh4laYy02B6a6VtshfsUdgUA1OdVDPJ8/s320/IBM_schrack_PSU_repair_notworking_diode.jpg" width="320" /></a></div><br />I've changed it with a standard <b>1N4735A 6.2V zener diode</b> and the voltage goes back to nominal values. Heating it up does not makes the voltage changes too much, so I'm happy with that diode. Below the testing diode, later I've soldered it in a better way.<p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1MkHj6oZMBquapuCLxtMbqgKh0_3_zjHp0n69_1Z_PRo_IAtOnnmQRWmvt_6vcNxVF1XsSArnAUB0djf-K6_7AwFXLNtRkGDOBweTO1m_pQfw5iDU6iciCSw-z2F88XRMtkOM8LxR5hZagjqumHV32TOkP5u-toNQrD-HSR6zAdpoq0EUx1BRTcHaqFg/s1000/IBM_schrack_PSU_repair_temporary_zener_6.2V.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="750" data-original-width="1000" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1MkHj6oZMBquapuCLxtMbqgKh0_3_zjHp0n69_1Z_PRo_IAtOnnmQRWmvt_6vcNxVF1XsSArnAUB0djf-K6_7AwFXLNtRkGDOBweTO1m_pQfw5iDU6iciCSw-z2F88XRMtkOM8LxR5hZagjqumHV32TOkP5u-toNQrD-HSR6zAdpoq0EUx1BRTcHaqFg/s320/IBM_schrack_PSU_repair_temporary_zener_6.2V.jpg" width="320" /></a></div><p></p><p><b>Fixed issue</b>. After reassembly all the things the Hard Drive keep working again, and the PC can now boot.</p><p>Find the complete story on the eevblog forum. Again thanks to the help of people on the eevblog forum and vcfed forum this IBM vintage PC is working again.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih8v3ytV-jzO6m-su3BjDCUHyqJCY4S-v0p92vzOkB0HxgbfaXc9KRE5o9pMwv57x68Xvqkk35e0LMzx5tlPiVuutgZpqAzy6vB5ujxqYNt2M5kUHpOFgKib_5R9hmDEBE0osJj76E7KGvsfzyN0P1cF3H1liFFgpETEGsoVQJi_Kof3NPxFGSEL0smfA/s1000/IBM_PSU_schrack_voltage_test_bench_12V.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="750" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih8v3ytV-jzO6m-su3BjDCUHyqJCY4S-v0p92vzOkB0HxgbfaXc9KRE5o9pMwv57x68Xvqkk35e0LMzx5tlPiVuutgZpqAzy6vB5ujxqYNt2M5kUHpOFgKib_5R9hmDEBE0osJj76E7KGvsfzyN0P1cF3H1liFFgpETEGsoVQJi_Kof3NPxFGSEL0smfA/s320/IBM_PSU_schrack_voltage_test_bench_12V.jpg" width="240" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilj_gO7AwLjEHXskaho_6I_PfSvreMoDe3s_JDXH4WRUMWYmTduivfLMkMrguufFPVNZw_acgz8yrClDmHKxvywk2qF_Y4Wvm_iTBHHYGYFmVsksTOF9_3PiqEXsIWga2-se594djDTqY_BJOmZUxfA1hQ91smqDfviLPO3Alu6xEeD2l0tOelYJwzFz8/s1333/IBM_PSU_schrack_voltage_test_bench_5V.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1333" data-original-width="1000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilj_gO7AwLjEHXskaho_6I_PfSvreMoDe3s_JDXH4WRUMWYmTduivfLMkMrguufFPVNZw_acgz8yrClDmHKxvywk2qF_Y4Wvm_iTBHHYGYFmVsksTOF9_3PiqEXsIWga2-se594djDTqY_BJOmZUxfA1hQ91smqDfviLPO3Alu6xEeD2l0tOelYJwzFz8/s320/IBM_PSU_schrack_voltage_test_bench_5V.jpg" width="240" /></a></div><p><b>Notes</b></p><ul><li>read risk disclaimer</li><li>excuse my bad english</li></ul><p> </p>Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-36864650567846982292024-02-09T08:02:00.002+01:002024-02-09T08:03:24.198+01:00USB to serial adapter to transfer files from a modern to a vintage XT IBM PC<div style="text-align: center;"><iframe width="560" height="315" src="https://www.youtube.com/embed/G1ugr1NuJ00?si=nvf4xxmJPVe_tvY6" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div><p>In this previous post I've talked about the restoration of an IBM vintage PC: <a href="https://davidegironi.blogspot.com/2023/12/vintage-ibm-5160-xt-pc-restoration.html">https://davidegironi.blogspot.com/2023/12/vintage-ibm-5160-xt-pc-restoration.html</a></p><p>Once I've booted this PC the first thing I had to do was to transfer files from and to the Hard Drive of that PC.</p><p>My <b>IBM 5160</b> has a <b>5 1/4 inch floppy driver</b>. But this is not the way I want to use to transfer files. At the minuszerodegrees website there's a full page dedicated to the transferring methods, <a href="https://www.minuszerodegrees.net/transfer/transfer.htm">https://www.minuszerodegrees.net/transfer/transfer.htm</a>.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIBGRYqXcMTrqROyD6yO8EH4nrW5tTcgKrK6yGdcF2PTgBpSGvh2bihGJ1z6Qc84zIe61OQDSoRFqSpYfrD7K0x6rrOLLOFi206gH4FeDHcyx53ywYLLh5SoyQ0Mu7PL1mAF5XHJkvXwUGdu8en6nntNS3xqf-_D2scwo1gzc7xOGHNLJDu2W6qI_-CVQ/s1000/usb%20to%20serial%20DB25%20fastlynx%20cable.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIBGRYqXcMTrqROyD6yO8EH4nrW5tTcgKrK6yGdcF2PTgBpSGvh2bihGJ1z6Qc84zIe61OQDSoRFqSpYfrD7K0x6rrOLLOFi206gH4FeDHcyx53ywYLLh5SoyQ0Mu7PL1mAF5XHJkvXwUGdu8en6nntNS3xqf-_D2scwo1gzc7xOGHNLJDu2W6qI_-CVQ/s320/usb%20to%20serial%20DB25%20fastlynx%20cable.jpg" width="320" /></a></div><p>Luckily my IBM pc has a serial board, so I decided to use the <b>FastLynx 3.3</b> software one. FastLynx 3.3 is a program designed to help you transfer files, directories, or entire hard disks quickly and easily from PC to PC, it can transfer files through USB, parallel or serial port.</p><p>I've found a trial version of FastLynx software on <a href="https://archive.org/">https://archive.org/</a>. It is limited to 10Mb files only. But if you consider my Hard Drive on the IBM c is 25Mb, that is more than enough.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQWlw7ailKFfs1biIyk_d_HB2fsMU_ZjQxl0oIrYTIrIX7jDU_iUHEvl2iwAt3EGafQBU_pbkk2tjSusVuRF44K6iYa3L-8UhZ7gJTPpfkKsSZ7iRpDabaXIpUvgI_ZLnsrdRjnnZyBvIoXosIYpV57v_0Yk6douporeIUSx-NJUEdZohGqAiPymxtbdM/s1219/fastlynx33_usb-to-serial_adapter_example.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="773" data-original-width="1219" height="203" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQWlw7ailKFfs1biIyk_d_HB2fsMU_ZjQxl0oIrYTIrIX7jDU_iUHEvl2iwAt3EGafQBU_pbkk2tjSusVuRF44K6iYa3L-8UhZ7gJTPpfkKsSZ7iRpDabaXIpUvgI_ZLnsrdRjnnZyBvIoXosIYpV57v_0Yk6douporeIUSx-NJUEdZohGqAiPymxtbdM/s320/fastlynx33_usb-to-serial_adapter_example.jpg" width="320" /></a></div><br />As a first test I've built a test <b>serial to serial cable</b> on a breadboard. On the modern PC side I've used a <b>USB to serial adapter</b> while on the IBM side the straight DB connector. This kind of serial cable is called <i>null modem cable</i>.<p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF6yg1-89t9FlcMMHTCxMD391N7_UVdY2d_E_iXxkWZwxYpLwseJL7SxtliMQbhQkBf7K0tC0nhpPXvAbpyunvgPaZCztnwJA9H3stSpDZnqun1qONfJcUFxc4fc6LmRXMUXWsu9te_aLNdmEuNIS8Img5kF0noZbunIblpg6_Qap8hzlH-6TrI-Oi4do/s1000/pl2303%20serial%20adapter%20opened.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF6yg1-89t9FlcMMHTCxMD391N7_UVdY2d_E_iXxkWZwxYpLwseJL7SxtliMQbhQkBf7K0tC0nhpPXvAbpyunvgPaZCztnwJA9H3stSpDZnqun1qONfJcUFxc4fc6LmRXMUXWsu9te_aLNdmEuNIS8Img5kF0noZbunIblpg6_Qap8hzlH-6TrI-Oi4do/s320/pl2303%20serial%20adapter%20opened.jpg" width="320" /></a></div><br /> One I've realized that the cable works I decided to build an all in one USB to serial adapter.<p></p><p>I take a PL2303 USB serial adapter apart, and wire the DB25 connector as specified on the FastLynx manual. You can find the wiring diagram above.</p><p>One connected you have to run FastLynx on the modern PC, then you have to run the <b>Upload Dos Slave</b> function to load the DOS slave program. It will be uploaded through serial port. The process is a wizard, you just have to follow the instructions. On the DOS PC you simply have to run the mode command (<span style="font-family: courier;">mode com1:2400,n,8,1,p</span>) and then the ctty command (<span style="font-family: courier;">ctty com1</span>). Then on the modern pc you can upload the SL.exe slave program.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-ic-Mi93d6FqASpE5Jpwjsqj_XHNnLTW4R2-BoWr6hpr1LDyPIsn_5LTLSQuzoPY7TkkZPqwJOGf_j4wxZlo4p02OBXiXKDDOoFhs4Ll7qnMfc4ee7alGX_jnOoSLiTzhYU5EqZqTz8ILZiu9u0z5rYQWuNJlXlg8OVmO3AzGT5IaWxG_M_YDWp6M8Vk/s1502/FastLynx%20transfer%20file%20from%20Windows%2010%20%20to%20DOS%203.30%20PC.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1502" data-original-width="1000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-ic-Mi93d6FqASpE5Jpwjsqj_XHNnLTW4R2-BoWr6hpr1LDyPIsn_5LTLSQuzoPY7TkkZPqwJOGf_j4wxZlo4p02OBXiXKDDOoFhs4Ll7qnMfc4ee7alGX_jnOoSLiTzhYU5EqZqTz8ILZiu9u0z5rYQWuNJlXlg8OVmO3AzGT5IaWxG_M_YDWp6M8Vk/s320/FastLynx%20transfer%20file%20from%20Windows%2010%20%20to%20DOS%203.30%20PC.jpg" width="213" /></a></div><br /><p></p><p>Once done you can move <b>SL.exe</b> to the directory you want, and run it on DOS.</p><p>The master modern PC have now access to the hard drive of your slave PC.</p><p>That simple I was able to transfer files on the vintage PC to a dump folder of my modern PC, and then upload a few usefull program on the vintage PC, like the <i>Norton Commander</i>. </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin5xXiAZBs0Dg45k4tGGT0qo71SIpI70tQ2bnU2UTrMr6-LPLLnc-FxgyQ8dYm3Do5wgejrJtPKEGkW9_l0HndNs3AXuJzP4IvM5BKd7zs_MLdVQLQkal7TnMDObafIA0MXbMupD7-mHcUkysR8Fas1Ofe_Q48YY03MF5k5WfLV0YfD8riNTocEFXJ24w/s1000/usb%20to%20serial%20adapter%20null%20modem%20cable.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin5xXiAZBs0Dg45k4tGGT0qo71SIpI70tQ2bnU2UTrMr6-LPLLnc-FxgyQ8dYm3Do5wgejrJtPKEGkW9_l0HndNs3AXuJzP4IvM5BKd7zs_MLdVQLQkal7TnMDObafIA0MXbMupD7-mHcUkysR8Fas1Ofe_Q48YY03MF5k5WfLV0YfD8riNTocEFXJ24w/s320/usb%20to%20serial%20adapter%20null%20modem%20cable.jpg" width="320" /></a></div><p></p><p>You can find full instructions on the FastLynx page at minuszerodegrees.net here: <a href="https://www.minuszerodegrees.net/transfer/fastlynx33/fastlynx33_serial.htm">https://www.minuszerodegrees.net/transfer/fastlynx33/fastlynx33_serial.htm</a></p><p><b>Notes</b></p><ul><li>read risk disclaimer</li><li>excuse my bad english</li></ul>Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-76234313805427435742024-01-03T19:27:00.001+01:002024-01-03T19:27:38.739+01:00IBM AT (PS/2) to XT (DIN) keyboard conversion<div style="text-align: center;"><iframe width="560" height="315" src="https://www.youtube.com/embed/9eX4Iuh14VA?si=xVY0h300LELgiZmS" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div><p>In my blog post here: <a href="https://davidegironi.blogspot.com/2023/12/vintage-ibm-5160-xt-pc-restoration.html">https://davidegironi.blogspot.com/2023/12/vintage-ibm-5160-xt-pc-restoration.html</a> I've talked about the restoration of an <b>IBM 5160 vintage PC</b>.</p><p>The first time I've tried to boot this PC it ends up with an error. The error was due to the missing keyboard. Investigating further It turns out that I need an XT keyboard in order to make this PC works.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhta-tKAtdRoqcFWcZkg1pNji49K3OOvg70Lj29JFe06QY08DwBXWHXXy0gl-cLaV9i2bNVmex6TtVfKhrLiDfmo-ds91Wb53Ow8F5Q83XbsmaPnKOOZtHPg_D_yVnJbqcUAWdoEzKsSKn7iQ0SgN9OY1RNef1IgFGSAe8-uNzgvbSwsL_acdXawsO_V0/s1000/ibm_at_to_xt_keyboard.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhta-tKAtdRoqcFWcZkg1pNji49K3OOvg70Lj29JFe06QY08DwBXWHXXy0gl-cLaV9i2bNVmex6TtVfKhrLiDfmo-ds91Wb53Ow8F5Q83XbsmaPnKOOZtHPg_D_yVnJbqcUAWdoEzKsSKn7iQ0SgN9OY1RNef1IgFGSAe8-uNzgvbSwsL_acdXawsO_V0/s320/ibm_at_to_xt_keyboard.jpg" width="320" /></a></div><br />IBM PC of that era uses the <b>XT protocol</b> to communicate with the keyboard. From the 1984 IBM starts building AT compatible keyboard. Starting from 1987 IBM also introduce another kind of connector for the AT keyabords, the <b>PS/2 mini-DIN 6 pin connector</b>.<p></p><p>There are a few differences between the XT and AT protocol, the main difference is that XT can only send data, while AT can receive and send data. Under the hood they are completely different protocol, so it's not just a matter of changing the connector wiring, one have to write some logic in order to make an XT keyboard work.</p><p>So, in order to boot my PC I need an XT keyboard, which I don't have. I have searched for an used one but I can not find it. Well I've found it later on after a few months, but at that time I don't have that keyboard, so I decided to build it.</p><p>There are a few DIY commercialized adapter, but I've an Arduino micro clone and I want to use this cheap board. I've found a PS/2 to XT code for Arduino on github (<a href="https://github.com/kesrut/pcxtkbd">https://github.com/kesrut/pcxtkbd</a>).</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3DQPRQp4Q6-EgY5AvbtZR5K8gkQoXg9gJt9-WrHKq3wT_tUJmac8WwzVMDt2iFjWZ79DDgEH-TPEdEC8bWds1xGUZo6CUgb0p7cIlAwu5HHyCQzHJz7l95oIufIj5cUrUoOyqsfClrQwQRdjjRu42Vu6DqcV0kiWGhKIj4VCTJKsdD5mbbOfDXJuTL9Y/s1000/ibm_xt_keyboard_arduino.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3DQPRQp4Q6-EgY5AvbtZR5K8gkQoXg9gJt9-WrHKq3wT_tUJmac8WwzVMDt2iFjWZ79DDgEH-TPEdEC8bWds1xGUZo6CUgb0p7cIlAwu5HHyCQzHJz7l95oIufIj5cUrUoOyqsfClrQwQRdjjRu42Vu6DqcV0kiWGhKIj4VCTJKsdD5mbbOfDXJuTL9Y/s320/ibm_xt_keyboard_arduino.jpg" width="320" /></a></div><br />Just I have to wire it according to the DIN connector pinout, XT keyboards uses a 5 pin DIN connector with the following pinout:<p></p><p></p><ol style="text-align: left;"><li>clock</li><li>data</li><li>/</li><li>ground</li><li>+5V</li></ol><div>Then I've compiled and upload the Arduino firmware and I've tried it using a PS/2 keyboard as the master.<br />It works!<br /><br />I don't like to have the adapter flying on the bench, so I've decided to pack it in an IBM 90's keyboard, the <b>IBM KB-7953</b> model.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuX-VPeYXFVEaO6LNQA4HgLviu1klOdX38d9Uk_zvxadgiwBGo9faoiGp_7lDU9onv9bDqEmMgGimSRRx-nRpOAYoHfBcp_ZorCnyPfDtZZwIsZgjwGlw-1G17fRncbRrTjq40pBxrvIfZJ8nfY07LYB0Z5dKy3-gDoRSMrNdMP8rbrNARTY0ypa-RLo8/s1000/ibm_xt_keyboard_inside.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuX-VPeYXFVEaO6LNQA4HgLviu1klOdX38d9Uk_zvxadgiwBGo9faoiGp_7lDU9onv9bDqEmMgGimSRRx-nRpOAYoHfBcp_ZorCnyPfDtZZwIsZgjwGlw-1G17fRncbRrTjq40pBxrvIfZJ8nfY07LYB0Z5dKy3-gDoRSMrNdMP8rbrNARTY0ypa-RLo8/s320/ibm_xt_keyboard_inside.jpg" width="320" /></a></div><br /></div><div>I've opened it, and wire the internal PCB to the Arduino and the Arduino to the DIN connector, using the original keyboard PS/2 wire. I've exposed a 5 pin adapter to eventually update a new firmware to the Arduino in the future.</div><div><br /></div><div>The keyboards is now ready, compact and perfect for my vintage IBM pc.</div><div><br /></div><div><b>Notes</b><br /><ul><li>read risk disclaimer</li><li>excuse my bad english</li></ul></div><p></p>Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-89441905993582059622023-12-06T19:51:00.000+01:002023-12-06T19:51:55.562+01:00Vintage IBM 5160 XT PC restoration<div style="text-align: center;"><iframe width="560" height="315" src="https://www.youtube.com/embed/hEVZrXFvVg4?si=U5MXJZ5vubVtruGq" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div><div><br /></div>
The <b>IBM Personal Computer XT model 5160</b> is the second computer in the IBM Personal Computer line, released on March 8, 1983 (<a href="https://en.wikipedia.org/wiki/IBM_Personal_Computer_XT">https://en.wikipedia.org/wiki/IBM_Personal_Computer_XT</a>).<div><div>I've found one in the dumpster, belive me or not someone throw this piece of hardware away.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSpqpnc5BA8W26BrXz0k3TXecTLPycrwmgpc89Z2l4X76cdG0GdXN9Clw_VtcDhTqbgpadoepOlPpOp_0lmNCBS842e1Qvt5yKq-rAHaF3wK8IeLgTFseLWj3Y92f9wuK7GwH1QACFrvGgncymyk9tthBHkHS4x7hFwbhM3XTVRouEo9voPHcYkkx1sRI/s660/IBM_5160_restored.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="660" data-original-width="573" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSpqpnc5BA8W26BrXz0k3TXecTLPycrwmgpc89Z2l4X76cdG0GdXN9Clw_VtcDhTqbgpadoepOlPpOp_0lmNCBS842e1Qvt5yKq-rAHaF3wK8IeLgTFseLWj3Y92f9wuK7GwH1QACFrvGgncymyk9tthBHkHS4x7hFwbhM3XTVRouEo9voPHcYkkx1sRI/s320/IBM_5160_restored.jpg" width="278" /></a></div><br /></div><div>By a first visual impression it has the monitor plastic case damaged, I think it was due to the way the previous owner throw it away, also the keyboard is missing.</div><div>As usually happens with PC of this hera that haven't been boot for a while, the first boot was an explosion. So I decided to disassebly it and take a look inside.</div><div>It turns out one <b>tantalum is gone</b>. I've removed it and checked for other problems.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTEDrvE4acKwhaQcPTHAUIvEV-OtmvQbfVQnXbI67taaeJInxDPiO6uMlHewrHhNzrUycZuUL68h5qmlW53YbNdV2TXE7K2q2XWuaN2emAaQ_mYF-GG1NvoeVDRwfveoybA8gnsBBdIAmEwyvyDLFfcYdtfogLhHGCzOY9gkDdPw4s5lH3K7SAnIn2WXA/s579/IBM_vintage_5160_tantalum_exploded.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="543" data-original-width="579" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTEDrvE4acKwhaQcPTHAUIvEV-OtmvQbfVQnXbI67taaeJInxDPiO6uMlHewrHhNzrUycZuUL68h5qmlW53YbNdV2TXE7K2q2XWuaN2emAaQ_mYF-GG1NvoeVDRwfveoybA8gnsBBdIAmEwyvyDLFfcYdtfogLhHGCzOY9gkDdPw4s5lH3K7SAnIn2WXA/s320/IBM_vintage_5160_tantalum_exploded.jpg" width="320" /></a></div><br /></div><div>I've found another tantalum is in short. I've notice they are on the + and - 12v lines.</div><div>I've read on the <b>Vintage Computer Federation forum</b> (<a href="https://forum.vcfed.org/">https://forum.vcfed.org/</a>) that tantalum problem it's a common issue on the +-12v lines.</div><div>I've replaced all + and -12v caps, since they are not many. At first I've replaced it with 10uF ceramic, then I've moved to something next to the original one.</div><div>I've ended up <b>replacing all the tantalum on the +12V, -12V and -5V line</b> with new 10uF tantalum 16V caps. The one I've found has 2 pins, indeed the original one has 3, but this is not a problem since 2 of the three pins are shorted.</div><div>Once replaced I've boot it up... and it works!</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheudNRqxGcRgcqH5X7C2vbJ_d2KNBC5lJXujIhQBpH5ufQg1keCxEjd8t0EAt_1yloePJO7jR-hfCznOITey0IJss7P0jolG-2RU2Qz2XvabJGhyM-KmVF5x7-krdK-mFHarfY9PQwuHrAquKDrU159hY5ZX8nTkUhoxnjj5J5CJM63vWxiHuIisE7oT4/s1000/IBM_5151_back_crt_monitor.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="750" data-original-width="1000" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheudNRqxGcRgcqH5X7C2vbJ_d2KNBC5lJXujIhQBpH5ufQg1keCxEjd8t0EAt_1yloePJO7jR-hfCznOITey0IJss7P0jolG-2RU2Qz2XvabJGhyM-KmVF5x7-krdK-mFHarfY9PQwuHrAquKDrU159hY5ZX8nTkUhoxnjj5J5CJM63vWxiHuIisE7oT4/s320/IBM_5151_back_crt_monitor.jpg" width="320" /></a></div><br /></div><div>But... the boot process ends up with an error. I've investigated further on this, that was an error referred to the missing keyabord.</div><div>I've found an XT type keyboard, and plug it.</div><div><b>And finally... it boots!</b></div><div>It's <b>Microsoft MS-DOS 3.30</b> Italian version.</div><div>My PC has:</div><div><ul style="text-align: left;"><li>Type 13 20mb WD25 HDD clicking on IBM 5160</li><li>5.25 floppy drive with it's driver board</li><li>Video card</li><li>A Serial port board</li><li>A mysterious board</li><li>Monochrome green phosphor CRT monitor</li></ul></div><div>On the front there's the sticker of a shop that sold it, now of course it closed, it was called <b>Master Audiovisivi Studio. </b>Indeed the mystery board it's a AV board, <b>AVL Genesis</b>, a rare ISA board for AV production. Find more info here: <a href="https://www.stevenmichelsen.com/AVL/">https://www.stevenmichelsen.com/AVL/</a></div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8XxHon-G81Tq2QXwCHhCsBi_yGOC9plvxYPltCpjpOoQjqT1klPOJUHkNp171azDlT4EOGmJ9vywbXzVACAHYgtgRxgqFVJPLn1H6u7Onwi1jgsgdI8o6YQTkP1TvP6xNJDMaMPRUNwPHz-HTuM-dSX8C817FPn0SZRKk3RgXCcprbZref5ourjXfw5M/s602/IBM_5151_crt_broken_plastic.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="505" data-original-width="602" height="268" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8XxHon-G81Tq2QXwCHhCsBi_yGOC9plvxYPltCpjpOoQjqT1klPOJUHkNp171azDlT4EOGmJ9vywbXzVACAHYgtgRxgqFVJPLn1H6u7Onwi1jgsgdI8o6YQTkP1TvP6xNJDMaMPRUNwPHz-HTuM-dSX8C817FPn0SZRKk3RgXCcprbZref5ourjXfw5M/s320/IBM_5151_crt_broken_plastic.jpg" width="320" /></a></div><br /></div><div>Now it's time to repair the monitor case. By using Fusion 360 and design an upper plastic cover to hide the plastic damage and repairing the monitor case by soldering it's plastic with an soldering iron. The result it's pretty good.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgABc7TsOefSM1m9X2ISFx3HGSEUa-eUA0CoTzHhG-w-NZpHyp3f6U3JXx3M31aAQ-oR31C3gOaIw5QAgGo15bcy8FC5yLaLmqZTv6-WYrP3CVu1-572eYOFRiPXRI0NQJfClDgkWyJPGxN5S0dQ-UiB3BEpYMmljnRUkuaskkXpzVVDvPBElemTfpbLBw/s1024/IBM%205150%20crt%20top%20plate%20v5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1024" data-original-width="1024" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgABc7TsOefSM1m9X2ISFx3HGSEUa-eUA0CoTzHhG-w-NZpHyp3f6U3JXx3M31aAQ-oR31C3gOaIw5QAgGo15bcy8FC5yLaLmqZTv6-WYrP3CVu1-572eYOFRiPXRI0NQJfClDgkWyJPGxN5S0dQ-UiB3BEpYMmljnRUkuaskkXpzVVDvPBElemTfpbLBw/s320/IBM%205150%20crt%20top%20plate%20v5.png" width="320" /></a></div><br /></div><div>After a couple of month I've try to boot it up again, and it stops working... better saying, it works after a few time I try to power it on. Hard drive it's not recognised and the boot process does not start.<br />Long story short, it was a PSU issue. It takes me a while to solve this, but finally was done and working again.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhzmu4x5aJlDzx_BmIerGa4x4yWuRuOoufqTholnpO7QBxEmmyV4Z1VknxR1_TqVJkzN_eurNSvyuq3phCa32_rpmUCMcJ_RcEqhbky-yUA7bkjK5-HdawCtOo3qmuvaV0xCOOKHhCRp_dLM_AmF1hlIeBWJq-F32CNADvwdlpcPS5saosf_SG9A8WApw/s1000/IBM_5160_teardown_inside.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhzmu4x5aJlDzx_BmIerGa4x4yWuRuOoufqTholnpO7QBxEmmyV4Z1VknxR1_TqVJkzN_eurNSvyuq3phCa32_rpmUCMcJ_RcEqhbky-yUA7bkjK5-HdawCtOo3qmuvaV0xCOOKHhCRp_dLM_AmF1hlIeBWJq-F32CNADvwdlpcPS5saosf_SG9A8WApw/s320/IBM_5160_teardown_inside.jpg" width="320" /></a></div><br /></div><div>Thanks to the people at <a href="https://forum.vcfed.org/">https://forum.vcfed.org/</a> forum and eevblog forum <a href="https://www.eevblog.com/forum">https://www.eevblog.com/forum</a> that helps me in this restoration!</div><div><b>My IBM vintage PC it's now good to go!</b></div><div><br /></div></div><div><br /></div>
<b>Notes</b><br />
<ul>
<li>read risk disclaimer</li>
<li>excuse my bad english</li>
</ul>Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-30420049901355223882023-11-06T18:56:00.001+01:002023-11-06T18:56:32.995+01:00MicroProto, a micro protocol for data exchange between devices<div style="text-align: center;"><iframe width="560" height="315" src="https://www.youtube.com/embed/Hc-3S6KAptc?si=b02CDfH4N85JlhQi" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div><div><br /></div>
MicroProto is a mini protocol for data exchange between devices.<br />
<br />
It is build and tested over the serial communication protocol, but it can be ported to others.<br />
It is designed to send strings and byte arrays.<br />
MicroProto is a variable length, in the current implementation you can send up to 999 commands, and 999 byte long byte array.<br />
<br />
The command structure is the following:<br />
<b>STX|ACK|NAK DATA CRC ETX</b><br />
<br />
Command parts are:<br />
<ul>
<li><b>STX</b> (hex 0x02): command begin </li>
<li><b>ACK</b> (hex 0x06): acknowledgment command begin</li>
<li><b>NAK</b> (hex: 0x15): negative acknowledgment command begin</li>
<li><b>DATA</b>: byte array</li>
<li><b>CRC</b>: 1 byte CRC code</li>
<li><b>ETX</b> (hex 0x03): command end</li>
</ul>
<div>
</div>
<div>
Send command can request an acknowledgment to be sent back. The acknowledgment command must start with ACK or NAK byte.</div>
<div>
<br /></div>
<div>
The <b>ESC</b> special char (hex: 0x1B) is used as escape character. Indeed if a ETX byte is sent in DATA, it is preceded by the ESC character.</div>
<div>
<br /></div>
<div>
Each command must have a CRC hex byte, this prevents communications errors.</div>
<div>
CRC function is <b>CRC</b> polynomial x^8 + x^7 + x^2 +1 implemented using a lookup table to speed up the computation process.<br /></div><div><br /></div>
<div>
Errors in communications may happens, due to timing or interference. However I'm using this protocol with decent results.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqai5ZTHCamBrVFRj6xgyezqjc3IYJJ5PH39XiBzsrTyX1NPQSaC0ktsaKdy518Wyo9pyrPTYgv3k3LFuCm9zpcbgL63639JMCMJ48AXpPe44n2a9KRa4RM-jFctXZhgydo6YyLEJiagRLhVurOg4UwPzOTc-VT-njJ9m_A5SDXDVyTHhGkuhIdZzLels/s1333/microproto_running_on_atmega.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1333" data-original-width="1000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqai5ZTHCamBrVFRj6xgyezqjc3IYJJ5PH39XiBzsrTyX1NPQSaC0ktsaKdy518Wyo9pyrPTYgv3k3LFuCm9zpcbgL63639JMCMJ48AXpPe44n2a9KRa4RM-jFctXZhgydo6YyLEJiagRLhVurOg4UwPzOTc-VT-njJ9m_A5SDXDVyTHhGkuhIdZzLels/s320/microproto_running_on_atmega.jpg" width="240" /></a></div><div><br />
Embedded side, there are two ways this protocol process input data: "<i>blocking</i>" and "<i>timed</i>".<br />
The <b>blocking way</b> try to read input from the selected channel, that is UART in this example. If a char is read, then the next one is processed, till the the end of protocol command, or till the threshold wait time passed.<br />
In the <b>timed way</b>, two function are involved, one that read characters, and another that can be called to get the last command found. Most of the works is done inside the read/input function. This function read one, or up to a threshold bytes until the end of protocol command.<br />
On both function a few other error preventing mechanism are implemented.<br />
The timed functions most of the time it's the way to go, cause it does not stop the working loop that much. One can even put this function in a TIMER, and use the read last command function in the program loop.<br />
<br />There are a few parameters that can be set inside the header files, above all involve timing.</div><div><br /></div><div>Send/Get character functions are passed as parameters during initialization, this makes this library <b>portable</b> to a few microcontrollers, and also to other than USART bus.</div><div><br /></div><div>Indeed this library is been tested on</div><div><ul style="text-align: left;"><li><b>AVR ATmega/ATtiny</b></li><li><b>ESP8266</b></li><li><b>ESP32</b></li><li><b>Arduino Framework</b></li><li><b>STM32 family with HAL framework</b></li></ul></div><div>A <b>NET C# client library</b> is implemented for test, you can use this library as a starting point to write your own client library or use the code straight in you .NET project.</div><div><br /></div><div><br />
<b>Code</b><br />
<ul>
<li><a href="https://sourceforge.net/projects/davidegironi/files/avr-lib/avr_lib_bldcsensored_01.zip/download" target="_blank">avr_lib_bldcsensored_01.zip</a></li>
</ul>
<b><div><b><br /></b></div>Notes</b><br />
<ul>
<li>read risk disclaimer</li>
<li>excuse my bad english</li>
</ul>
</div>
Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-31096868723946206122023-10-06T19:34:00.001+02:002023-10-06T19:34:42.631+02:00Vorwerk VK-140 Folletto vacuum repair<div style="text-align: center;"><iframe width="560" height="315" src="https://www.youtube.com/embed/TZYXNVhlUnY?si=cgtFICjd6urLmuWF" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div><p><b>Folletto vacuum cleaner</b> are made by <b>Vorwerk</b> <a href="https://en.wikipedia.org/wiki/Vorwerk_(company)">https://en.wikipedia.org/wiki/Vorwerk_(company)</a> and sold here in italy with the brand of "Folletto" (Elf in english).</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdhLaWE8jkrovapFTwO-AqBJWnQKe02mjy66UeUDaJoQ6ki7fUcmQrNQMQuUTTqb8dcXjOiqUR3TlrODLfn-CdM9BoKy1jxJvX6jvkfDB6VM1GqcNBOkokp9b0nda3tJ23SyMiARgRpKDPoJ2XsFEQKWB0yrFqu8hes4Hh0nvcTZL6sigBM_Y1-Lc6pIM/s1924/Vorwerk_Folletto_VK140_repair.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1924" data-original-width="1000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdhLaWE8jkrovapFTwO-AqBJWnQKe02mjy66UeUDaJoQ6ki7fUcmQrNQMQuUTTqb8dcXjOiqUR3TlrODLfn-CdM9BoKy1jxJvX6jvkfDB6VM1GqcNBOkokp9b0nda3tJ23SyMiARgRpKDPoJ2XsFEQKWB0yrFqu8hes4Hh0nvcTZL6sigBM_Y1-Lc6pIM/s320/Vorwerk_Folletto_VK140_repair.jpg" width="166" /></a></div><p>I've found a VK-140, that is a model from 2005 almost. Mine seems pretty new. I think it has been used just a couple of times. However it doesn't work. The main motor does not spin.</p><p>At first I though there was a problem with the power cord. I've opened it and checked the main voltage. The power cord, and the main switch works.</p><p>It's the first time for me to see a vacuum cleaner with an electronic board, usually there's just a simple main AC voltage brushed motor. This time there's some kind of elecontric to drive the motor.</p><p>Investigating further I've find this is a <b>switched reluctance motor</b> motor. IGBT transistor are used to drive the motor.</p><p>The power section has 4 <b>G10T60</b> IGBT (600V 10A) and 4 <b>D04E60</b> dioed (600V 6A).</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYkoM9PNWTWaEW7ZxpbfoGuVGOyyw5ngzcRa06Qq-2jAAVu-biOlTiMIN-kaRORIjTg-7sxas2Xe2QWiSZDVstACxJ8OGYUAH5EB39XDClkZbj-yeYHCPAowAOWke73j1IaYMFMLjOWlh2K3kHlFmujyTvRpjUypHPjm_hyphenhyphen0UDFNlXxnETFdddvVUSVyo/s1000/Vorwerk_Folletto_VK140_motor.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYkoM9PNWTWaEW7ZxpbfoGuVGOyyw5ngzcRa06Qq-2jAAVu-biOlTiMIN-kaRORIjTg-7sxas2Xe2QWiSZDVstACxJ8OGYUAH5EB39XDClkZbj-yeYHCPAowAOWke73j1IaYMFMLjOWlh2K3kHlFmujyTvRpjUypHPjm_hyphenhyphen0UDFNlXxnETFdddvVUSVyo/s320/Vorwerk_Folletto_VK140_motor.jpg" width="320" /></a></div><p>The core of the controller it's a <b>PIC18F24K20</b>.</p><p>Between the MCU and the power section we can find an high-side / low-side gate driver, the <b>FAN7382</b>.</p><p>The motor spins using hands, so it's not locked. A visual inspection does not reveal any compoent burned.</p><p>I only hear a three clicky sound when trying to power the vacuum on.</p><p>Continuity on the motor seems ok, 1.4ohm almost for each winding.</p><p>First investigation goes to the Mosfet and the power diodes. I've cheked them removing the motor and checking continuity. Nothing seems shorted. I've also try with the diode testing, and all seems ok.</p><p>Then I've attached my portable DSO150 oscilloscope to the main output. It has 50Vpk as max input voltage, so using a 10x probe I can test up to 500V. I've not use my main oscilloscope cause I was going to test something that's potentially is on the earth ground, take a look at this video for further information <a href="https://www.youtube.com/watch?v=xaELqAo4kkQ">https://www.youtube.com/watch?v=xaELqAo4kkQ</a>. I've attached it directly on the motor input and checked the output.</p><p>Seems there's nothing on the one channel. So I've sone something I could have save, I've removed all the power section compoents (the igbt and diodes) and checked on the bench, they are all ok. Maybe I should have skipped this test.<br /><br />Now I've tested the boost diode of the FAN7382, in one channel there's a short on the diode. I've removed it and checked alone, but it was not the diode. So it should be something related to the FAN7382.<br /><br />I've ordered a couple of this IC. Soldered all back and <i>voilĂ </i>, it's working.</p><p>Maybe I should save myself some time checking it directly without desoldering all the power section, but most important is that I've repair it, and I've learn something.</p><p><b>Notes</b></p><ul><li>read risk disclaimer</li><li>excuse my bad english</li></ul><p><br /></p><p><br /></p>Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-43988154623299120942023-09-15T19:03:00.000+02:002023-09-15T19:03:25.590+02:00Mono Speaker for mixing using a Tannoy ceiling monitor<div style="text-align: center;"><iframe width="560" height="315" src="https://www.youtube.com/embed/v7-Vpipv3io?si=ehkRr9xCpnXGFZ7T" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div><p>This is the mono cubic speaker I've built mainly for <b>mixing audio</b>.</p><p>It's been a few month that I want to add a mono speaker to my mixing station. Switching to mono for the mixing process is something well know and used for years, in the last years the <i>Avantone MixCubes</i> became popular for this reason.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyf1yHS6OqI_FsB8y-TjRCeJQR02YpxRao109A1tCRsb4O-7ZwKhhDwWW3sqKzjWwxnSmr0UW_huE6VO7ElXBAx0xFKwyP8hUNB3ihFIeHlkgzOBA80JLS6-si2X5UVnkKBeH2jQz-HqJF-f2n1e1vPSEGox9NQaqYns3wNVaKzu6n-EWatIkwWBNF8Hs/s1000/mono_mixing_speaker_diy.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyf1yHS6OqI_FsB8y-TjRCeJQR02YpxRao109A1tCRsb4O-7ZwKhhDwWW3sqKzjWwxnSmr0UW_huE6VO7ElXBAx0xFKwyP8hUNB3ihFIeHlkgzOBA80JLS6-si2X5UVnkKBeH2jQz-HqJF-f2n1e1vPSEGox9NQaqYns3wNVaKzu6n-EWatIkwWBNF8Hs/s320/mono_mixing_speaker_diy.jpg" width="320" /></a></div><p>I want something similar, so I decide to built it. I've one <b>Tannoy CMS401e</b> speaker not used. That is a ceiling monitor system is suited to high-level music and speech reinforcement applications.</p><p>This speaker has a transformer taps, which is used for distribution system. In my case I disabled the transfomer, cause I've just connected the speker directly to the amplifier board.</p><p>I've used a <b>TPA3118 amplifier board</b>. Supplied by a <b>12V 3A swithing power</b>. The stereo input jack simply connect the tip and the ring with a 1k resistor, this will mix the right and left signal to the mono input of the amplifier. Before the amplifier input there's just a simple 50k potentiometer used for the volume.</p><p>I've build the case using an old speaker case. I've cut it to a cube and glue. Then I paint using dark wood varnish.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3_5kCZcaTnj9dX6HW51QrhQTZ1wgXLoCgJAZCpUP5hmKzcyTV4oDZg4inTugL8xUph0co0qWEB7Fcrva1RAIIVdfcoKyAC94UXiufOHaHeTmitrrE8vyc0ywwbwIILaZyRlx4U7O8foLBFUSI8kJIGuqTzmJqlnTqVViFennQCRFqGFSpSBYHSrZVKqA/s1000/tannoy_cms401e_mono_mixing_speaker.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="750" data-original-width="1000" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3_5kCZcaTnj9dX6HW51QrhQTZ1wgXLoCgJAZCpUP5hmKzcyTV4oDZg4inTugL8xUph0co0qWEB7Fcrva1RAIIVdfcoKyAC94UXiufOHaHeTmitrrE8vyc0ywwbwIILaZyRlx4U7O8foLBFUSI8kJIGuqTzmJqlnTqVViFennQCRFqGFSpSBYHSrZVKqA/s320/tannoy_cms401e_mono_mixing_speaker.jpg" width="320" /></a></div><br /> The Tannoy speaker can also rotate a little bit, so that the direction can be adjusted. This is a plus for me, I can point it strait to my face.<p></p><p>The finish product looks pretty good. And the sound it's of course not as good as a stereo system, but that's exactly how I want it to perform.</p><p><b>Notes</b></p><ul><li>read risk disclaimer</li><li>excuse my bad english</li></ul><p><br /></p>Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-83843963478435640522023-08-04T19:18:00.001+02:002023-08-04T19:19:16.707+02:00San Pellegrino Terme Germanium Distortion pedal<div style="text-align: center;"><iframe width="560" height="315" src="https://www.youtube.com/embed/N3vHYHFzaws" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div><p>I've been in <b>San Pellegrino Terme</b> (<a href="https://en.wikipedia.org/wiki/San_Pellegrino_Terme">https://en.wikipedia.org/wiki/San_Pellegrino_Terme</a>) this winter.</p><p>San Pellegrino Terme is a thermal location, so I had a vacation there. I bought a tin of candies which I'm using as the case for this guitar/bass pedal.</p><p>This is why it's called the <b>San Pellegrino Terme Distortion</b>.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd3UxATe-9u3g0yW-leAfnLyWT-9aix1QqCx_OuPGtc0sB8q6-mJ8jZJFyGTScc0y_FJlB5j_UzcAhvOcUAGsfsTw5ur6dxDlOdXBovkV2x2N6Hcaz6iSDiB8n0lDEtr3xuhaKfWhA_QvY_gTawtRSx_gZJ80ll6Bbm2GjgTRR9_N2F1HX6UidkieE_S8/s1000/san_pellegrino_terme_guitar_distortion.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd3UxATe-9u3g0yW-leAfnLyWT-9aix1QqCx_OuPGtc0sB8q6-mJ8jZJFyGTScc0y_FJlB5j_UzcAhvOcUAGsfsTw5ur6dxDlOdXBovkV2x2N6Hcaz6iSDiB8n0lDEtr3xuhaKfWhA_QvY_gTawtRSx_gZJ80ll6Bbm2GjgTRR9_N2F1HX6UidkieE_S8/s320/san_pellegrino_terme_guitar_distortion.jpg" width="320" /></a></div><br /> A few weeks later from this vacation I've found a <b>70's radio</b> in the dumpster. That radio has a couple of <b>germanium transistor</b> on board.<p></p><p>I've desoldered them and I've decided to use as soon as possible, cause they are not branded and I do not want to keep htem in my germanium transistor drawer.</p><p>They are PNP germanium transistor measuring 180 hFE. Gain is a little low but that would not be a big issue. I take as reference a <b>classic 2 transistor distortion configuration</b>.</p><p>Indeed I've decoupled the output from the first transistor and input that output to the second transistor, forming a two stage gain.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9TI8TpBz56y4EYVQtCkA0tRmXFXpZ9-3HZ08mHF_qUn2Ms-dLOL39KKxy-KEFuhk5-c0J0ClP3h-Yt600wDw4QFot6vyuFd4COLyvce6S1_aUmSyHK5009YZq_w79V1PFH7uZcRDeYwgvo1YTcgDeyAu_CB63f6AynGfwU7KDkdqYLpvORp6JmYukBlM/s1000/germanium_distortion_pedal_san_pellegrino_terme.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9TI8TpBz56y4EYVQtCkA0tRmXFXpZ9-3HZ08mHF_qUn2Ms-dLOL39KKxy-KEFuhk5-c0J0ClP3h-Yt600wDw4QFot6vyuFd4COLyvce6S1_aUmSyHK5009YZq_w79V1PFH7uZcRDeYwgvo1YTcgDeyAu_CB63f6AynGfwU7KDkdqYLpvORp6JmYukBlM/s320/germanium_distortion_pedal_san_pellegrino_terme.jpg" width="320" /></a></div><p></p><p>I've try to push the gain to the limit.</p><p>No controls available, just the output volume.</p><p>True bypass, and a active led output.</p><p>This pedal is not going to start a revolution, it's just a simple distortion build from unknown components in a tin of candies, but I like it.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifFw721-KmbPLHG5i8iUyA7ZkujSulSVoxcLk1UED1H4Cs4xD3i7_vvY2U27hi2Uah_d0WWou5zD0DJKFhY3Zl6DoGgRVHr9P7L0LMr8crxKapinXFMpBEHzlGkmnG-E4I8jNr30ZfnMoTHCk1QgpDjVNFWQqy0CE3rugOu5BtbVAI2b8qtqnK6gDMSLg/s900/san%20pellegrino%20terme%20distortion_v1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="654" data-original-width="900" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifFw721-KmbPLHG5i8iUyA7ZkujSulSVoxcLk1UED1H4Cs4xD3i7_vvY2U27hi2Uah_d0WWou5zD0DJKFhY3Zl6DoGgRVHr9P7L0LMr8crxKapinXFMpBEHzlGkmnG-E4I8jNr30ZfnMoTHCk1QgpDjVNFWQqy0CE3rugOu5BtbVAI2b8qtqnK6gDMSLg/s320/san%20pellegrino%20terme%20distortion_v1.png" width="320" /></a></div><br /><p></p><p><b>Notes</b></p><ul><li>read risk disclaimer</li><li>excuse my bad english</li></ul>Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-18304841390119571652023-07-10T18:50:00.003+02:002023-07-13T19:52:28.344+02:00X/Y label plotter to vinyl cutter and pen plotter conversion using grbl<div style="text-align: center;"><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/S8fNBV5et2I" title="YouTube video player" width="560"></iframe></div><br /><p>I've a found a plotter. The <b>VP600 Basic by Brady</b> is a <b>X-Y pen plotter</b> for tag.</p><p>Of course there's some part broken and missing.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOe02FFvAgNiVTapUoHbyOihHn8S9CfeL-a8351JhsA_Og7EsxHQpTxoIpwx22TjBaDXiQkoaOBCue5kS3imJHwUCef_NP0OoqEoK5ge9uCqpjHKdgmQXKMQwbEEh1Lc8GKIOfmi2WVRjWOruCV5sJ7zd7scgJYCPDIC-h62ueX3zEiuoQzZSVF4YihxM/s1000/brady_vp600_basic_grbl_vinyl_cutter_conversion.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOe02FFvAgNiVTapUoHbyOihHn8S9CfeL-a8351JhsA_Og7EsxHQpTxoIpwx22TjBaDXiQkoaOBCue5kS3imJHwUCef_NP0OoqEoK5ge9uCqpjHKdgmQXKMQwbEEh1Lc8GKIOfmi2WVRjWOruCV5sJ7zd7scgJYCPDIC-h62ueX3zEiuoQzZSVF4YihxM/s320/brady_vp600_basic_grbl_vinyl_cutter_conversion.jpg" width="320" /></a></div><p></p><p>The pen holder and the power supply are missing, the plotter has a dent on one side, software is missing and also I'm not sure electronic is working.</p><p>I disassembly it, repair the dent and check that the X-Y mechanism is working.</p><p>It has a small piece of plastic of the X axis broken, so I've to glue it. Apart from this, the hardware is working, at least what I can check without connecting it.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3QyzFBXcAcSAbO-tiIB989zPYQyl-u6it2xPve_5o83xqn_PAo0TjHPVVysbyEPgC865ppZlxnUmX6i5dtYj9Bi6rgYgsXre3ruNCrUbfMijb1BnZOxL3BbhMw2SUZW-IHDz7qpjg013p-Zm2msQj_jqYOyaTM1xoZfHMjvypfpCPvxuhV_f7DVR-tYc/s1502/grbl_pen_plotter_brady_vp600_basic.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1502" data-original-width="1000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3QyzFBXcAcSAbO-tiIB989zPYQyl-u6it2xPve_5o83xqn_PAo0TjHPVVysbyEPgC865ppZlxnUmX6i5dtYj9Bi6rgYgsXre3ruNCrUbfMijb1BnZOxL3BbhMw2SUZW-IHDz7qpjg013p-Zm2msQj_jqYOyaTM1xoZfHMjvypfpCPvxuhV_f7DVR-tYc/s320/grbl_pen_plotter_brady_vp600_basic.jpg" width="213" /></a></div><br />Because the missing parts I've decided to convert it to something else, something I don't still have. So a <b>vinyl cutter</b>.<p></p><p>First step is to build the electronic board. An <b>Arduino Pro Mini with a ATmega328</b> can work for me.</p><p>The firmware I've selected it's <b>grbl</b> (<a href="https://github.com/grbl/grbl">https://github.com/grbl/grbl</a>), but I've to compile a version that works with a servo as Z-axis, cause my holder will be based on a servo.</p><p>The pcb is simple, the grbl docs page contains all the information about wiring. I've to wire two stepper motor driver board, <b>A4988</b> based, and just a straight wire for the servo conroller, which will be a <b>mini RC servo.</b></p><p><b></b></p><div class="separator" style="clear: both; text-align: center;"><b><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5SAusvCGAZcgZg90w1qxN_iLTxZj4Hll0kj53XIlVgbq0AWl12G4bz3sUhDhvGu-g-4kyMeKbS7aYegfDPgucD1hX9gg63ifSAOaYaudso-ZdBGIcptKdyM1JHDvSRzxG3EbExzozaaUKfZbd9FDKvVEJdlycQ3e8wG17roOHr7JK2Dl_uIEgsRVnAoY/s1000/grbl_pen_plotter_homemade_board.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5SAusvCGAZcgZg90w1qxN_iLTxZj4Hll0kj53XIlVgbq0AWl12G4bz3sUhDhvGu-g-4kyMeKbS7aYegfDPgucD1hX9gg63ifSAOaYaudso-ZdBGIcptKdyM1JHDvSRzxG3EbExzozaaUKfZbd9FDKvVEJdlycQ3e8wG17roOHr7JK2Dl_uIEgsRVnAoY/s320/grbl_pen_plotter_homemade_board.jpg" width="320" /></a></b></div><b><br /></b>I've assemble the PCB under the original PCB, reusing the USB and power plugs. That way I can use the original case holes for connections.<p></p><p>The motor of the plotter are 4 wires, just follow the grbl guidelines to wire it. Find the correct wiring diagram is just a matter of finding the stepper motor coild using a multimeter reading resistance between wires.</p><p>Now the holder mechanism. I've take the design from the following project <a href="https://www.instructables.com/CNC-Pen-Lift-1/">https://www.instructables.com/CNC-Pen-Lift-1/</a>. I've copied it and adapted to my needs.</p><p>I've buy a <b>Roland plotter compatible cutter</b> and adapt the holder for my cutter.</p><p>I'll use <b>GRBL plotter</b> (<a href="https://github.com/svenhb/GRBL-Plotter">https://github.com/svenhb/GRBL-Plotter</a>) as software.</p><p>I've covered the plate of the plotter with a plastic 4mm sheet, this will prevent the cutter blade to break on the original alluminum base.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKC142R4TToy7HWQRL7oVfWZyH5x4LM-w0xQcgT5luJkPx_WhbIMT_D6pYpLC_WJ1ztKc6YH_NVGLXZjLhygWVZ0PWOHry-eWoyUwCAFyBKXOW-xhGdk4v4giqrDG0jkAlmDpI0XwU00BbTAqNdk5tZCKok6Qp5AWdE0_LuBogv9HARYqYKqbIPQiWbZ0/s1000/3d_printed_vinyl_cutter_holder.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKC142R4TToy7HWQRL7oVfWZyH5x4LM-w0xQcgT5luJkPx_WhbIMT_D6pYpLC_WJ1ztKc6YH_NVGLXZjLhygWVZ0PWOHry-eWoyUwCAFyBKXOW-xhGdk4v4giqrDG0jkAlmDpI0XwU00BbTAqNdk5tZCKok6Qp5AWdE0_LuBogv9HARYqYKqbIPQiWbZ0/s320/3d_printed_vinyl_cutter_holder.jpg" width="320" /></a></div><br />Then I've to <b>set the step steps/mm</b> for each motor. There are plenity of pages teaching how to do this, so it's just a matter of reading and applying the procedure.<div>In my specific case I've set</div><div><span style="font-family: courier;">$100 80.240</span></div><div><span style="font-family: courier;">$101 80.240</span><br /><p></p><p>Also I've to set in <i>G-Code Generation</i> tab of the <i>GRBL plotter</i> the <i>Pen up / down translation</i> to <i>PWM</i>, then set the <i>PWM</i> op <i>Pen Up</i> function to 1000 and <i>Pen Down</i> to 0.</p><p>One the plotter is set I've to <b>select the proper spring for the holder</b>. The holder spring defines the cut strength.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_S6J7aUXCky2bxl3XSldCFW3jG80JbFHHszDnfdrvvYvirw2-cIUnh4dr03EfrCKohpGXra-PkWXSG97kJJzt30IkvzciFyf8cpprmUSLEjftuEoT3DvIRdR644NqQ08gbTkfk5NuEHy8J0h6p6kBT5SiYJAKlzAt9zJyi4lCPJW5lDxUMy1dwQcXS64/s1000/3d_printed_pen_plotter_holder.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_S6J7aUXCky2bxl3XSldCFW3jG80JbFHHszDnfdrvvYvirw2-cIUnh4dr03EfrCKohpGXra-PkWXSG97kJJzt30IkvzciFyf8cpprmUSLEjftuEoT3DvIRdR644NqQ08gbTkfk5NuEHy8J0h6p6kBT5SiYJAKlzAt9zJyi4lCPJW5lDxUMy1dwQcXS64/s320/3d_printed_pen_plotter_holder.jpg" width="320" /></a></div><p></p><p>I've made some test. What I've found is that cutting vinyl is not so simple, the most difficult thing is to find the right cut spring. At the end of the day the cutting quality is acceptable to me. Not as accurate as a pro machine, but as much as I need, and also I've saved a plotter from the junk.</p><p><b>Notes</b></p><ul><li>read risk disclaimer</li><li>excuse my bad english</li></ul></div>Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-30063576671758316452023-06-12T07:11:00.001+02:002023-06-12T07:11:09.715+02:00Tap tempo delay guitar pedal by Fattoria Mendoza repair<div style="text-align: center;"><iframe width="560" height="315" src="https://www.youtube.com/embed/a5nuAH1akKk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div><p>A friend of mine give me his non-functional <b>tap tempo delay guitar pedal</b>.</p><p>The problem with this pedal was that one can hear an annoying clicking sound while playing. Also after trying it for a while it stops working.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitTF9xfYI_Kav1cizl83qciSza0BWGgvQFEi-jIdr2j8Jl_4_0OBDQ6TenL_cDDKOHgB9JnzIW4SYmjJgwMuZddH0rPyGghen7CTQ5D6gRagnVLPl2EhwoiqNSPMDkfOYTXhWeDJvx9kRVoP4Q15CfCEOhOuXPCOjj1N2ukryZFWzRHvHfCGx2Z7w2/s1000/macchina_del_tempo_fattoria_mendoza.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitTF9xfYI_Kav1cizl83qciSza0BWGgvQFEi-jIdr2j8Jl_4_0OBDQ6TenL_cDDKOHgB9JnzIW4SYmjJgwMuZddH0rPyGghen7CTQ5D6gRagnVLPl2EhwoiqNSPMDkfOYTXhWeDJvx9kRVoP4Q15CfCEOhOuXPCOjj1N2ukryZFWzRHvHfCGx2Z7w2/s320/macchina_del_tempo_fattoria_mendoza.jpg" width="320" /></a></div><br />The pedal is called <b>La Macchina del Tempo</b> by <b>Fattoria Mendoza</b>, a custom pedal builder here in italy.<p></p><p><span style="color: #cc0000;">Advice: </span>I've never have any pedal from this company. I think the pedal I have has been handled by someone outside the company, or they have build this as a demo pedal, indeed I can not find this pedal on theire actual website. I advice you this cause what I've found in this pedal is not that beauty.</p><p>First time I've opened the pedal I've seen a little bit of a mess, wires has not been secured on the case.</p><p>I've played this pedal for an hour or so with the back case open. And after a while the pedal stop working, the output led does not blink.</p><p>The pedal itself has a couple of boards, the main one is a 1 side PCB with a scratched number, I've searched for it and I've found it's a kit <i>uk-electronic</i> named <i>Kit Digital Delay PT-80 with tap tempo</i> (<a href="http://uk-electronic.de/onlineshop/product_info.php?products_id=2326&language=en">http://uk-electronic.de/onlineshop/product_info.php?products_id=2326&language=en</a>). The other two are prototype boards that just has some capacitors and a output volume control.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh02a-Qx4nebTo-5YQ1RIeyjJabdyzLNhCeZOBucy8W7iz1UHQ3-uEAQnJbIyjll1SjSE5UC4J-2h2vQcWMCUaAjQBYLCjSH_bc51MuN77pM6N3R49h4vAAZsmAZ_VLkfrzzr7n7buen2s8ZOwDtn15UWxQcg7oD4CVT2P3M9HzB5eObd_-APaXIKr-/s1502/macchina_del_tempo_pt80_tap_tempo_delay_teardown.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1502" data-original-width="1000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh02a-Qx4nebTo-5YQ1RIeyjJabdyzLNhCeZOBucy8W7iz1UHQ3-uEAQnJbIyjll1SjSE5UC4J-2h2vQcWMCUaAjQBYLCjSH_bc51MuN77pM6N3R49h4vAAZsmAZ_VLkfrzzr7n7buen2s8ZOwDtn15UWxQcg7oD4CVT2P3M9HzB5eObd_-APaXIKr-/s320/macchina_del_tempo_pt80_tap_tempo_delay_teardown.jpg" width="213" /></a></div><br />First thing I've checked is the switching regulator, the LTC1044. And that's the guilty. No voltage output from this IC. So I try injecting voltage after it and the pedal start working again. So I've replaced it.<p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6f9B-h5jTGo04PQMJg95Lbxd4YGxSjVZcWIOZHaB_m_JNwgL3-DFhDSCokwq3H3SMVOoNjFhUJKhYws26BcYNfD5TeUo_cU_lgkW5XVPh4CbDiblf49dfKh9gqAXJ8U_uUOxv1ZQLN67R1tRkJ3GZjmmarV_MdJpeEBe-BEeN_ej47e0a9cZINrlw/s1000/PT80_schematic.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="707" data-original-width="1000" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6f9B-h5jTGo04PQMJg95Lbxd4YGxSjVZcWIOZHaB_m_JNwgL3-DFhDSCokwq3H3SMVOoNjFhUJKhYws26BcYNfD5TeUo_cU_lgkW5XVPh4CbDiblf49dfKh9gqAXJ8U_uUOxv1ZQLN67R1tRkJ3GZjmmarV_MdJpeEBe-BEeN_ej47e0a9cZINrlw/s320/PT80_schematic.jpg" width="320" /></a></div><p></p><p>While waiting for the IC to be delivered I've clean up a little bit the PCB. I've soldered a couple of components that where just punched in used pin head. And resolder a couple of wires.</p><p>When the IC has been delivered I've checked the pedal, and here I can found the first problem my friend told me about, that it the annoying clicking noise.</p><p>I've notice this noise has exactly the same frequency of the tap tempo led. So I've remove the led and I've notice it was the led the root of the problem. Adding a capacitor on the supply line does not solve the issue. So I've added a RC low pass filter on the led line. This will slow down the led light up but has solved the issue.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitxjS9WLyplz-a49PsrZRquMw2ZCHX0zyTiGGGbJ6K-dr9TXwXwssMR8RNmZZ6BuwucETIv2XvTMwngrpl-qZuWF4Ve6S9g8pRbQYLZwvjwopWK1F6Ex0q-YqWiPGix3Od0uYP8XQtpN7VcD56Ibd6FRK1wP3ITeBtgq-2Z7Y73IWWXMI0W-OZ_rp1/s1415/PT80_tap_delay_mod.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1415" data-original-width="1000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitxjS9WLyplz-a49PsrZRquMw2ZCHX0zyTiGGGbJ6K-dr9TXwXwssMR8RNmZZ6BuwucETIv2XvTMwngrpl-qZuWF4Ve6S9g8pRbQYLZwvjwopWK1F6Ex0q-YqWiPGix3Od0uYP8XQtpN7VcD56Ibd6FRK1wP3ITeBtgq-2Z7Y73IWWXMI0W-OZ_rp1/s320/PT80_tap_delay_mod.jpg" width="226" /></a></div><br />Now the pedal has been cleaned up and can be used again.<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir8s1vD8KiNuBZpY6VWZvRUxvXa-IIad9SJoDXPu8yzqVMowx0X4wz-IsHAB6jzt79_iado75Pt_8Db7qwTTksuD9wIWzqjsfo2fdlEdZ_Htl7aYYhEmNKMVYpN11gcZdQZCivlkpyDBzJSYK3-GGguqL6qZMjC3TQPWqadFvm3w6zRobTut8-pO5K/s1000/macchina_del_tempo_pt80_tap_tempo_delay_test.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir8s1vD8KiNuBZpY6VWZvRUxvXa-IIad9SJoDXPu8yzqVMowx0X4wz-IsHAB6jzt79_iado75Pt_8Db7qwTTksuD9wIWzqjsfo2fdlEdZ_Htl7aYYhEmNKMVYpN11gcZdQZCivlkpyDBzJSYK3-GGguqL6qZMjC3TQPWqadFvm3w6zRobTut8-pO5K/s320/macchina_del_tempo_pt80_tap_tempo_delay_test.jpg" width="320" /></a></div><p><b>Notes</b></p><ul><li>read risk disclaimer</li><li>excuse my bad english</li></ul><p><br /></p><p><br /></p>Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-36054529321553565052023-05-06T20:28:00.000+02:002023-05-06T20:28:53.209+02:00Dual Terratec Phase 88 Rack audio interface repair<div style="text-align: center;"><iframe width="560" height="315" src="https://www.youtube.com/embed/XQHzpKy6Ji0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div><p><b>Terratec Phase 88 Rack</b> is mid 2000 <b>8 channel in/out audio interface</b>. It has 8 balanced/unbalanced input, 2 of them phantom powered, and 8 balanced/unbalanced output. It can reacord at 96 kHz.</p><p>For more than 2 channel recording I'm actually using the <i>ST Audio DSP2000</i> interface, running it on linux. You can find the full article here: <a href="http://davidegironi.blogspot.com/2017/11/st-audio-dsp2000-c-port-on-linux-using.html">http://davidegironi.blogspot.com/2017/11/st-audio-dsp2000-c-port-on-linux-using.html</a></p><p>Like the ST Audio, the Terratec also it's based on a Rack + PCI interface design. And you guess... the PCI is running the <b>IC Ensemble Envy24</b> I/O controller chip too, nominally the <b>ICE1712</b>.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwkJiAt7Q6xP9VmVLOubpNnwzRRySUiflcOYsrXEdcJk4FvJkYm9yXjVNmMsL8YVcA5iQ9aUxudX_O_jDBJFLwCyF5Vfz4PwPsl54eQUkoTQGSj7DNliLKBKYL_E5ZxUqLrEPWxYRO6XIZh8KhJkvUbB7FiPvKvSSsT_m8E6dR8VFSPiWAsabNj2n6/s1000/dual_terratec_phase88_windows10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwkJiAt7Q6xP9VmVLOubpNnwzRRySUiflcOYsrXEdcJk4FvJkYm9yXjVNmMsL8YVcA5iQ9aUxudX_O_jDBJFLwCyF5Vfz4PwPsl54eQUkoTQGSj7DNliLKBKYL_E5ZxUqLrEPWxYRO6XIZh8KhJkvUbB7FiPvKvSSsT_m8E6dR8VFSPiWAsabNj2n6/s320/dual_terratec_phase88_windows10.jpg" width="320" /></a></div><p>It happens to find a good deal for a couple of Terratec. To me it means to have 16 channels of recording power instead of 8. I don't really use that card to much, just to record drums, but that deal was so good I couldn't let it go.</p><p>Terratec Phase 88 Rack PCI<b> Full specifications:</b></p><p></p><ul style="text-align: left;"><li>8 balanced analog inputs, 1/4" jack</li><li>8 balanced analog outputs, 1/4" jack</li><li>8 gain controllers on the front for setting levels for analog inputs (20dB range)</li><li>8 input signal and clipping LEDs on the front panel</li><li>2 XLR/jack microphone inputs on the front panel as alternatives to the Line inputs 7 and 8, inputs 7 and 8 switchable between microphone and line/instrument levels, switchable 48 V phantom power for microphone inputs</li><li>2 separate MIDI interfaces (5-pin DIN)</li><li>24-bit/96 kHz A/D converter with 100 dB (A) SNR*, 100 dB(A) typical @ 48 kHz</li><li>24-bit/96 kHz D/A converter with 110 dB (A) SNR*, 109 dB(A) typical @ 48 kHz</li><li>WordClock I/O</li></ul><div>But the deal has a price... the supply is missing, and one of the card has channels 7 and 8 that does not work. Also, driver for Windows are a question mark, I can not find a sure answer if they work or not, but for me that was not a problem cause my first plane was to use linux as a recordind station.</div><div><br /></div><div>The package has been delivered, I've opened it and connect both the PCI and the related rack to a <b>Core 2 Quad 2 Q6600 with 8Gb of RAM, and 500Gb SSD</b> I would like to use for this project. It's not the best PC for mixing but I will use it just for recording. It will suffice.</div><div><br /></div><div>The rack needs a 12V AC 1.5A AC supply, I've one 3.5A the just fits both the rack.</div><div><br /></div><div>To my surprise, the latest <b>5.51b driver from Terratec works on Windows 10 x64</b>. I've configured one card as master, and the other as secondary, calibrate them throgh the driver mixer software, I've reboot... and they works. I can see cards input and output in <b>Reaper using the ASIO driver from Terratec</b>.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG31maSmFTWRFHR68tQV_ZKezUokAlVLMnEBSG8KUQ8ShM1IBMUA5o5h0A_PeUDoJXriyw-khTz7rPp_6jHvs322edibuZgsRU1445LUpexIxtGd8N9iHXWwEusOO1uho1rs8AOUIf63JtwcXDkGNXBt0sAGI2qzT0p37pRQtUg655K_tNNXgjNNfI/s1000/terratec_phase88_teardown.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG31maSmFTWRFHR68tQV_ZKezUokAlVLMnEBSG8KUQ8ShM1IBMUA5o5h0A_PeUDoJXriyw-khTz7rPp_6jHvs322edibuZgsRU1445LUpexIxtGd8N9iHXWwEusOO1uho1rs8AOUIf63JtwcXDkGNXBt0sAGI2qzT0p37pRQtUg655K_tNNXgjNNfI/s320/terratec_phase88_teardown.jpg" width="320" /></a></div></div><div><br /></div><div>Now it's time to repair the channel 7 and 8 of one rack.
That channels emit just a white noise, no matter if I try the line input or the mic input.
I have to open the card and trace out the problem.
Of course there is not schematic for this card, so I have to trace the signal using the continuity functionality of my multimeter.
Signal goes straight from the inputs (line and mic) to a relay, that is driven by software, then to the <b>LM833 op-amp</b>. This is the first stage driver for the input.
I take my multimeter out, feed a 100mV 500Hz sine in the line input and find out that for both the channels out from the first stage of the LM833 there's a DC signal that has nothing in common with the expected sine.
So I've ordered a few LM833 and replaced the two of channels 7 and 8.
Channels now works!
For a few bucks now I've got a 16 channel recording station. As for my DSP 2000 ST-Audio station I will use it just for recording, this time I'm on Windows but even if the PC is not that powerfull it works fast if used just for this end.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtRfNdAYhG9Uj0mJEjCFgWyHIeyjyke5ek1Nh6wqVeQysJTWMWsr1CqMOwSHTkHwV17Q6tnyUHmS-aoYCiFuV9J1YWMmQg9pzb0pIkZKpoZLIZnc6_hw6scwYHZNm-9DEHnJxvy99oF5beNEQnnEVCWNN5XezWNj-Z-ICgl-IlGdm0ov6_mH1ih3dP/s1000/terratec_phase88_repair_lm833.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="563" data-original-width="1000" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtRfNdAYhG9Uj0mJEjCFgWyHIeyjyke5ek1Nh6wqVeQysJTWMWsr1CqMOwSHTkHwV17Q6tnyUHmS-aoYCiFuV9J1YWMmQg9pzb0pIkZKpoZLIZnc6_hw6scwYHZNm-9DEHnJxvy99oF5beNEQnnEVCWNN5XezWNj-Z-ICgl-IlGdm0ov6_mH1ih3dP/s320/terratec_phase88_repair_lm833.jpg" width="320" /></a></div><br /></div><div>I've also try the Terratec on Linux, but the Envy24 driver are not compatible with this specific hardware, I think one has to download the driver code, fix it and recompile the kernel, but to me just using Windows is enough.</div><div><p><b>Notes</b></p><ul><li>read risk disclaimer</li><li>excuse my bad english</li></ul></div>Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-16292223732952756442023-04-03T19:33:00.001+02:002023-04-03T19:33:21.958+02:00UNI-T UT61D AC mode repair<div style="text-align: center;"><iframe width="560" height="315" src="https://www.youtube.com/embed/t72q8BYRtDI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div><p>My first "pretty good" multimeter was a <b>UNI-T UT61D</b>.</p><p>Now it's <b>discontinued</b> and one can find a better one for a low price, but backin time it was a serious replacement for my 5 bucks cheap meter Main featuras are <b>True RMS, 6000 count</b> and autorange.</p><p>I still use it as second measurement/testing unit.</p><p>Last month I've notice it has a <b>problem when using it in AC reading</b>. As example trying to read 12V AC out from the sec of a transformer I get 3.3V, same reduced reading for my main supply, which in Italy is something around 230V.</p><p>First thing I've notice when I opened the meter it was a <b>few components with some sign of corrosion</b>, at least it seems to me that.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtFCETuW29Xu5R_SQgApDD3oOQYcPNCTmAPO2qRFC-orifg8ucv5upebnuteDK_zuC86a4kdm-gjTU8vMHEKOA7BMG48b-czg9qDJbkzzUwGGNU49TKphRN0h2zz1PiBq1HMF_8Wg-WeRvEB-RCVskhU9MOLp4ucdeAgrRWGAPmKs03ImncF2tosHr/s1000/ut61d_top_pcb.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtFCETuW29Xu5R_SQgApDD3oOQYcPNCTmAPO2qRFC-orifg8ucv5upebnuteDK_zuC86a4kdm-gjTU8vMHEKOA7BMG48b-czg9qDJbkzzUwGGNU49TKphRN0h2zz1PiBq1HMF_8Wg-WeRvEB-RCVskhU9MOLp4ucdeAgrRWGAPmKs03ImncF2tosHr/s320/ut61d_top_pcb.jpg" width="320" /></a></div><p>So simply resoldering three components solves the problem... but <b>it did't last long</b>. I thought the problem was related to cracked solder, but after a day the problem still exists.</p><p>I take to opportunity here to show you what's a <b>genuine bodge high speed switching diode</b>. When I opened the multimeter, I've noticed that the R9 does not seems a resistor. Indeed desoldering it, turns out that over the resistor someone in the farm soldered a high speed switching diode. It's marked C3, and I think it's a 1SS226, maybe to protect something, but I've not investigated further.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbh-yY4ryH2GBJZi8cEpq_tmbUDZm4aOWpB6w8V_sduZiHPx4XnvOez6QlLxsBLeX2zqZzTkjIK71DfcYakOlDJ4rFG17PiQF04MJpZaqLYKOKsZAwYB-7CJ9Ga7Lxvh_iiitJRalnsCc8CjKVpOVaKZccDMvDNiGiM2Nl5JKoZbjteWkvoC-DqMFj/s1000/ut61d_bodge_diode_2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="563" data-original-width="1000" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbh-yY4ryH2GBJZi8cEpq_tmbUDZm4aOWpB6w8V_sduZiHPx4XnvOez6QlLxsBLeX2zqZzTkjIK71DfcYakOlDJ4rFG17PiQF04MJpZaqLYKOKsZAwYB-7CJ9Ga7Lxvh_iiitJRalnsCc8CjKVpOVaKZccDMvDNiGiM2Nl5JKoZbjteWkvoC-DqMFj/s320/ut61d_bodge_diode_2.jpg" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIRDoa_TjEDH4BmvdWqaL0BLIrEW60dh1dTU-NmrKWFPnlhyhobig39rm2ZWFsoSUaXFmRQkYdwGSVs2j0j22KKQedxJBJg-xNcRdqQlOinHT5StJVdVzbKCN9-g1cL1SA4vgTnnaUEWVedU5N6P1WXI5QNN0qlCRYELBTtpjjHAHvhQhlDGp-cJBf/s1000/ut61d_bodge_diode_1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="563" data-original-width="1000" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIRDoa_TjEDH4BmvdWqaL0BLIrEW60dh1dTU-NmrKWFPnlhyhobig39rm2ZWFsoSUaXFmRQkYdwGSVs2j0j22KKQedxJBJg-xNcRdqQlOinHT5StJVdVzbKCN9-g1cL1SA4vgTnnaUEWVedU5N6P1WXI5QNN0qlCRYELBTtpjjHAHvhQhlDGp-cJBf/s320/ut61d_bodge_diode_1.jpg" width="320" /></a></div><p>Back to the issue, as I told you I've not solved it by resoldering those three components. So I've to investigate. The meter it's based on <b>Fortune Semiconductor FS9922</b>. Although I can not find this meter schematic, I can find the FS9922 datasheet which is equiped with useful usage cases. I'm interested in the AC reading.</p><p>Turns out that datasheet show us how to connect the AD737 to FS9922. The <b>AD737 is a True RMS to DC converter</b>, and what's matter most it's the same IC used in by UNI-T in my meter.</p><p>I've resolder components around the AD737 and meter seems to works again, but <b>it did't last long</b>.</p><p>So, first of all I've hooked up cables to a few input and output of the AD737, to see if there's something wrong, but i did't catch anything.</p><p>I've thought it was the AD737, so I try replacing it. This is a long story too, I've buy a couple of AD737 from a seller, first time they sell me wrong IC. Ok, it may happens... they now ship me the right IC. At that point one month is passed cause it takes a few weeks for each shipping to be delivered. One the AD737 has beed delivered I've replaced it, but both does not works. So I've but two more, this time from a reputable seller. And this time replacing the AD737 makes the meter works again... but <b>it did't last long</b>. The first seller sends me fake IC. But even with the original one the meter does not work like it should.</p><p>To that point I though it was some components or the AD737, and I start thinking it was <b>something related to heat, cause when I resolder things it works for a couple of hours</b>.</p><p>I have made a post on the <b>eevblog forum</b>, and a user suggested me to look at the gain input stage of the AD737. I desoldered the resistors and checked it. Heating up and reading it.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvm8KbMqVyT7_gxWehDNn3xTHmnCmNmBuVDMNGBDXhJg3fHwTG1uVI2nfkJ489Bbs4u6YSpwOp1X-5kuLMuoXVfLF_rr5ACNK3l5pVBbZPa1G8iwcvQR1iEviFT1Dg6EQsRWptKbCROpxe1PvcihpWRGZUX3YvTWoFYP7gC1j4KJbLN-1GsLTyJlh4/s1000/ut61d_bottom_pcb.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvm8KbMqVyT7_gxWehDNn3xTHmnCmNmBuVDMNGBDXhJg3fHwTG1uVI2nfkJ489Bbs4u6YSpwOp1X-5kuLMuoXVfLF_rr5ACNK3l5pVBbZPa1G8iwcvQR1iEviFT1Dg6EQsRWptKbCROpxe1PvcihpWRGZUX3YvTWoFYP7gC1j4KJbLN-1GsLTyJlh4/s320/ut61d_bottom_pcb.jpg" width="320" /></a></div><p>Resistance does not differs that much when I heat that resistors.</p><p>Another thing I've notice is that just breathing on the back of the PCB a few times it's enough to make the PCB works for a few hours.</p><p>That <b>turn on a light bulb</b> for me... That must be <b>something related to capacitors</b>, cause the heat of the breath it's been dissipated in a few minutes, but the meter works for a few hours after that. So it must be something that chemically is renewed for hours just by a small amount of breath. And that should be an electrolitic.</p><p>So I've started investigation on the AD737 elecrolitics. I've first changed the one on the input signal, but it was not that one. So I changed the two of the power supply rails... and... <b>it works!</b> Even after a day it works.</p><p>That <b>damn electrolitics</b> cause the issue. </p><p>I takes a long to repair this meter and for sure it will be simpler and cheaper to replace it, but it's my first meter, and also repairing this gives me the opportunity to gain my knowledge on electronics.</p><p><b>Notes</b></p><ul><li>read risk disclaimer</li><li>excuse my bad english</li></ul>Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-50440910120224158192023-03-07T07:20:00.000+01:002023-03-07T07:20:06.683+01:00Vintage Philips speakers restoration with TPA3118 bluetooth amplifier<div class="separator responsive-container" style="clear: both; text-align: center;"><iframe width="560" height="315" src="https://www.youtube.com/embed/PGxKH6wj-RU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div>
<p>A few month ago I've restored a vintage <b>Philips RH591</b> amplifier from 70's. I've sold this amplifier but I've kept the speakers cause I liked it.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk4LWoJkOjvgZjbpSwPsGSP3BWRAzxl98Ak6DSn-YeX3p8eC6J67XZLiojfctPPxbW3cck7BcQISG8mLh0bltJfzPeHz6vtYMFxMls7oCMHUjus6e8LEd1xV--e1wh_BOWEsDKnu2Ta6VGhJBf0EpYAOeemFrLRNw4tsju43Uk8SzbZTcoEfQYBe6q/s1000/Philips_591_vintage_speakers.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk4LWoJkOjvgZjbpSwPsGSP3BWRAzxl98Ak6DSn-YeX3p8eC6J67XZLiojfctPPxbW3cck7BcQISG8mLh0bltJfzPeHz6vtYMFxMls7oCMHUjus6e8LEd1xV--e1wh_BOWEsDKnu2Ta6VGhJBf0EpYAOeemFrLRNw4tsju43Uk8SzbZTcoEfQYBe6q/s320/Philips_591_vintage_speakers.jpg" width="320" /></a></div> <p></p><p>They have two <b>5 inch octagonal AD-5060/M8 midrange</b> speaker each, and one <b>1 inch AD-0161/T8 tweeter</b>.</p><p>First thing I've done was measuring the impedance. One of the speaker had a short circuit. So I decided to open both.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsI9F-81xH4eCctOznNpPhQ4uUcowWjWbMraIk8eYe7wk7sXJ8O9-D9Iw1oLlwZ6FmAALRg74qbj17c1wN1elR8tQp5feZZDvCSxUO599q30yV1QuHyPUE9AfAmHbcpKrRwv4bn2utpHIWybZUJoIhRt9o37-XZE8ySihpQX9glJSjHLLFqDLvEKKW/s1502/Philips_591_vintage_speakers_front.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1502" data-original-width="1000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsI9F-81xH4eCctOznNpPhQ4uUcowWjWbMraIk8eYe7wk7sXJ8O9-D9Iw1oLlwZ6FmAALRg74qbj17c1wN1elR8tQp5feZZDvCSxUO599q30yV1QuHyPUE9AfAmHbcpKrRwv4bn2utpHIWybZUJoIhRt9o37-XZE8ySihpQX9glJSjHLLFqDLvEKKW/s320/Philips_591_vintage_speakers_front.jpg" width="213" /></a></div><br /> Opening the two was not so simple. At Philips they have used some kind of glue for the backpanel, even if the backpanel has securing screws. That glue was also used to join the speaker to the case, although also there are screws.<p></p><p>Once opened I've noticed there was also a 2nd order low pass and high pass filter.</p><p>One of the tweeter was broken, so I had to change both. I've used two <b>90's Pioneer tweeter</b>. They do not sound as clear as the AD-0161, but they perform quit good at all.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYKu24O18VXw5zclfqwtGpjk2Cg-gsDY6gsx9C1el_TlqktK9My84Wmx_Z3AWqpcHAZK6gWimSWAUqvCC_GLpaVkCzvOU2RWmoednWRNasJMOgfBK8dImNl2FYNhtXEn821o-MjyRZkAqzGUYxwMK02G6qBxZxwLdRlpWq6uiJHvSHy-nqQsVr9K4b/s1000/AD0161_philips_tweeter.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYKu24O18VXw5zclfqwtGpjk2Cg-gsDY6gsx9C1el_TlqktK9My84Wmx_Z3AWqpcHAZK6gWimSWAUqvCC_GLpaVkCzvOU2RWmoednWRNasJMOgfBK8dImNl2FYNhtXEn821o-MjyRZkAqzGUYxwMK02G6qBxZxwLdRlpWq6uiJHvSHy-nqQsVr9K4b/s320/AD0161_philips_tweeter.jpg" width="320" /></a></div><p>I had to draw and print a frame to connect the new tweeter to the case, it was a pretty simple piece.</p><p>Another thing I've drawn and printed is the bass reflex tube. They speaker were closed but they sound better with a <b>bass reflex</b>. I've drilled an hole on the back panel for the bass reflex.</p><p>I've used a simple one capacitor <b>1st order filter</b>. I prefer to let the midrange speaker works also on high range, and then boost that range using the tweeter. I've found they sounds better with this configuration.</p><p>Just a few rework on the wood side and a clean of the front grill and the speaker were ready to be reassembled.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP0m6HN_QuQ5VW3-jAR9xAAqPqFKscxIMdaqvtlCoVr80wjXpR5LJd7QzCBLNm4VnXh06SSjIV_w-DvAELBY_WMTZg47qVqFrdn1qELYhqrnKevQGEqk8pUpXgglxxuxsrqe20ZVQHYyxSdD8sxIiIGFLMn8mYqCwSH2b3O4OiAGGKnAOB0ObUFD52/s1502/Philips_591_vintage_speakers_inside.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1502" data-original-width="1000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP0m6HN_QuQ5VW3-jAR9xAAqPqFKscxIMdaqvtlCoVr80wjXpR5LJd7QzCBLNm4VnXh06SSjIV_w-DvAELBY_WMTZg47qVqFrdn1qELYhqrnKevQGEqk8pUpXgglxxuxsrqe20ZVQHYyxSdD8sxIiIGFLMn8mYqCwSH2b3O4OiAGGKnAOB0ObUFD52/s320/Philips_591_vintage_speakers_inside.jpg" width="213" /></a></div><br /> I also would like to make the speaker active, possibly with a bluetooth amplifier board.<p></p><p>One of the speaker contains the power supply and the amplifier, the other it's a passive one.</p><p>I have an adjustable <b>4A 230V linear power supply,</b> which I put in one of the speaker. I also put a power plug and a power switch. It's regulated to 20V.</p><p>I've buy a couple of boards based on the <b>TPA3118 monolithic IC</b>. One of the two (the blue one) has a little hissing noise on the bluetooth, but the other (the black one) sounds really good. The blue one also has a fake TPA3118, even the pins are not 32 but 28, so it may be TPA3110 or a fake one.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNqQqzpxjgSgXQOy01Ps5LsIY5-Ko0wX-CNX84r9ec3cu9eCJW18F2fNyLuenHvjiPJ73xL64pIvsw4Akl6fEU0dwlQvqF601Ivz4Btb5V9Wif7518k3eSbybaISNAx41e1vG1PWInm7nlyzLiIWLiOMMy12zNLQ7TckIOTKk0RQAHP3nOpC3peZKb/s1000/Vintage_active_speakers_TDA3118_bluetooth_board.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNqQqzpxjgSgXQOy01Ps5LsIY5-Ko0wX-CNX84r9ec3cu9eCJW18F2fNyLuenHvjiPJ73xL64pIvsw4Akl6fEU0dwlQvqF601Ivz4Btb5V9Wif7518k3eSbybaISNAx41e1vG1PWInm7nlyzLiIWLiOMMy12zNLQ7TckIOTKk0RQAHP3nOpC3peZKb/s320/Vintage_active_speakers_TDA3118_bluetooth_board.jpg" width="320" /></a></div> <p></p><p>In order to move the audio jack mounted on the board, on the backpanel, I've desoldered the jack and find out that the jack tip to GND select the bluetooth input, otherwise the jack input is used by the preamplifier mounted on the amplifier board. So I've added a little DPDT switch to select the audio source for left and right channel, which can be <b>bluetooth or line input from the jack</b>.</p><p>For the second passive speaker connection I've used a <b>GX12 screwing connector</b>.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvxGYHq2FFIsJnc5GPDQ0E-uq1jD4lJIkkpAqV2ruy8gvIdZ9FWjM8Ysv5fT61OWWFzjvnrcJ-tpRv7MtdQjwFKWHFytS5HkJdbJVBjjXQuVyjIA23sbGaCl6a89uu8YKb81hl9UWcSh0rAoYR1mDf9HquJqg4Nq8P5EMPpvy4mtctOs_QuXRsndSK/s1502/Philips_591_vintage_speakers_back.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1502" data-original-width="1000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvxGYHq2FFIsJnc5GPDQ0E-uq1jD4lJIkkpAqV2ruy8gvIdZ9FWjM8Ysv5fT61OWWFzjvnrcJ-tpRv7MtdQjwFKWHFytS5HkJdbJVBjjXQuVyjIA23sbGaCl6a89uu8YKb81hl9UWcSh0rAoYR1mDf9HquJqg4Nq8P5EMPpvy4mtctOs_QuXRsndSK/s320/Philips_591_vintage_speakers_back.jpg" width="213" /></a></div><br /> Because the speker were mounted on the top of a bookshielf, I've added a power switch to the power cord, and I've left the switch activated on the speaker. that way I can power both on from the desk.<p></p><p>So, how they sounds? They are <b>really loud and sounds more crystalline than I tought</b>, the just a little bit low on the bass, not that they don't have but without any equalization I would have preferred a little more of basses.</p><p><b>Notes</b></p>
<ul>
<li>read risk disclaimer</li>
<li>excuse my bad english</li>
</ul>
<br />Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-42156538022124123242023-02-08T19:25:00.001+01:002023-02-08T19:25:44.179+01:00Open source .NET software license manager<div class="separator responsive-container" style="clear: both; text-align: center;"><iframe width="560" height="315" src="https://www.youtube.com/embed/yEowfhBio7o" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div><div><br /></div><div><b>DGLicenseLib</b> is <b>.NET library</b> you can use in your project to <b>manage software licenses</b>.</div><p>If you distribute your software and need a way to give your customer a personalized license number, this library can help you.</p><p>It's <b>open source</b>, and available as a package on <b>nuget</b>.</p><p>This library uses <b>asymmetric cryptography</b> to sign a license key. The license key is the verified by the client software to allow software usage.</p><p>DGLicenseLib uses an <b>Elliptic Curve Digital Signature Algorithm</b> (<a href="https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm">https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm</a>) to sign the license, namely the <b>secp256k1</b>.</p><p>It's composed by three parts:<br /></p><ul style="text-align: left;"><li><b>DGLicenseLib</b>: the main license library that implements sign and verify function, it can also be used to generate new key pairs</li><li><b>DGLicenseLibDeviceId</b>: this library it's used to generate "unique" id based on the PC hardware running the software</li><li><b>DGLicenseLibUC</b>: this library contains a couple of UI helper that can be integrated in the client software to simplify the licensing</li><li><b>DGLicenseLibManager</b>: this is the GUI application that helps you to manage your distribuited license</li></ul><p></p><p>The idea behind this library is that you can develop your own interface, GUI, CLI, API... but there are a couple already deployed. This will save you time. So, all the function exposed above can be implemented by directly calling the DGLicenseLib, for the sake os semplicity I'll explain you by using the UI provided by the software.</p><p>First, you have to <b>generate a license keypair</b> using the application DGLicenseLibManager. Just give a name to your keypair, and click Generate. This will pack your keypair (private + public key) in one single file.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrCm_OwnzXPVZKNhjw2ELlVfic58oxnm93H6L_X2AKzZxu-ge-3XWtdl3XeRotvuAXrf15HDS1nvbX9U9toDp722ASFfiZ0EXpSqs_O_m5PUsKVuJcxde6JkWw4W9LqsWk3iJZn3O_mLKvRjzo8hYpzUqR_GgFeqD5VorZtVykt_LXuVHMLkZg6Aaj/s786/license_manager_generate_key.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="593" data-original-width="786" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrCm_OwnzXPVZKNhjw2ELlVfic58oxnm93H6L_X2AKzZxu-ge-3XWtdl3XeRotvuAXrf15HDS1nvbX9U9toDp722ASFfiZ0EXpSqs_O_m5PUsKVuJcxde6JkWw4W9LqsWk3iJZn3O_mLKvRjzo8hYpzUqR_GgFeqD5VorZtVykt_LXuVHMLkZg6Aaj/s320/license_manager_generate_key.png" width="320" /></a></div><br />On client side, you have to include in your software the provided public key.<p></p><p>Another thing you can do, if you want to restrict your license to a PC, is generating an <b>unique id for the PC</b> which is running the software. This can be done in several way, the helper provided by the library <span style="font-family: courier;">DGLicenseLibDeviceId</span> do this for you just by calling the method <span style="font-family: courier;">GetDeviceId</span>.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTu91FXgGPdZKCwLLhp9WscL4NI3gdKKnTdhyti0zMo0iZ7wjIUvVF8dCVWzTXXM7i9HIOo7XVli_miwGqroa-7plx3qApxnA93NcyQvq3yxnqHGxA8eesz5Wv-mUvuZVAoPSsGAbu3IT2NO1p8b_epbHB_xidxENxyMSzNoRdjJOMS5WUl_LtLJSU/s688/license_manager_license_request.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="422" data-original-width="688" height="196" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTu91FXgGPdZKCwLLhp9WscL4NI3gdKKnTdhyti0zMo0iZ7wjIUvVF8dCVWzTXXM7i9HIOo7XVli_miwGqroa-7plx3qApxnA93NcyQvq3yxnqHGxA8eesz5Wv-mUvuZVAoPSsGAbu3IT2NO1p8b_epbHB_xidxENxyMSzNoRdjJOMS5WUl_LtLJSU/s320/license_manager_license_request.png" width="320" /></a></div><p></p><p>This method will generate an unique device Id based one your hardware: </p><p></p><ul style="text-align: left;"><li>Motherboard Serial Number</li><li>CPU identifier</li></ul><p></p><p>Now just set a filename for your license file.</p><p>If you use the helper included in the DGLicenseLibUC library, you just can check you license by calling the method <span style="font-family: courier;">CheckLicenseFile</span>.</p><p>This method will do the following for you:</p><p></p><ul style="text-align: left;"><li>load license from your license file (if one exists)</li><li>show a license helper UI that ask the user to <b>fill a license key to activate the software</b></li></ul><p></p><p>Of course you can set a null device id. This way the license provided can run on all the PC.</p><p>In just a few line of code you have secured your software, find an example below</p><pre style="background: white; font-family: Consolas; font-size: 13px;"><pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; font-family: Consolas;"><span style="color: blue;">string</span> licensePublicKey = <span style="color: #a31515;">"-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEKKAzjD8Ln5dJagBqIVWImHJH4R4VTQ9A\nfSbdjk7B7pcwZFiBP6xCV7A4fpN1C7YmgtfJ5WdO+Sjwxq1S8pwM/A==\n-----END PUBLIC KEY-----"</span>;
<span style="color: blue;">string</span> licenseDeviceId = DGLicenseLibDeviceId.GetDeviceId();
<span style="color: blue;">string</span> licenseFilename = <span style="color: #a31515;">"license.lic"</span>;
Nullable<DGLicenseLib.License> license = <span style="color: blue;">null</span>;
<span style="color: blue;">if</span> (!DGLicenseLibClientHelper.CheckLicenseFile(licensePublicKey, licenseDeviceId, licenseFilename, <span style="color: blue;">out</span> license))
<span style="color: blue;">this</span>.<span style="color: #2b91af;">Close</span>();</pre></pre><p>The user now has to request a license by sending you the license request. Which is the Base64 encoded value of the public key and your device id.</p><p>You can now use the DGLicenseLibManager application to Sign a new license. When signing the license you can</p><p></p><ul style="text-align: left;"><li>set an expire date, if non is selected the license will not expire</li><li>set additional data</li></ul><p></p><p>The <b>license payload</b>:</p><p></p><ul style="text-align: left;"><li>device id</li><li>expire date</li><li>additional data</li></ul><p></p><p>is then signed and the payload and his sign are encoded in Base64 format.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr8TacKeQDUnqM8a07vEcofMH0VcMoERiRNfbSoVpOSSs4tmPkd7b1Wf1L1xPJw0mQgWxouaVJGjxnJAPKMWszrSFFP6XefXrDhdbY_dKUkCZpyvVwWMUq2j93DPy3XsqfFGBr_9QUMJ5y9oDih7sAi3hMNpUlMMbX6njjn8p2ZArmsMNZpJv62owP/s786/license_manager_license_sign.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="593" data-original-width="786" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr8TacKeQDUnqM8a07vEcofMH0VcMoERiRNfbSoVpOSSs4tmPkd7b1Wf1L1xPJw0mQgWxouaVJGjxnJAPKMWszrSFFP6XefXrDhdbY_dKUkCZpyvVwWMUq2j93DPy3XsqfFGBr_9QUMJ5y9oDih7sAi3hMNpUlMMbX6njjn8p2ZArmsMNZpJv62owP/s320/license_manager_license_sign.png" width="320" /></a></div><p></p><p>This is the string you can give your customer.</p><p>The user now can insert this license key. The provided helper will check the key validity by using the public key of the software. It will also check for the device id provided and the expire date. If check passes the license file is written.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgavqWJxyxO-TGrIf59pinHnBRDgO3SIoxZZsGwf4XnsfDQ3Fdui3p_1fgNDxfyDOP-actQqS9ZW_h85kVMp8kYp6uPmKi6nud-cc2PU8FHclIw5mYJ5_YZIPkG0_agX8k9eJF9mL4KZo4na9PCwg3OeczGJdza5jVg4a_WmNeqCkGYdGIr-y6-JX90/s688/license_manager_license_validation.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="422" data-original-width="688" height="196" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgavqWJxyxO-TGrIf59pinHnBRDgO3SIoxZZsGwf4XnsfDQ3Fdui3p_1fgNDxfyDOP-actQqS9ZW_h85kVMp8kYp6uPmKi6nud-cc2PU8FHclIw5mYJ5_YZIPkG0_agX8k9eJF9mL4KZo4na9PCwg3OeczGJdza5jVg4a_WmNeqCkGYdGIr-y6-JX90/s320/license_manager_license_validation.png" width="320" /></a></div><p></p><p>Next time the softare restar the license file will pass the check and the license form will now shows up.</p><p>Code is distributed with a sample client project "DGLicenseLibClientSample" you can take a look at.</p><p>The UI helper for client is also internationalizable by using json files or an extenal class loaded. Find and example in the sample client project.</p><p>Asymmetric signing code embedded in this project is taken from the library "<b>A lightweight and fast ECDSA implementation</b>" (<a href="https://github.com/starkbank/ecdsa-dotnet">https://github.com/starkbank/ecdsa-dotnet</a>).</p><p>The device id generation code is indeed taken from the library "<b>DeviceId</b>" (<a href="https://github.com/MatthewKing/DeviceId">https://github.com/MatthewKing/DeviceId</a>).</p><p>You can consider this library as an helper package to develop you licensing solution for your software. But this will not have to give you a <b>false sense of security</b>. Indeed anything that is distributed as an application can be cracked. You can obfuscate and pack your software with open source or commercial software and libraries but an expert hacker can crack your system. You'd rather focus on making your customer happy, this will give you a change that your customer will not crack your software but pay you for that. And this library will help you developing a license solution with just a few lines.</p><p><b><br /></b></p><p><b>Code, Binary & Packages</b></p>
<ul>
<li><a href="https://github.com/davidegironi/dglicenselib" target="_blank">https://github.com/davidegironi/dglicenselib</a></li>
</ul>
<br />
<b>Notes</b><br />
<ul>
<li>read risk disclaimer</li>
<li>excuse my bad english</li>
</ul>
<br />Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-15972717695597874422023-01-06T17:05:00.001+01:002023-01-16T14:57:00.107+01:00AVR serial to 8 digits seven segment numeric display<div class="separator responsive-container" style="clear: both; text-align: center;"><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/xhPd80Vl3wE" title="YouTube video player" width="560"></iframe></div><div><br /></div>
The avr_serial7segment8bitdisplay is an <b>ATmega8 based device that get's 8 digits numbers from the UART line and display to a seven segment display</b> with 8 digits.<br />
<br />
As example, it can be used as <b>exchange rate display</b>.<br />
<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtw6Qjb2TPyMQjdGhiJYbpRxpghy_IAjJJdYmKGAwib5l84B-FhyAW5f3G-mR4onAM9VBRmzv6ZdGX4iCw4qEVf3s6UCUm3avucFehsfa5ofmXNsBsBwscFzeIDhlTsbCYAG--m_saxa61YVGH3MZF_9uULMSYK0EFr0o8GM9vGf7y0Ntw-DIGdGx-/s4000/serial_7_segment_display_8_digits_case.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2664" data-original-width="4000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtw6Qjb2TPyMQjdGhiJYbpRxpghy_IAjJJdYmKGAwib5l84B-FhyAW5f3G-mR4onAM9VBRmzv6ZdGX4iCw4qEVf3s6UCUm3avucFehsfa5ofmXNsBsBwscFzeIDhlTsbCYAG--m_saxa61YVGH3MZF_9uULMSYK0EFr0o8GM9vGf7y0Ntw-DIGdGx-/s320/serial_7_segment_display_8_digits_case.jpg" width="320" /></a></div><br />By default it can display positive (max 8 digits) and negative (max 9 digits) integer and double precision numbers.<br />
<br />
The display driver used for the seven segment display is the <b>MAX7219</b>.<br />
<br />
It can perform pad left of pad right justification.<br />
Also it can load the last values recorded to the internal <b>EEPROM</b>.<br />
<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqWJKmNSbPh5eNHvIhCSQuI3eBVVGoqRU1ffQrNnT-UCXnyTgFgwRBg6ZQlq_aIOeFKW8rB0P1GwKuGzvzi7RLoIUO-6T0gY2mWLBhq2UYw1gQWltx0_xKrtk4VznnCB46VfqrxEsVAYsPyCQnWlFNPf8rxo9i9k2AIT9CFgvnk6VCJoE17kvZ8Z6e/s1000/serial_7_segment_display_8_digits_atmega.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqWJKmNSbPh5eNHvIhCSQuI3eBVVGoqRU1ffQrNnT-UCXnyTgFgwRBg6ZQlq_aIOeFKW8rB0P1GwKuGzvzi7RLoIUO-6T0gY2mWLBhq2UYw1gQWltx0_xKrtk4VznnCB46VfqrxEsVAYsPyCQnWlFNPf8rxo9i9k2AIT9CFgvnk6VCJoE17kvZ8Z6e/s320/serial_7_segment_display_8_digits_atmega.jpg" width="320" /></a></div><br />
The protocol used to send data to the device is simple, find below the format:<br />
<span style="font-family: "courier new" , "courier" , monospace;">STX CRC dd n ETX</span><br />
<ul>
<li><span style="font-family: "courier new" , "courier" , monospace;">STX</span> is 0x02</li>
<li><span style="font-family: "courier new" , "courier" , monospace;">CRC</span> 1 byte check code</li>
<li><span style="font-family: "courier new" , "courier" , monospace;">dd</span> (2 char numbers) is the display number 00..99</li>
<li><span style="font-family: "courier new" , "courier" , monospace;">n</span> (1 to 8 char numbers + optional . or first character minus) is the float digit, one dot, negative char and numbers allowed</li>
<li><span style="font-family: "courier new" , "courier" , monospace;">ETX</span> is 0x03</li>
</ul>
<div>
As you may notice it can handle up to 99 8 digits seven segment display.</div>
<div>
</div>
<div>
A <b>CRC 1 byte code</b> is required to be sure that the data is received with success.</div>
<div>
If the CRC code is checked successfully then the number is parsed, and eventually displayed and recorded in the internal EEPROM.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxqqP_ULN57KY8DiDzxu_4BD1NFDmpINutFRo_1Zp5gcyk7FWoc37kDF7bu0D1s2wh9tRr-S3eEij27ZskXasrNmH3WRGPQ8KtAnINqeVUDFjoHxKtu4bOsXBrPE_AQR02HUF8O1Ai8ywvOZ411pfgFV_K0ygTU5uSCpPH5MzB0BxAJEgQdJxlDd8_/s1000/serial_7_segment_display_8_digits_pcb.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxqqP_ULN57KY8DiDzxu_4BD1NFDmpINutFRo_1Zp5gcyk7FWoc37kDF7bu0D1s2wh9tRr-S3eEij27ZskXasrNmH3WRGPQ8KtAnINqeVUDFjoHxKtu4bOsXBrPE_AQR02HUF8O1Ai8ywvOZ411pfgFV_K0ygTU5uSCpPH5MzB0BxAJEgQdJxlDd8_/s320/serial_7_segment_display_8_digits_pcb.jpg" width="320" /></a></div><br /> Errors in getting data can be skipped or displayed by setting the desired behavior at compile time.</div><div>
<br /></div>
<div>
A <b>PowerShell script</b> (<a href="https://en.wikipedia.org/wiki/PowerShell">https://en.wikipedia.org/wiki/PowerShell</a>) has been used to test this device. You can use this script to write your own or to send directly your data.</div>
<div>
<br /></div>
<div>
The sample board provided use 2 seven segment display.</div>
<div>
<br /></div>
<div>
The UART to USB interface chip is the <b>CP2102</b>. I've select this chip cause it works without problem over the main operating systems.</div>
<div>
<br /></div>
<div>
The power as the data are provided through a micro USB port. </div>
<div>
<br /></div>
<div>
The ATmega8 runs @1Mhz using the internal LC oscillator.</div>
<div>
<br /></div>
<div>
I've also design a small <b>3D printable enclosure</b> that I've printed using PLA.</div>
<div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5r2l-mm9_08i2KPOjRUrcWufzwTo4bonIJHi3obzdPIXU5a59ILt0jGNMEj8SV6UT_8BBsGdu1qGw0lLVsd10c8FdJyF79dgVSm2tAe0rRHFeWbG7rra_tDhgXM-E6oL0B1zERH1hVifHIiLaNmwj5kodsmyvN_nzEYD4wmlA2rLogB9kNUS31OMe/s2454/avr_serial7segment8bitdisplay_dual-v3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2454" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5r2l-mm9_08i2KPOjRUrcWufzwTo4bonIJHi3obzdPIXU5a59ILt0jGNMEj8SV6UT_8BBsGdu1qGw0lLVsd10c8FdJyF79dgVSm2tAe0rRHFeWbG7rra_tDhgXM-E6oL0B1zERH1hVifHIiLaNmwj5kodsmyvN_nzEYD4wmlA2rLogB9kNUS31OMe/s320/avr_serial7segment8bitdisplay_dual-v3.png" width="320" /></a></div><br /> <br />
<b>Code and Schematics</b><br />
<ul>
<li><a href="https://sourceforge.net/projects/davidegironi/files/avr-serial7segment8bitdisplay/avr_serial7segment8bitdisplay-v1.zip/download" target="_blank">avr_serial7segment8bitdisplay-v1.zip</a></li>
<li><a href="https://sourceforge.net/projects/davidegironi/files/avr-serial7segment8bitdisplay/avr_serial7segment8bitdisplay-tester-v1.zip/download" target="_blank">avr_serial7segment8bitdisplay-tester-v1.zip</a></li>
<li><a href="https://sourceforge.net/projects/davidegironi/files/avr-serial7segment8bitdisplay/avr_serial7segment8bitdisplay_dual-v3.zip/download" target="_blank">avr_serial7segment8bitdisplay_dual-v3.zip</a></li>
</ul>
<br />
<b>Notes</b><br />
<ul>
<li>read risk disclaimer</li>
<li>excuse my bad english</li>
</ul>
<br />Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milano MI, Italia45.4642035 9.18998245.2860135 8.8672585 45.642393500000004 9.5127055000000009tag:blogger.com,1999:blog-6100511197805579796.post-22288910072397409362022-12-06T19:15:00.000+01:002022-12-06T19:15:41.546+01:00Video intercom additional buzzer circuit<div class="separator responsive-container" style="clear: both; text-align: center;"><iframe width="560" height="315" src="https://www.youtube.com/embed/b8nAmoUuyDc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div><div><br /></div>
<p>My parents has to change their doorbell. They have one 90's audio only doorbell with multiwire connection.</p><p>We buy a new video doorbell. It's the <b>Vimar K40910 Kit</b>.<br />This doorbell cames in two parts: the external unit and the internal monitor unit.</p><p>30 years later the intercom of my parents, devices talks using a on a <b>two wire protocol</b>, that is fairly better from the installation point of view, but worst in terms of extentions.</p><p>I would like to add a couple of <b>additional buzzer</b>. This new intercom does not have any connection for additional speaker ring. It's time to find a way to add this output.</p><p>The ring I would like to add are simple <b>12V buzzers</b>. I basically need to close a switch for a certain amount of time whenever the doorbell button is pressed.</p><p>First try was to reverse engineer the two wire protocol. It happens to be a 24V two wire DC protocol, with modulation on high frequency. My 50Mhz scope could barely catch the modulation. That means I would have to get it using an FPGA or a micro with a decent speed. I try to make thinkgs simple, so my <i>Plan B</i> take action.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzdO1H3s27UkwN1RsDuOxECsITxk-rF9F4SHlaEjfAwotglr36R9XbqrfTJfL5jZbbsBtqwVxLY65ySZrDYGN9w777XTAeyurwnkrzB3SplaZh-sJWUlGZvNRQ4fYBFqxDCgDxF10wxgTNqMOT1ZcCzMfVCCG_ciUMrE4imOV5YghkkGok3CUHutTd/s1000/intercom_buzzer_extention_board.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzdO1H3s27UkwN1RsDuOxECsITxk-rF9F4SHlaEjfAwotglr36R9XbqrfTJfL5jZbbsBtqwVxLY65ySZrDYGN9w777XTAeyurwnkrzB3SplaZh-sJWUlGZvNRQ4fYBFqxDCgDxF10wxgTNqMOT1ZcCzMfVCCG_ciUMrE4imOV5YghkkGok3CUHutTd/s320/intercom_buzzer_extention_board.jpg" width="320" /></a></div><br /> On the external unit the <b>button is connected to a 5V and a GND route</b>. I suppose the 5V is a pullup connection to the unit microcontroller.<p></p><p>First try was to use this pullup voltage to engage the led of an opto-coupler. I fail. That's because the voltage drop across the led also drop the voltage under the threshold for the microcontroller of the external unit.</p><p>So I decide to use a comparator. I find a 12V line from the external unit. I use the 12V to drive an <b>op-amp (LM358) in comparator mode,</b> comparing GND with the pullup line. Then the <b>signal is inverted using a NPN transistor (2N3904)</b>. I use this signal to <b>drive an opto-coupler (PC817)</b>. </p><p>On the other side of the opto-coupler I have to put the timer circuit. Cause I want the rings to emit sound for a certain time after the unit button is pressed. I've used a common <b>NE555 timer circuit</b>. I've just to select the right resistor and cap to obtain a timer from less than 1 to more than 30 sec.</p><p>The buzzer are driven by a <b>N-Channel Mosfet</b> with the gate connected to the NE555 output.</p><p>This small circuit is now ready to be soldered on protoboard. It fits the enclosure of the external unit mounting, the 12V that drive the buzzer are taken from an additional power supply and I can use the multiwire cable that was previously connected to the old intercom.</p><p>Find the circuit for this small project below:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgBJAJZJlm8HeV6i41VW-JeeMI3y0f8tN8agfTEcCZEegH7Uefj6fWnGyVwI6mL6RLVWUI1DZhqvvyo-XvketuW42H2vdoKp5ge6O7vgzAvO6JZ5C8eGj80aIXA60euYhLjGzGMwWgsZcWWv37cubdMX3E7gU4tleLkMw1v0Npb0vGSRjNUFeb-AvR/s1277/SwitchDelay555_v01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="500" data-original-width="1277" height="156" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgBJAJZJlm8HeV6i41VW-JeeMI3y0f8tN8agfTEcCZEegH7Uefj6fWnGyVwI6mL6RLVWUI1DZhqvvyo-XvketuW42H2vdoKp5ge6O7vgzAvO6JZ5C8eGj80aIXA60euYhLjGzGMwWgsZcWWv37cubdMX3E7gU4tleLkMw1v0Npb0vGSRjNUFeb-AvR/w400-h156/SwitchDelay555_v01.png" width="400" /></a></div><br /><p><b>Notes</b></p><ul><li>read risk disclaimer</li><li>excuse my bad english</li></ul><p><br /></p>Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-63873299184801647662022-11-03T19:31:00.002+01:002022-11-03T19:31:47.903+01:00MiniProto, a mini protocol for data exchange between devices<div class="separator responsive-container" style="clear: both; text-align: center;"><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/IulzPyjSsLk" title="YouTube video player" width="560"></iframe></div><div><br /></div>
MiniProto is a mini protocol for data exchange between devices.<br />
<br />
It is build and tested over the serial communication protocol, but it can be ported to others.<br />
It is designed to send strings and byte arrays.<br />
MiniProto in the current implementation you can send up to 999 commands, and 999 byte long byte array.<br />
<div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRutNISlZZTjc6qF1sJOxJsa_soPV-zxkrGNEj-c9z5T5uVWxpn-tLlBhebNqFi6bUxKm_ppxDHIsY9VRNjLYAq8X4HnSGWDjtELF546JORerCNzZWp5myOM-k1Rf_YCzPduwcfMF9K8WDzDKIDdwUpQ1OXnwFElIhFQtrnW3a_-1j2WFtaVKQP0F4/s886/miniproto_winform_sample.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="258" data-original-width="886" height="93" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRutNISlZZTjc6qF1sJOxJsa_soPV-zxkrGNEj-c9z5T5uVWxpn-tLlBhebNqFi6bUxKm_ppxDHIsY9VRNjLYAq8X4HnSGWDjtELF546JORerCNzZWp5myOM-k1Rf_YCzPduwcfMF9K8WDzDKIDdwUpQ1OXnwFElIhFQtrnW3a_-1j2WFtaVKQP0F4/s320/miniproto_winform_sample.JPG" width="320" /></a></div></div><div><br /></div>
The command structure is the following:<br />
<b>STX|ACK|NAK CMD LENGTH DATA CRC ETX</b><br />
<br />
Command parts are:<br />
<ul>
<li><b>STX</b> (hex 0x02): command begin </li>
<li><b>ACK</b> (hex 0x06): acknowledgment command begin</li>
<li><b>NAK</b> (hex: 0x15): negative acknowledgment command begin</li>
<li><b>CMD</b>: 3 byte, ascii number, command number</li>
<li><b>LENGTH</b>: 3 byte, ascii number, length of data</li>
<li><b>DATA</b>: byte array</li>
<li><b>CRC</b>: 1 byte CRC code</li>
<li><b>ETX</b> (hex 0x03): command end</li>
</ul>
<div>
</div>
<div>
Send command can request an acknowledgment to be sent back. The acknowledgment command must contain the command number, and must start with ACK or NAK byte.</div>
<div>
<br /></div>
<div>
The <b>ESC</b> special char (hex: 0x1B) is used as escape character. Indeed if a ETX byte is sent in DATA, it is preceded by the ESC character. The escape character reduce the max length of DATA. An alternative strategy to prevent the use of the ESC character is to use the LENGTH field to read data, instead of using a read to ETX character. This may be implemented in a future version of this protocol.</div>
<div>
Each command must have a CRC hex byte, this prevents communications errors.</div>
<div>
CRC function is CRC polynomial x^8 + x^7 + x^2 +1 implemented using a lookup table to speed up the computation process.<br />
<br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKWOFG_dqr7bXPjQ47OEsB8yGlHX4yRjCUSZvO-MKf3hpi3Gu38AlQRMXQ8jrriCpvlBNY3HPv2dypNknOlmxlWPlxo2tF71gfZMLjroMsaKSzs2ejHvAhfXgWSiJxzSJmq260Dz0ZW9Xg9qjLY2tq8Ies_aWebo2fBdOIoN3upxmLiDN6IZdgfp4t/s1000/miniproto_dataexchange_protocol.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="750" data-original-width="1000" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKWOFG_dqr7bXPjQ47OEsB8yGlHX4yRjCUSZvO-MKf3hpi3Gu38AlQRMXQ8jrriCpvlBNY3HPv2dypNknOlmxlWPlxo2tF71gfZMLjroMsaKSzs2ejHvAhfXgWSiJxzSJmq260Dz0ZW9Xg9qjLY2tq8Ies_aWebo2fBdOIoN3upxmLiDN6IZdgfp4t/s320/miniproto_dataexchange_protocol.jpg" width="320" /></a></div><div><br /></div>
<div>
DATA max length, and protocol timing can be personalized in the header file of the protocol.</div>
<div>
<br /></div>
<div>
Errors in communications may happens, due to timing or interference. However I'm using this protocol with decent results.<br />
<br />
On the embedded side, there are two ways this protocol process input data.<br />
A "<i>blocking</i>" one, and a "<i>timed</i>" one.<br />
In the blocking way, the called functions try to read input from the selected channel, that is UART in this example. If a char is read, then the next one is processed, till the the end of protocol command, or till the threshold time passed.<br />
In the timed way, two function are involved, one that read characters, and another that can be called to get the last command found. Most of the works is done inside the read/input function. This function read one, or up to a threshold bytes until the end of protocol command.<br />
On both function a few other error preventing mechanism are implemented.<br />
The timed functions most of the time it's the way to go, cause it does not stop the working loop that much. One can even put this function in a TIMER, and use the read last command function in the program loop.<br />
<br />
I've tested this protocol on AVR ATmega8 running @8Mhz.<br />
A <b>NET C# client library</b> is implemented for test.<br />
<br />
<br />
<b>Code</b><br />
<ul>
<li><a href="https://sourceforge.net/projects/davidegironi/files/avr-miniproto/avr_miniproto_v01.zip/download" target="_blank">avr_miniproto_v01.zip</a></li>
</ul>
<br />
<b>Notes</b><br />
<ul>
<li>read risk disclaimer</li>
<li>excuse my bad english</li>
</ul>
</div>
<br />Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milano MI, Italia45.4642035 9.189981999999986345.2860135 8.8672584999999859 45.642393500000004 9.5127054999999867tag:blogger.com,1999:blog-6100511197805579796.post-20844929222377289912022-10-03T21:00:00.001+02:002022-10-03T21:05:20.732+02:001W Guitar Amplifier in a 60's portable radio case<div class="separator responsive-container" style="clear: both; text-align: center;"><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/K_XCMVJj-rE" title="YouTube video player" width="560"></iframe></div>
<p> I've found a junked <b>60's portable radio</b> by <b>Harmonius</b>, which it used to be a small Italian manufacturer.</p><p>I like the shape of the radio, so I decide to use it.</p><p>Unluckily the back case of the radio is broken, so I have to replace the back with a wooden wine box case.<br />Have to cut the front retain plastic on both side, and glue a couple of pieces of wood to make the front fit the wood.<br />Then I paint the wood and apply wax.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgST8WwJqNFB5fH7Go3hskEu8VPRsBdN60SBTAlc_XEo7ySrwxEq1r4y_nnw2ouaBtJdN8pu71qPMPMBuUDY9g-kJIf3WalOeAOMxRezo_ve_REP342FJ-U-pRuuHFh7QDiH3OVe3GK0XsKhplz_G25jd5gEYOxH4dj-zPQx6lreoDYoGZYLkf2m1Ac/s1000/harmonius_radio_guitar_amp.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgST8WwJqNFB5fH7Go3hskEu8VPRsBdN60SBTAlc_XEo7ySrwxEq1r4y_nnw2ouaBtJdN8pu71qPMPMBuUDY9g-kJIf3WalOeAOMxRezo_ve_REP342FJ-U-pRuuHFh7QDiH3OVe3GK0XsKhplz_G25jd5gEYOxH4dj-zPQx6lreoDYoGZYLkf2m1Ac/s320/harmonius_radio_guitar_amp.jpg" width="320" /></a></div><br /><p>Inside I've put just a little bit of filter fabric of a cooker hood.</p><p>I've reused the original PCB as support for the supply, and for the tone control.</p><p>Also, I've reused the main transformer, which is a 230V to 12V AC. The supply is regulated to 9V using a 7809 with an heatsink and a couple of capacitors.</p><p>The main amplifier board is build araound a LM386 IC. The schematic is based on the "<b><i>Ruby Amp</i></b>", with a little bit of mods.</p><p>A <b>tone control</b>, mounted on the tuner pot, is added.</p><p>The volume is mounted where the original radio <b>volume</b> was.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMoBf3Nf1jBuIP2-k2e8MFkaIQ1Zl0CBbKBn-MsA8pDm8v7_WgsZArrOdlFGQ3CvSLATDzpHrcQU3M3bZiTQhTu7ds4bQCCdubV786i-STDHeRbhd18unqrcyprgsq_0F9-QhfxfSLf7ioKSPX8JHl5JrqG36z49gO90-N8djGCLhdQOxC2rKbqx9t/s1000/harmonius_radio_inside.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMoBf3Nf1jBuIP2-k2e8MFkaIQ1Zl0CBbKBn-MsA8pDm8v7_WgsZArrOdlFGQ3CvSLATDzpHrcQU3M3bZiTQhTu7ds4bQCCdubV786i-STDHeRbhd18unqrcyprgsq_0F9-QhfxfSLf7ioKSPX8JHl5JrqG36z49gO90-N8djGCLhdQOxC2rKbqx9t/s320/harmonius_radio_inside.jpg" width="320" /></a></div><p>Two selectable buttons where used for: <b>Clean/Overdrive</b> selector and <b>Overdrive/Distorsion</b> selector. This last one is enable only if the Overdrive channel is selected by the first switch button.</p><p>The original speaker was fixed using a little bit of casting plastic.</p><p>The end result was a mini <b>1W amplifier</b> that is pretty looking.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIgbaAYKJcBEfRhW6NZDa2ae6eMrbhnc2IqqwQjsp9kNGqQvH_EVGM5rRiwpPz2WUqsf0OWdWcalB_vPl1QxwMC_S9MoO_JmQy-IKp0lqBXdru4JXoOPKLyQ1nYLEDyRzqFovS1l8_4WyIPhl6ophuK_oVaw_vf9TpvjQHxQR5JY67XAMDpgCI7GYz/s1000/harmonius_radio_out_of_junk.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIgbaAYKJcBEfRhW6NZDa2ae6eMrbhnc2IqqwQjsp9kNGqQvH_EVGM5rRiwpPz2WUqsf0OWdWcalB_vPl1QxwMC_S9MoO_JmQy-IKp0lqBXdru4JXoOPKLyQ1nYLEDyRzqFovS1l8_4WyIPhl6ophuK_oVaw_vf9TpvjQHxQR5JY67XAMDpgCI7GYz/s320/harmonius_radio_out_of_junk.jpg" width="320" /></a></div><p>Last but not least, I've found a bounch of <b>germanium transistors</b> inside this radio, I'm happy I've saved those two from junk.</p><div><p><b>Notes</b></p></div><ul><li>read risk disclaimer</li><li>excuse my bad english</li></ul>Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-22152209730492846402022-09-08T19:12:00.000+02:002022-09-08T19:12:23.607+02:00A4 home-made Laser Engraver firmware update Grbl 0.9 to Grbl 1.1h<div class="separator responsive-container" style="clear: both; text-align: center;"><iframe width="560" height="315" src="https://www.youtube.com/embed/1p6-RdvpgpY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
<p> A few year ago I've build a <b>Laser Engraver</b> out of a an old scanner and an old printer.</p><p>This laser engraver it's based on <b>grbl</b> (<a href="https://github.com/gnea/grbl">https://github.com/gnea/grbl</a>) version 0.9. I would like to update the software I use for engraving, moving to the new version of <b>LaserGRBL</b> (<a href="https://lasergrbl.com/">https://lasergrbl.com/</a>).</p><p>You can find my blog post about this scanner here: <a href="http://davidegironi.blogspot.com/2015/12/a-diy-a4-laser-engraver-made-from.html">http://davidegironi.blogspot.com/2015/12/a-diy-a4-laser-engraver-made-from.html</a></p><p>LaserGRBL software is really easy to use, also it has the SVG to G-Code function, that makes the print process really easy.</p><p><span style="color: #cc0000;">Warning! Laser diodes drive are emitting visible and invisible laser radiation and they are extremely dangerous! Their light can permanently damage the eyes. You must never look into the working diode even without the lens or point it on a reflective surface. Laser beam can cause burns or fire. This is usually a Class IIIb laser. Everything you do at your own risk.</span></p><p>I'm updating to <b>grbl 1.1h</b>. You can find releases hex in the grbl page, unluckily in order to use grbl for a 2 axis laser engraver like mine, you have to recompile the grbl binary, making some changes to the <span style="font-family: courier;">config.h</span> file.</p><p>You have to change the homing procedure. Just edit the <span style="font-family: courier;">config.h</span> file commenting out the following lines</p><div style="text-align: left;"><span style="font-family: courier;">//#define HOMING_CYCLE_0 (1<<Z_AXIS) // REQUIRED: First move Z to clear workspace.<br />//#define HOMING_CYCLE_1 ((1<<X_AXIS)|(1<<Y_AXIS)) // OPTIONAL: Then move X,Y at the same time.</span></div><p>then add the two lines below:</p><div style="text-align: left;"><span style="font-family: courier;">#define HOMING_CYCLE_0 (1<<X_AXIS) // COREXY COMPATIBLE: First home X<br />#define HOMING_CYCLE_1 (1<<Y_AXIS) // COREXY COMPATIBLE: Then home Y</span></div><p>Also, if you like me do not have a variable power laser driver, you should comment out the following line in order to disable the variable spindle capabilities</p><p><span style="font-family: courier;">//#define VARIABLE_SPINDLE</span></p><p>Now, just follow the <b>Compiling Grbl</b> instructions you can find here: <a href="https://github.com/gnea/grbl/wiki/Compiling-Grbl">https://github.com/gnea/grbl/wiki/Compiling-Grbl</a>. Eventually you can upload the generated firmware to your hardware.</p><p>It's a simple process, but to make things easyer for you can find my compiled hex below, it's compiled for Arduino Micro board with ATmega328.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigXbQaSgh-02KhicxiCEzXKz6Stdof1MF7JjHMRSljKHUl-wD03HIvRZIi0sn2XI_VY60nl_a9qQYMlVxiL_3c8n7dcTR4t6oTm6_bo__LrJ6En7bTJhqIZJ2FJdkY9pmUWBepelSBBZGEh0yw_tATC550nCRQ7USNxsOjcjE4ZRot4DE9ueR0C3zo/s1000/A4_laser_engraver_diy_grbl_11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="750" data-original-width="1000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigXbQaSgh-02KhicxiCEzXKz6Stdof1MF7JjHMRSljKHUl-wD03HIvRZIi0sn2XI_VY60nl_a9qQYMlVxiL_3c8n7dcTR4t6oTm6_bo__LrJ6En7bTJhqIZJ2FJdkY9pmUWBepelSBBZGEh0yw_tATC550nCRQ7USNxsOjcjE4ZRot4DE9ueR0C3zo/w400-h300/A4_laser_engraver_diy_grbl_11.jpg" width="400" /></a></div><p>Now you should be able to use your grbl software.</p><p>First thing you have to do is update the default grbl settings, I'm using the one below. Please note that you have to compute at least your motor/mm steps to update the settings. You can find instruction on my blog post linked above, or searching on the web for this.</p>Just for sake of information, find below my grbl settings:<div><br /><div><div><span style="font-family: courier;">$21 = 1 (hard limits, bool)</span></div><div><span style="font-family: courier;">$22 = 1 (homing cycle, bool)</span></div><div><span style="font-family: courier;">$23 = 3 (homing dir invert mask:00000011)</span></div><div><span style="font-family: courier;">$27 = 5.000 (homing pull-off, mm)</span></div><div><span style="font-family: courier;">$100 = 37.975 (x, step/mm)</span></div><div><span style="font-family: courier;">$101 = 94.956 (y, step/mm)</span></div><div><span style="font-family: courier;">$110 = 100.000 (x max rate, mm/min)</span></div><div><span style="font-family: courier;">$111 = 100.000 (y max rate, mm/min)</span></div><div><span style="font-family: courier;">$130 = 212.500 (x max travel, mm)</span></div><div><span style="font-family: courier;">$131 = 274.400 (y max travel, mm)</span></div><p>Last but not least, in order to use LaserGRBL on an engraver without the laser PWM modulation (i.e. <span style="font-family: courier;">VARIABLE_SPINDLE</span> disabled), you have update the software settings disabling the "Support PWM" checkbox.</p><p>Done, you should now be able to engrave your SVG files.</p><p><b>Notes</b></p></div>
<ul>
<li>read risk disclaimer</li>
<li>excuse my bad english</li>
</ul><br /></div>Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-15015951560049800332022-08-10T06:13:00.000+02:002022-08-10T06:13:19.246+02:00DentneD (Dental Practice Management Software) video updateThis post is follow up of this post here <a href="http://davidegironi.blogspot.com/2018/07/dentned-open-source-dental-practice.html">http://davidegironi.blogspot.com/2018/07/dentned-open-source-dental-practice.html</a>: about the <b>DentneD open source Dental Practice Management Software</b><div><br /></div><div>Here you can find a video that explain the basic functions of dentned.</div><div><br /><div class="separator responsive-container" style="clear: both; text-align: center;"><iframe width="560" height="315" src="https://www.youtube.com/embed/fWgIBlrvjRU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div><div><br /></div><div>You can find DentneD here: <a href="https://github.com/davidegironi/dentned">https://github.com/davidegironi/dentned</a></div><div style="font-weight: bold;"><b><br /></b></div><b>Notes</b><br />
<ul>
<li>read risk disclaimer</li>
<li>excuse my bad english</li>
</ul><br /></div>Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-23147298821050263842022-07-06T08:22:00.006+02:002022-07-06T19:40:25.230+02:00DoctcoD: an open source Medical Practice Management Software<div class="separator responsive-container" style="clear: both; text-align: center;"><iframe width="560" height="315" src="https://www.youtube.com/embed/WkTogKB_srQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div><div><br /><p><b>DoctcoD</b> is a <b>Medical Practice Management Software.</b></p><p>It is <b>free</b>, released under <b>Open Source</b> license.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW7b-9sqComeqA1P5C74gqnXCgTYETC8C8jA3FpjVcF-WF3DlTB_g9y-xnybQvwTtSc4vA14CbcPjXFqGwax4fqN-QVBef-EhZ5EVX4JWAfHAC4ggnCg18H-7z1ZJjUBR3tFVv1Rh3Ewl9wfRxNWecis337bKxVcnfoHcIN4qQ4eW13ZCRU5BCJAU0/s300/ico_doctcod.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="300" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW7b-9sqComeqA1P5C74gqnXCgTYETC8C8jA3FpjVcF-WF3DlTB_g9y-xnybQvwTtSc4vA14CbcPjXFqGwax4fqN-QVBef-EhZ5EVX4JWAfHAC4ggnCg18H-7z1ZJjUBR3tFVv1Rh3Ewl9wfRxNWecis337bKxVcnfoHcIN4qQ4eW13ZCRU5BCJAU0/s1600/ico_doctcod.png" width="300" /></a></div><br /><p>You can trace your patient, treatments, scheduling appointments, doing reports, and billing management. It features a client-server architecture. </p><p>It features a client-server architecture.</p><p>You can trace your patient, treatments, scheduling appointments, doing reports, and billing management.</p><p>It features a <b>client-server architecture</b>.</p><p><b>Features:</b></p><p></p><ul style="text-align: left;"><li>Doctors records, manage more than one dentist</li><li>Patient records</li><li>Full patient medical records</li><li>Patients attachments and notes management</li><li>Billing management, with invoices and estimates</li><li>Treatments lists</li><li>Scheduling agenda</li><li>Customizable reports</li><li>PDF output templates</li><li>Cloud backup scripts</li><li>Calendar and patient treatments web interface</li><li>Client-server architecture, access by multiple computer at the same time</li><li>Multilanguage</li><li>Send appointments reminder</li><li>Password form protection</li><li>Windows service for additional features</li></ul><p><b>Requirements:</b></p><p></p><ul style="text-align: left;"><li>Microsoft Windows with .NET framework 4.5.2 or later</li><li>Microsoft SQL Server 2012 or later</li><li>For web app: PHP 5.3 or later</li></ul><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfbX3W08uL96wuLV_xOkrpBhbF1myQZh836J_sR7PQ-9QR0pvp8xFcGLfBWct-xDIwp39i3ukNrp68Z3bh7ylfdaOb-MNQNoFfBiXky6UH85KckXq_BdGTVjbSHIkCj_xgvwhUeqYTr5079rxENw6qlO1kR18Eqk48G8LLRKWVLFQ6phJzCF9NOpH5/s800/doctcod-medical_practice_software-appointments.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="800" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfbX3W08uL96wuLV_xOkrpBhbF1myQZh836J_sR7PQ-9QR0pvp8xFcGLfBWct-xDIwp39i3ukNrp68Z3bh7ylfdaOb-MNQNoFfBiXky6UH85KckXq_BdGTVjbSHIkCj_xgvwhUeqYTr5079rxENw6qlO1kR18Eqk48G8LLRKWVLFQ6phJzCF9NOpH5/s320/doctcod-medical_practice_software-appointments.jpg" width="320" /></a></div><br /><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMzL65tRYrc44WEAdFrwby5HJWc6eUqcu_245qsah4R3dNj6I6Nceh-pn9AfKQwi8rvpiTcXCHW-qLuLLVA1o1_0JxCX1ByKv3Bjka9OSADUpsLUm5Bxy5jXrrx2-dMK-eoNHHBaIhtJW0hXj1YprvsINQLwUiSWhtGaSQeAwniPCbFPTWAkkOti3z/s800/doctcod-medical_practice_software-patients_treatments.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="800" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMzL65tRYrc44WEAdFrwby5HJWc6eUqcu_245qsah4R3dNj6I6Nceh-pn9AfKQwi8rvpiTcXCHW-qLuLLVA1o1_0JxCX1ByKv3Bjka9OSADUpsLUm5Bxy5jXrrx2-dMK-eoNHHBaIhtJW0hXj1YprvsINQLwUiSWhtGaSQeAwniPCbFPTWAkkOti3z/s320/doctcod-medical_practice_software-patients_treatments.jpg" width="320" /></a></div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEU6lpFOP2TZqbZTigAO7dnMRXvhWEqKTcsvlgTsy8LxnkMqOWr-BuKFFBrmf4lUQ4oDvu0huWsjbCdiO0SILi3iviwCWgX8VXiwoM84vwKAp8bCHOv48tyBvm8vCYoD4UFgF7HKUp57ImqlUh4n6YGRHmZer5v0H7fv4UZaVuGju8-eA9P3J6BC4q/s800/doctcod-medical_practice_software-invoice.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="800" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEU6lpFOP2TZqbZTigAO7dnMRXvhWEqKTcsvlgTsy8LxnkMqOWr-BuKFFBrmf4lUQ4oDvu0huWsjbCdiO0SILi3iviwCWgX8VXiwoM84vwKAp8bCHOv48tyBvm8vCYoD4UFgF7HKUp57ImqlUh4n6YGRHmZer5v0H7fv4UZaVuGju8-eA9P3J6BC4q/s320/doctcod-medical_practice_software-invoice.jpg" width="320" /></a></div><br /><div><b>Code & Releases</b></div><p></p><ul style="text-align: left;"><li><a href="https://github.com/davidegironi/doctcod">https://github.com/davidegironi/doctcod</a></li></ul><b>Notes</b><br />
<ul>
<li>read risk disclaimer</li>
<li>excuse my bad english</li>
</ul><br />Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-22455294211158453062022-06-02T19:39:00.000+02:002022-06-02T19:39:08.869+02:00Antonelli COMET 2616 80's organ repair<div class="separator responsive-container" style="clear: both; text-align: center;"><iframe width="560" height="315" src="https://www.youtube.com/embed/bTVVOwrpRp8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div><div><br /></div><p>The <b>Antonelli COMET 2616</b> is a 61 key <b>organ</b>.</p><p>Antonelli was an Italian company, established in 1935. During the 80's the Antonelli mostly builds kids learning music instruments, luckily they also have built some instrument, not for kids. Mine is one of those.</p><p>Before taking to my home lab this keyboard, I've checked the keypad, to my surprise I've found something with a good key action, so I decided to give this keyboard a try.</p><p>General conditions are not good, wood is broken here and there, and keyboard was opened with parts flapping around in the breeze.</p><p>First try was to power it on. It does not work.</p><p>It turned out it was simply the fuse.</p><p>One turned on, I've to replace the speaker. Someone already have removed the original one and replace with a speaker from a TV, since the speaker hole is round but the speaker itself is rectangular shape. Also they hole the wood probably to mount another speaker. By the way, the speaker foam was done.</p><p>I've attached a test speaker, now the keyboard sounds, but many buttons and key does not respond well. Oxidation has made his job.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSNmolRWb-Ycrr3F2sZTpX5K_i2tVZcXV8q4VChZ2zhPnoa8VZ_iQm11WM69KalsCz7Y0X93W-qqWg56T6J4XakOydllgOJAVHClcYqjSOJC_tR3T1E6Gkd1kpDXzS5yV3UbJugsMRozp-WAsqcjxpFQGyok_PZcpNLAOV_GH0tab0p_Sctcd5In5c/s1000/antonelli_comet_2616.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSNmolRWb-Ycrr3F2sZTpX5K_i2tVZcXV8q4VChZ2zhPnoa8VZ_iQm11WM69KalsCz7Y0X93W-qqWg56T6J4XakOydllgOJAVHClcYqjSOJC_tR3T1E6Gkd1kpDXzS5yV3UbJugsMRozp-WAsqcjxpFQGyok_PZcpNLAOV_GH0tab0p_Sctcd5In5c/s320/antonelli_comet_2616.jpg" width="320" /></a></div><p>Cleaning buttons and keypad was a bit tedious, but has to be done. I've disassembly the whole keyboard. Both buttons and key has been built using spring contacts.</p><p>I've cleaned the contacts using isopropilic alcohol, a toothbrush and a rag. Then I've used some contact cleaner spray using brush and rag.</p><p>A better approach should be desolder al the contact, putting all the spring in an aluminium foil, and boil them in salt water. This will reduce silver oxide back to silver, production sulfur hydroxide. Anyway, this time just cleaning it without the complete process did the job, now buttons and key works well.</p><p>For the wood, at first I've repaired broken wood with vinylic glue. Then the torn veneer using mastic glue by Bostik. I then I've use some wood filler, and finally I've paint using wood finish just where I repair the wood.</p><p>Another piece to repair was the speaker, for that I've removed the horrible holes for the secondary speaker. Instead I've made a nice squared hole, and prepare a piece of wood where I mounted a tweeter. Then I mount the woofer on the main speaker housing.</p><p>I've decide to build also a pair of legs for this organ, and sheet music holder. I've wood panels from a wardrobe that I could use, so I take three of them, and use for left and right leg, the third I've used to join the legs. Now the stand is solid and can keep the organ.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX3N69LerULkKdqDZmDjJUpBOFaPXHtSDPl7t3HZa-aGJDgycVkyXTY9YTxfnwhmaG_L9zgX55G3roitXPaYkj3AFpzmN5t3vj_-3vffeJDQq8-QGJWUuboNuq-gFQYdx7EbemIHa_kK2zSIPje4-Nte96blIeoDEmjF_GYG10HWGqnOtd1mf1nVGF/s1000/antonelli_comet_keyboard_switch_spring.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="750" data-original-width="1000" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX3N69LerULkKdqDZmDjJUpBOFaPXHtSDPl7t3HZa-aGJDgycVkyXTY9YTxfnwhmaG_L9zgX55G3roitXPaYkj3AFpzmN5t3vj_-3vffeJDQq8-QGJWUuboNuq-gFQYdx7EbemIHa_kK2zSIPje4-Nte96blIeoDEmjF_GYG10HWGqnOtd1mf1nVGF/s320/antonelli_comet_keyboard_switch_spring.jpg" width="320" /></a></div><p>I've used the same wood for the music sheet holder.</p><p>Now let's talk about the keyboard specification. The keyboard has a RHYTHMS and a ACCOMPANIMENT section with a few rhythms like Rock, Disco, Bossa Nova... and so on. The accompaniment section has the ability to split the keyboard and enable Bass and Chords mode on the left side. TEMPO is a slider potentiometer. The SOLO section is built up on 6 different sounds: FLUTE 16", FLUTE 8", FLUTE 4", PERC 4", BRASS and STRINGS. If enabled each register can sound while the other is enabled, this allows a few interesting sound. Other three sounds are located in the PRESETS section: PIANO, VIBER and PAN FLUTE. EFFECTS like SUSTAIN, LONG (sustain), VIBRATO, DELAY and PHASER can be switched on.</p><p>The finished product looks very pretty and sound good too. There are not many sounds available, but the keypad quality is pretty good, and the ability to enable more than one register gives me the change to build up a few pretty sounds. This is definitely not a toy.</p><p><br /></p>
<b>Notes</b><br />
<ul>
<li>read risk disclaimer</li>
<li>excuse my bad english</li>
</ul>Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-85132545794051528072022-05-08T15:01:00.001+02:002022-05-08T15:02:47.172+02:00Seven segment smart counter PCB and 3D printed box<div class="separator responsive-container" style="clear: both; text-align: center;"><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/BZbzGbb5SBo" title="YouTube video player" width="560"></iframe></div><div><br /></div>
I've introduced you my seven segment RESTful counter here: <a href="http://davidegironi.blogspot.com/2020/04/esp8266-seven-segment-counter.html">http://davidegironi.blogspot.com/2020/04/esp8266-seven-segment-counter.html</a><br />
It's based on the ESP8266, and it may drive one or more 8 digits seven segment <b>MAX7219</b> displays.<br />
<br />
In this post here I would like to share with you a double line 8 digits seven segment PCB board. Ready to be printed and builded.<br /><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH3K61_G8cC39Ja3D7i3JZZ8z7mqO9XGAdfG95-VaMw0BJQVu-qt-Ga42iZrlb1DfHxRY6XAeFcMD_2YyCw_bQwySam1UZEGc5G4pZE1TZukfewdBInZSwto6CV34AYrUitN0nv793HQ4OM7Q8hix6Hyxu_I8d4bsv-WNmquUnQVeVDlcAyj0y4xhn/s1000/sevent_segment_esp8266_dual_row_pcb_back.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH3K61_G8cC39Ja3D7i3JZZ8z7mqO9XGAdfG95-VaMw0BJQVu-qt-Ga42iZrlb1DfHxRY6XAeFcMD_2YyCw_bQwySam1UZEGc5G4pZE1TZukfewdBInZSwto6CV34AYrUitN0nv793HQ4OM7Q8hix6Hyxu_I8d4bsv-WNmquUnQVeVDlcAyj0y4xhn/s320/sevent_segment_esp8266_dual_row_pcb_back.jpg" width="320" /></a></div>
<br />Also, I attache here the CAD files that you can use to print you own box for this counter.<br />
<br />
The board was built using <b>Eagle</b>.<br />
The seven segments module that i use are the <b>HS420361K-32</b>, which is a common cathode module with the following wiring.<div><br />
<span style="font-family: "courier new" , "courier" , monospace;"> pin 01: E</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> pin 02: D</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> pin 03: dp</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> pin 04: C</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> pin 05: G</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> pin 06: dig4</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> pin 07: B</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> pin 08: dig3</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> pin 09: dig2</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> pin 10: F</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> pin 11: A</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> pin 12 dig1</span><br />
<br />
<br />Please find the connection diagram below. Of course the wiring of 4 bit seven segment modules changes by the model you use, so pay attention to your wiring scheme.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBEH5ehA0YwZTsvh81WS1mfLePPzbxTFvaGRYwlMJYtkQ-PGpEXUWGgAvSY1GckKT1wbV_daSJx4RfW8o0cfvGEf3ppNmGOI0cLqJhTOOQq9mc42mSvaN3gdRKnoLwdEvlyn7ywUgsmD4YgoxddDMYND9R6WXl8uCm50Js3YtLOvUZG00qbBmWvSb4/s1000/sevent_segment_esp8266_dual_row_pcb.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBEH5ehA0YwZTsvh81WS1mfLePPzbxTFvaGRYwlMJYtkQ-PGpEXUWGgAvSY1GckKT1wbV_daSJx4RfW8o0cfvGEf3ppNmGOI0cLqJhTOOQq9mc42mSvaN3gdRKnoLwdEvlyn7ywUgsmD4YgoxddDMYND9R6WXl8uCm50Js3YtLOvUZG00qbBmWvSb4/s320/sevent_segment_esp8266_dual_row_pcb.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div>
The box was designed using <b>Autodesk Fusion 360</b> and printed using a <b>Creality3D Ender-3 Pro</b> on <b>PLA</b>.<br /><br />
<b>Code</b><br />
<ul>
<li><a href="https://sourceforge.net/projects/davidegironi/files/esp-7segcounter/esp7segcounter_dual-v3_v10.f3d/download" target="_blank">Fusion360 box esp7segcounter_dual-v3_v10.f3d</a></li>
<li><a href="https://sourceforge.net/projects/davidegironi/files/esp-7segcounter/esp7segcounter_dual-v3.zip/download" target="_blank">Eagle schematics esp7segcounter_dual-v3.zip</a></li>
</ul>
<b>Notes</b><br />
<ul>
<li>read risk disclaimer</li>
<li>excuse my bad english</li>
</ul>
</div><br /><br />Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milano MI, Italia45.4642035 9.18998245.2860135 8.8672585 45.642393500000004 9.5127055000000009tag:blogger.com,1999:blog-6100511197805579796.post-18387560231681995882022-04-02T20:15:00.000+02:002022-04-02T20:15:08.337+02:00Garrard 60B by Philarmonic Elettronica turntable repair<div class="separator responsive-container" style="clear: both; text-align: center;"><iframe width="560" height="315" src="https://www.youtube.com/embed/lyBr_xx_XvM" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div><br /><p>I've found a <b>70's turntable</b>. Of course it was not working, so I decide to repair this piece of gear, mostly because I do not have a turntable, even if I have a few vinyl, and cause I would like to learn how a turntable works.</p><p>Mine it's a <b>Philarmonic Elettronica</b> turntable, based on the Garrard 60b mechanism. The core of the player is indeed the Garrard gear. <b>Garrard Engineering and Manufacturing Company</b> was British company that sold turntable and also mechanism used for other companies.</p><p>The <b>Garrard 60B</b> is a 3 speed auto-player with single play facility, it can runs at 33, 45 and 78 rpm.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDHjnzBW-qUqe-nLo2wwCPIRsWTc7Rt-m9Ok6Zp3m2-VUIXRjtegydamofbeB8DhSov5BwbYi8Iu7IUhQSbiaRkdLqr759vbjCPGtdJ-VjWLBFT6qxkDp4JXvRuINmbUV3Ea40pRh6H6kf1XoLW91df27q1LsxviV88LN4uqMhT3nXoYJp_YszIaBN/s1000/turntable_garrard_60B_bottom.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDHjnzBW-qUqe-nLo2wwCPIRsWTc7Rt-m9Ok6Zp3m2-VUIXRjtegydamofbeB8DhSov5BwbYi8Iu7IUhQSbiaRkdLqr759vbjCPGtdJ-VjWLBFT6qxkDp4JXvRuINmbUV3Ea40pRh6H6kf1XoLW91df27q1LsxviV88LN4uqMhT3nXoYJp_YszIaBN/s320/turntable_garrard_60B_bottom.jpg" width="320" /></a></div><p>My disc spins, but really slowly even at 45rpm. It needs to be cleaned. Also the auto-player mechanism does not works, and the stylus is completely broken.</p><p>The <b>wood is in pretty good condition</b>, I just remove the Garrard mechanism and clean it apart.</p><p>To clean the mechanism I use water and degreaser. Then I clean it all with water and let it dry. Once dried I disassemble the plate, it turns out that the gear in charge of the auto-player mechanism has a decent amount of grease that dried out during years, this lock the gear not allowing it to spin. I clean it all.</p><p>Then I use oil (<b>5W 30 motor oil</b>) and grease (<b>lithium grease</b>) to lubricate gears. I use grease, just a little, on just a few points, for the most of the parts I use oil, just a few drops.</p><p>Once assembled again, all work smooth.</p><p>Now it's time to fix the style. Original one as said was fully broken, the repair cartridge costs more than 15Eur, so I decided to look for a cheaper one. I've found a couple of cheap stylus for 3Eur shipped.<br />I've just to draw and print in PLA an adapter. Once done the stylus is mounted and worked well.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1twtpS641XsLr3wVGRxzkLSg2Y-S_8kZGXPOV958uNDjciwgP7ONY7Dtp0m_4tzOsFqoNCI2R4eIxsTKKUj_FrN-di8OlkMELBVo-U2gIIrBiQKqvy_yNoBMyUYMpvm0mt9nz2ZAZoo42cZ-v9dx4tP-PK1EE5kPHG6Lsex22Oxd9_Kn7H9ZVZyZV/s1000/turntable_garrard_60B_stylus.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1twtpS641XsLr3wVGRxzkLSg2Y-S_8kZGXPOV958uNDjciwgP7ONY7Dtp0m_4tzOsFqoNCI2R4eIxsTKKUj_FrN-di8OlkMELBVo-U2gIIrBiQKqvy_yNoBMyUYMpvm0mt9nz2ZAZoo42cZ-v9dx4tP-PK1EE5kPHG6Lsex22Oxd9_Kn7H9ZVZyZV/s320/turntable_garrard_60B_stylus.jpg" width="320" /></a></div><p>Now, I have also a spare old transformer around, so I decide to buy a phone preamplifier. Unluckily I've to change values for two resistore of the input voltage divider of this preamplifier, cause the new cartdridge has high output, and this leads to distortion if the gain is not reduced. I must admit that my AIWA amplifier phono preamplifier sounds better that the integrated board I've used, but that will be enough if I've to use with an amplifier without phono preamp. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAQb4gGSU1J1XS60oS8Gyjp8wlc0-VYNjFV3ROKk3AEbx_g4dzr57vEHmcWr0SQImkX7yPD2ugazOwzasKmFeinnsaB3dTw1bWl0TH0RiBVfsWCBIWYo-CbnbjpdbXipb-go5Ya4B_DKaaT86e4HDAPiHRp_4CR3TIFdRF3JYp_I3vEBCUyRs3orrd/s1000/turntable_garrard_60B_preamplifier.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAQb4gGSU1J1XS60oS8Gyjp8wlc0-VYNjFV3ROKk3AEbx_g4dzr57vEHmcWr0SQImkX7yPD2ugazOwzasKmFeinnsaB3dTw1bWl0TH0RiBVfsWCBIWYo-CbnbjpdbXipb-go5Ya4B_DKaaT86e4HDAPiHRp_4CR3TIFdRF3JYp_I3vEBCUyRs3orrd/s320/turntable_garrard_60B_preamplifier.jpg" width="320" /></a></div><p>Then I wired all using a 4PDT switch with two position:</p><p></p><ul style="text-align: left;"><li>position 1, preamplifier detached: L/R channel from stylus output goes straight on the output</li><li>position 2, preamplifier attached: L/R channel from the stylus to the input of the preamplifier, then output of the preamplifier connected to the output cables</li></ul><p></p><p>This way I can use the turntable even with an amplifier without phono input.</p><p>Also I've add a couple of led, on the bottom of the plate.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibhhpOfwiZJvXXaMd-Xhux6-45sBnGkNzjaJS9v25YGZ-8o-PfgEprCJNYMt4jgAy3loB9PQDjlpal8gmIqCzHuBvXswDxJ80flOEE3k5-RREAJ-psaNmTYU8xVw9-J-tlNaPDe4j2Vc1lyPHrrg5csVwLTHs2Y4AIseD0gK7IFXIt70vTvsgGCPMH/s1000/turntable_garrard_60B.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibhhpOfwiZJvXXaMd-Xhux6-45sBnGkNzjaJS9v25YGZ-8o-PfgEprCJNYMt4jgAy3loB9PQDjlpal8gmIqCzHuBvXswDxJ80flOEE3k5-RREAJ-psaNmTYU8xVw9-J-tlNaPDe4j2Vc1lyPHrrg5csVwLTHs2Y4AIseD0gK7IFXIt70vTvsgGCPMH/s320/turntable_garrard_60B.jpg" width="320" /></a></div><p>Last thing that I've build is the top enclosure, I didn't want to use plexiglass for the cover, so I've used wood. Then I've glued on top of the fabric, using vinylic glue, to stay in the same context :)</p><p>The result it's a fully working, vintage style turntable, equipped with new era cheap stylus and a phono preamplifier.</p><p><b>Notes</b><br /></p><ul><li>read risk disclaimer</li><li>excuse my bad english</li></ul>Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milan, Metropolitan City of Milan, Italy45.4642035 9.18998217.153969663821158 -25.966268 73.774437336178849 44.346232tag:blogger.com,1999:blog-6100511197805579796.post-20973618538906495522022-03-01T22:26:00.000+01:002022-03-01T22:26:51.007+01:00D04: vintage 18W guitar amplifier<div class="separator responsive-container" style="clear: both; text-align: center;">
<iframe width="560" height="315" src="https://www.youtube.com/embed/xil6wom63pw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div><br />
The D04 is a guitar amplifier built using an old turntable by <b>Perpetuum Ebner </b>(<a href="https://de.wikipedia.org/wiki/Perpetuum-Ebner">https://de.wikipedia.org/wiki/Perpetuum-Ebner</a>).<div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiLR1uBpMRu6Cfs0PqSQhv7kh8HdEEJuOFNkVQMhz5aoM1zJHAFhwM6vnG0klESKCAGDDytReBL92ACzDU5cXFyXw42R1VV304KPHdfYarK2X3cXQSj_8S2KB8pOU1WnJ8dIvVEGuRmegfegNEbDvBKDKLhQDQyu3uIBG7Y1ypUty4N95pc06sssqpg=s1000" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/a/AVvXsEiLR1uBpMRu6Cfs0PqSQhv7kh8HdEEJuOFNkVQMhz5aoM1zJHAFhwM6vnG0klESKCAGDDytReBL92ACzDU5cXFyXw42R1VV304KPHdfYarK2X3cXQSj_8S2KB8pOU1WnJ8dIvVEGuRmegfegNEbDvBKDKLhQDQyu3uIBG7Y1ypUty4N95pc06sssqpg=s320" width="320" /></a></div></div><div><br /><div>The model I've used it's a vintage 70's <b>PE 3015</b> turntable. When I was a boy friends give away this turntable to me, cause it's not working. I've used this turntable years ago as a standard amplifier, taking advantages of it's aux input, then I've decided to turn this in a guitar amplifier.<br />
<br />
Like the D03 amplifier that you can find here <a href="http://davidegironi.blogspot.com/2020/03/d03-lesa-boogie-guitar-amplifier.html">http://davidegironi.blogspot.com/2020/03/d03-lesa-boogie-guitar-amplifier.html</a>, this one also is built using a dismissed and not working turntable.<br />
<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhq-wKX5cnuT6LUEsDN-na8tjCJG1Obc2yKCYsLVdKs6hhtOoNi_k6y13_4CgwIe8baNboS5wuLxWjfvR8XhgaQkwtQaIT9wm1TcTMAqBkzui4ELf14nuLxZbFQwEbjf3UL3Oq0y-lVxx0PCQwD4nspc8yqglVeqovje1eT22yuHvO9c_UPhiftCDOJ=s1000" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/a/AVvXsEhq-wKX5cnuT6LUEsDN-na8tjCJG1Obc2yKCYsLVdKs6hhtOoNi_k6y13_4CgwIe8baNboS5wuLxWjfvR8XhgaQkwtQaIT9wm1TcTMAqBkzui4ELf14nuLxZbFQwEbjf3UL3Oq0y-lVxx0PCQwD4nspc8yqglVeqovje1eT22yuHvO9c_UPhiftCDOJ=s320" width="320" /></a></div></div><br />
Building technique of the case was almost the same. The speaker were glued together and an hole was drilled in order to makes cables run one side to the other.<br />
I've worked then on the turntable panel to make it fit the top of the speakers.<br />
As on the D03, I've used all the original potentiometer knobs as the panel holes.<br />
The power switch is on the top of the panel.<br />
Then a channel selector is installed.<br />
This amplifier has 2 channels<br />
<ul>
<li>clean</li>
<li>overdrive/distortion</li>
</ul>The selector switch from the clean to the overdrive/distortion channel. Also the switch act as a voltage divider selector for the overdrive/distortion section. The selected transformer, this time is a 24V single rail, think it's a 40VA. Single rail are cheaper and easier to find than dual rail, so I would like to build something with a single rail.</div><div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjL3uGBNHD_GgcgKnAJffSrPEM1oumlhgm0xDeRVvcSao1LPW0G0fjxfT1tl9UJGFngiUB8eXwpxKDtcK0bdRi2ugGp1OC6CrsHKWVyRLrypTVa6E07vopaKYfNGildUVvsc-m2j89ivJQ4cpA0gFuyMASstvc4-fQ395CbkuYJzARVzZvf41Gy6Z5V=s1000" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/a/AVvXsEjL3uGBNHD_GgcgKnAJffSrPEM1oumlhgm0xDeRVvcSao1LPW0G0fjxfT1tl9UJGFngiUB8eXwpxKDtcK0bdRi2ugGp1OC6CrsHKWVyRLrypTVa6E07vopaKYfNGildUVvsc-m2j89ivJQ4cpA0gFuyMASstvc4-fQ395CbkuYJzARVzZvf41Gy6Z5V=s320" width="320" /></a></div><div><br />
The preamplifier it's a JFET preamplifier based on the <i>J. Donald Tillman</i> design found in the article "<b>A Discrete FET Guitar Preamp</b>" <a href="http://www.till.com/articles/GuitarPreamp/">http://www.till.com/articles/GuitarPreamp/</a>. It use a single J201 JFET and just a few components. It really sounds good. This kind of preamplifier is the same you can find in many other amplifier.<br />
<br />
Then the tone stack is a dual tone, as i tell you I would like to keep the original panel untouched, it means to use the two treble and bass selector.<br />
The tone is based on the <b>Fender 6G5</b> amplifier, it's simple to build and sounds good.<br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjHB5ANeFBx-M7VCwET3adGlfSIy9midSNHQOBNjgVsU_e7jRzKXMqdA6sm2yXQl4ypQapu2xQJvQkOqF1L4G9yNmZY62zftH2dgw3k5KA2OrL2ar0dDS5ehI7r70HGn_NgUnXlUettevn9-82gV_PodHhxWgQfXyi9VVdYYJPMoXnOFpGQ3TDKleH5=s1000" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/a/AVvXsEjHB5ANeFBx-M7VCwET3adGlfSIy9midSNHQOBNjgVsU_e7jRzKXMqdA6sm2yXQl4ypQapu2xQJvQkOqF1L4G9yNmZY62zftH2dgw3k5KA2OrL2ar0dDS5ehI7r70HGn_NgUnXlUettevn9-82gV_PodHhxWgQfXyi9VVdYYJPMoXnOFpGQ3TDKleH5=s320" width="320" /></a></div>
<br /><div>Least but not last, the speakers. Original turntable speakers are used, but they need to be wired in such a mono way.<br />
<br />
Then another JFET is used as a Booster to restore the signal due to the tone loss. It's just like the <i>ElectroSmash</i> <b>1Wamp Electric Guitar Amplifier</b> found here <a href="https://www.electrosmash.com/1wamp">https://www.electrosmash.com/1wamp</a>.<br />
<br />
Here comes the overdrive/distortion stage. That's based on <b>Clock of Tone 50</b> and <b>The Ursa Minor</b> pedal with a few mods. It's basically a single transistor, the <b>2N5088</b>, based distortion. The selector gives this transistor even more distortion adding a diode clipping stage.<br />
At the end of this stage we need to add a voltage divider in order to makes the distortion volume almost equals to the clean stage.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhrElqsDYZfz8_ewgLTnAm1vRoEWzeFpyYJKieave3BRwtzmQ8xOqqvLvXL12hIAqtDRTy9O26iUc5rdMY_lHXuOZbx-farE6hd9MRSqG_wX7GDCpxOdLl-vVPKkY5F0IH7-4j6cpyIbQ51BYBqw-MeJ_BvEj85TFawaBUE7u4TUzyYLDumr3IHL5nT=s1502" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1502" data-original-width="1000" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEhrElqsDYZfz8_ewgLTnAm1vRoEWzeFpyYJKieave3BRwtzmQ8xOqqvLvXL12hIAqtDRTy9O26iUc5rdMY_lHXuOZbx-farE6hd9MRSqG_wX7GDCpxOdLl-vVPKkY5F0IH7-4j6cpyIbQ51BYBqw-MeJ_BvEj85TFawaBUE7u4TUzyYLDumr3IHL5nT=s320" width="213" /></a></div>
<br />
The signal then goes to the reverb stage. The reverb it's based on the <i>Valve Wizard</i> <b>SmallTime</b> pedal with a few changes. The main IC used in this reverb is the <b>PT2399</b>, a <b>TL072</b> op amp is then used to restore the signal before and after the reverb.<br />
Two trimpot can be used to trick the reverb sounds.<br />
<br /></div><div>The amplifier itself is build around a <b>TDA2030</b> IC. This chip is a class-AB amplifier monolithic integrated circuit. The design used is a based on the main datasheet single rail voltage test circuit.<br />
<br />
The power stage is as simple as you can imagine, it's just a rectified AC voltage, with a 9V and 5V output from two separate linear voltage regulators.<br /><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgek90LsCJRTx5-2WarV6CVM5w2XaLP4Ge5d41S2rt_aNmc1si_SgsrtAg3diej1eLxFJyM-NK1p_JvyLq3Zkpq9x5FKfXj9GgaJ8Ucio37NLHucBUJZWCbVaRwh2hOd6ndT0X7epIWRWrcTrLpI0gPbePvuumx0s-ARCQ-9dTAxXwrfEtChN1kBHAi=s1000" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="666" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/a/AVvXsEgek90LsCJRTx5-2WarV6CVM5w2XaLP4Ge5d41S2rt_aNmc1si_SgsrtAg3diej1eLxFJyM-NK1p_JvyLq3Zkpq9x5FKfXj9GgaJ8Ucio37NLHucBUJZWCbVaRwh2hOd6ndT0X7epIWRWrcTrLpI0gPbePvuumx0s-ARCQ-9dTAxXwrfEtChN1kBHAi=s320" width="320" /></a></div><div><br />
<br />
Now, how does it sounds?<br />
Really good to me, even if the amplifier is supplied in a single rail way, as the only opamp of this circuit, the sounds of the JFET preamp and the overdrive/distortion stage, makes this amplifiers sounds warm, but when the distortion is pumped up, the sound can be very "sharp".<br />
<br />Find the schematics below.<div class="separator" style="clear: both; text-align: center;"><br /></div></div><br /><br /><br /><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg7LMaWbC7T8FLBVkRMQj18-HyNz10m3uhS7Fo1uQHwFx7lQWMNuYGDiT8Kx7s_Gd0zFOxHCTWulTCaSonKC-cJmlMr97G5GbiWX6xJLOMa4Ku0C03qq6rdYsqDBMfoSag68jm1QbqziKbSpu9nFo05ouWaX7ttqpRnQlzv1IY4yGmj5kDQs8VfihhQ=s1417" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="245" data-original-width="1417" height="55" src="https://blogger.googleusercontent.com/img/a/AVvXsEg7LMaWbC7T8FLBVkRMQj18-HyNz10m3uhS7Fo1uQHwFx7lQWMNuYGDiT8Kx7s_Gd0zFOxHCTWulTCaSonKC-cJmlMr97G5GbiWX6xJLOMa4Ku0C03qq6rdYsqDBMfoSag68jm1QbqziKbSpu9nFo05ouWaX7ttqpRnQlzv1IY4yGmj5kDQs8VfihhQ=s320" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhP4qfbUQYd5IGlQ8pGPOLJjFJfgLjxe3R_6jj7Z7rN9QKaHGDzEDSINo1CtBc6yLrrkyJ0xJ_Y1iVm3wPga1BbIbEvEPCMtHkQNpaoNj6pmS5K-YtZK4kbxW5XLOyc2KXi-ZH8ZjtHkKIKtSdpEdGvw-7jp6aX_zzF5ExTzhaeeb6KLrmLhr0stMWT=s822" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="699" data-original-width="822" height="272" src="https://blogger.googleusercontent.com/img/a/AVvXsEhP4qfbUQYd5IGlQ8pGPOLJjFJfgLjxe3R_6jj7Z7rN9QKaHGDzEDSINo1CtBc6yLrrkyJ0xJ_Y1iVm3wPga1BbIbEvEPCMtHkQNpaoNj6pmS5K-YtZK4kbxW5XLOyc2KXi-ZH8ZjtHkKIKtSdpEdGvw-7jp6aX_zzF5ExTzhaeeb6KLrmLhr0stMWT=s320" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg8ukbygiwZxuiTv0EQD5u4ZxLcL_PVPpb9a68snJavQR18pLCSgP-Cl66LHeJCW_0QSSNb3I7fZOEF3D-cq6HKCSe1qXzb8ariuu3EUhCDFeogGE4gv_z7b92SycQBagRvzRASXCKp5KTCmsA5otv0fWcaQeuwXQtCLUL__RzM-A3X69-jCnfRwaiM=s1923" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1782" data-original-width="1923" height="297" src="https://blogger.googleusercontent.com/img/a/AVvXsEg8ukbygiwZxuiTv0EQD5u4ZxLcL_PVPpb9a68snJavQR18pLCSgP-Cl66LHeJCW_0QSSNb3I7fZOEF3D-cq6HKCSe1qXzb8ariuu3EUhCDFeogGE4gv_z7b92SycQBagRvzRASXCKp5KTCmsA5otv0fWcaQeuwXQtCLUL__RzM-A3X69-jCnfRwaiM=s320" width="320" /></a></div><br /><div><br /></div><div><br />
<b>Notes</b><br />
<ul>
<li>read risk disclaimer</li>
<li>excuse my bad english</li>
</ul>
</div></div>Davide Gironihttp://www.blogger.com/profile/16366076989473118278noreply@blogger.com0Milano MI, Italia45.4642035 9.18998245.2860135 8.8672585 45.642393500000004 9.5127055000000009