tag:blogger.com,1999:blog-4689941138128455722024-03-28T07:56:07.597+02:00One TransistorAnalog and digital electronics · Arduino projects · Development boards · DIY · Technology related stuffCorneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.comBlogger194125tag:blogger.com,1999:blog-468994113812845572.post-31908022220501260442016-03-25T00:06:00.003+02:002024-02-19T11:01:04.073+02:00How to build a low voltage soldering iron<p>Although soldering irons are quite cheap, widely available and come in various shapes and sizes, let’s try to make one from scratch. This involves some basic knowledge of electronics and some DIY abilities. However, please note that building electrical devices carries risks, and I recommend exercising caution to fire, burns, or other hazards.</p><p>This article will describe some simple to build soldering irons that can provide 15 – 60 W and are powered at low voltage (5 – 20 V, depending on heater wire you use). This means you can power it with any power supply that meets these requirements (a computer power supply or notebook charger will be a good choice because it is also short circuit protected).</p><span></span><a href="https://www.onetransistor.eu/2016/03/build-soldering-iron.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com13tag:blogger.com,1999:blog-468994113812845572.post-60752385972617157022024-02-06T18:33:00.003+02:002024-02-06T18:49:59.917+02:00Install Home Assistant Core on Orange Pi Zero 3 (part two)<p><a href="https://www.onetransistor.eu/2023/10/orangepi-zero-3-home-assistant-part-one.html" target="_blank">Some time ago</a> I decided to get Home Assistant (HASS) running on a single board computer (SBC) without knowing too much about this software. As I soon found, Home Assistant is complex software and there are multiple installation methods, more or less available depending on target hardware. In short, I got an Orange Pi Zero 3 SBC with 2 GB of RAM which I intend to use as a local home automation server.</p><p>Although the SBC has sufficient processing power for Home Assistant, I shouldn't expect too much from the limited SD card storage. I decided to give it a try anyway since I really like the small form factor of Orange Pi Zero 3 (it can directly replace the old Pi Zero with only 256 MB of RAM I am currently using for hosting a local MQTT broker). Although this guide is targeted at this specific SBC, it is very probable that you can install HASS on similar Linux platforms using the same commands.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghbDAx7j-y5sUqehDfKglwANFKdZeIRj9QBvy4oib-ZeONdoFEPMjOmKHSigq0vlBalca98LPbI5aDcihR6JJ58j0vQxmJWjYPkPn7TSwZi3nz0rTW_Af9ECRtcWXMRiLoqGjsSj_2dJsHSiKNRum6FC9Ivfm1wsiHJIxv2TsxwfN7QGLBsTaGSXhP09IB/s800/orangepi-hass-core.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Install Home Assistant Core on Orange Pi Zero 3" border="0" data-original-height="600" data-original-width="800" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghbDAx7j-y5sUqehDfKglwANFKdZeIRj9QBvy4oib-ZeONdoFEPMjOmKHSigq0vlBalca98LPbI5aDcihR6JJ58j0vQxmJWjYPkPn7TSwZi3nz0rTW_Af9ECRtcWXMRiLoqGjsSj_2dJsHSiKNRum6FC9Ivfm1wsiHJIxv2TsxwfN7QGLBsTaGSXhP09IB/w400-h300/orangepi-hass-core.png" title="Install Home Assistant Core on Orange Pi Zero 3" width="400"></a></div><p><span></span></p><a href="https://www.onetransistor.eu/2024/02/home-assistant-core-orangepi-part-two.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com2tag:blogger.com,1999:blog-468994113812845572.post-39651193540102779122023-10-21T23:11:00.014+03:002024-02-06T18:37:26.657+02:00Set up Home Assistant on Orange Pi Zero 3 (part one)<p>The Orange Pi Zero 3 is a powerful Single Board Computer (SBC) that can serve as the heart of your home automation system. With its compact size, low power consumption, and ample processing power, it's an ideal choice for DIY enthusiasts looking to automate their homes. In this guide, we'll walk you through the steps to set up and use the Orange Pi Zero 3 for home automation. I have previously used a <a href="https://www.onetransistor.eu/2021/03/mqtt-broker-on-orange-pi-zero-armbian.html" target="_blank">less capable SBC</a> and even an <a href="https://www.onetransistor.eu/2019/05/run-local-mqtt-broker-on-openwrt-router.html" target="_blank">old router</a> to run a self hosted MQTT server. It is time for an upgrade.</p><p>The main point of this upgrade is to add functionality beyond MQTT, such as database storage, reports and Home Assistant. I really want the latter since I have some ESP8266 relays and sensors I currently use and I think ESPHome could speed up software development while being easy to integrate with Home Assistant. Note that you may use another SBC from the OrangePi family for this purpose. I chose Zero 3 because it is powerful enough while being similar in size with the existing Zero I currently use.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH-IBp1nPDMOtYDdCxqID235VbOU1TX8mz-WWkR69A9epBlXD-gDYY-G6EqDcIHmnspmv_Cabtcatd3CeDMslmzlC7vu-_dd-InWoaxvIJLEGKEK_FAz9oLdmEWgxYEgftInBhPByq5EPyI01BQgf0cb998U69KuqdNUttJqKUMEjxToYhn34-SdoKuAtp/s767/orangepi-automation.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="Set up Home Assistant on Orange Pi Zero 3 (part one)" border="0" data-original-height="575" data-original-width="767" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH-IBp1nPDMOtYDdCxqID235VbOU1TX8mz-WWkR69A9epBlXD-gDYY-G6EqDcIHmnspmv_Cabtcatd3CeDMslmzlC7vu-_dd-InWoaxvIJLEGKEK_FAz9oLdmEWgxYEgftInBhPByq5EPyI01BQgf0cb998U69KuqdNUttJqKUMEjxToYhn34-SdoKuAtp/w400-h300/orangepi-automation.jpg" title="Set up Home Assistant on Orange Pi Zero 3 (part one)" width="400"></a></div><span></span><a href="https://www.onetransistor.eu/2023/10/orangepi-zero-3-home-assistant-part-one.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com1tag:blogger.com,1999:blog-468994113812845572.post-84318510273976333902022-01-13T20:49:00.006+02:002024-01-27T16:27:02.653+02:00Send data to weather station over 433.92 MHz<p>In a <a href="https://www.onetransistor.eu/2022/01/decode-433mhz-ask-signal.html">previous post</a> I used a software defined radio (SDR) to analyze and decode data transmission over 433.92 MHz of a simple weather station. As I mentioned then, the indoor unit can receive data from up to three outdoor units. I found that outdoor units use basic OOK modulation to send data to indoor unit. Knowing this I can make my own outdoor unit using a 433 MHz transmitter module controlled by an Arduino.</p><p>Obviously, I had to use a temperature and humidity sensor such as DHT11, DHT22, AM2302 to get environment parameters. I emulated full original outdoor unit functionality by adding a display and a push button to trigger immediate transmission of data to indoor unit.</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEijiL8nOt99-myMWsA3i7cBMrzfjARc9MRPp03HR2UmX57FUt_f76T8LpNLhPAKL9zWQwujQ3ZCm8bDsU1ydGV-cQI62BoRTF7X1ff1zXDiRBMm4D1kRzPltUSVbKdrhyJMokXwV5qN3PwnI1-xRRW0IgteIePe3lQn9ELuoG3DWU_QbKSilnESFOVFRA=s2400" style="margin-left: auto; margin-right: auto;"><img alt="Send data to weather station over 433.92 MHz" border="0" data-original-height="1800" data-original-width="2400" height="300" src="https://blogger.googleusercontent.com/img/a/AVvXsEijiL8nOt99-myMWsA3i7cBMrzfjARc9MRPp03HR2UmX57FUt_f76T8LpNLhPAKL9zWQwujQ3ZCm8bDsU1ydGV-cQI62BoRTF7X1ff1zXDiRBMm4D1kRzPltUSVbKdrhyJMokXwV5qN3PwnI1-xRRW0IgteIePe3lQn9ELuoG3DWU_QbKSilnESFOVFRA=w400-h300" title="Send data to weather station over 433.92 MHz" width="400"></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Arduino based data transmission device</td></tr></tbody></table><h2 style="text-align: left;"><span></span></h2><a href="https://www.onetransistor.eu/2022/01/send-data-weather-station-lpd.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com4tag:blogger.com,1999:blog-468994113812845572.post-67847982785363217372024-01-26T22:43:00.002+02:002024-01-27T16:20:08.542+02:00Receive weather station data with Arduino<p>A while ago (to be more specific two years ago) I used software defined radio to capture and decode RF signal from the outdoor unit of a weather station. This allowed me to <a href="https://www.onetransistor.eu/2022/01/send-data-weather-station-lpd.html" target="_blank">emulate the protocol</a> with an Arduino and a cheap 433.92 MHz transmitter and send my own data to the indoor station. I can make my own units if the original outdoor unit fails. The outdoor unit uses on-off-keying (OOK) and sends pulse distance modulated bits, explained in detail in the linked post.</p><p>But what about receiving data from outdoor unit(s) with an Arduino? One can add an ESP8266 to capture temperature and humidity and publish data to MQTT, Home Assistant or other IoT servers. Capturing and analyzing pulse timings of a signal was a daunting task for me. However it turned out to be easier than I thought, using an interrupt routine. In this post, I'll explain all the steps required to make a pulse distance modulation (PDM) decoder.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg49VpDckrYsL9If2nWzO1THEhhRePvkEoDGQ40NuJDzBvJ4OTmy-5Vv3iEabK1RR5BPBTLDFgwoXOaj9qsk__-rDTfM9f5H4RlvbR2worribsbXsCG7yFkqM2GRd2XKAQN295r4ijgVcSgWmNH3MRFG4USNVDksHQ7TAIYVPv9JIMjLHzkMWMglvlnYNZc/s2400/receiver_prototype.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1800" data-original-width="2400" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg49VpDckrYsL9If2nWzO1THEhhRePvkEoDGQ40NuJDzBvJ4OTmy-5Vv3iEabK1RR5BPBTLDFgwoXOaj9qsk__-rDTfM9f5H4RlvbR2worribsbXsCG7yFkqM2GRd2XKAQN295r4ijgVcSgWmNH3MRFG4USNVDksHQ7TAIYVPv9JIMjLHzkMWMglvlnYNZc/w400-h300/receiver_prototype.jpg" width="400"></a></div><p><span></span></p><a href="https://www.onetransistor.eu/2024/01/receive-lpd433-weather-unit-nexus.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com1tag:blogger.com,1999:blog-468994113812845572.post-51544048732528813752022-01-04T21:37:00.008+02:002024-01-27T16:19:34.232+02:00Decode 433.92 MHz weather station data<p>I bought a simple weather station, with temperature and humidity display for indoor and up to 3 wireless outdoor sensors (sold with only one though). Unfortunately, the one I got, had a non-functional outdoor sensor. I took it back to the store and got a replacement for the entire product. The outdoor sensor can be hanged on a wall with a small screw, but it can easily fall down.</p><p>Given the facts I initially got a broken sensor, the weather station can receive data from up to 3 sensors and because sensors are exposed to outdoor conditions, I decided to analyze the wireless protocol and maybe build my own device which will be able to emulate this kind of sensor. There is no information about wireless protocol of this weather station (sold by Lidl in Europe under the Auriol brand), except the frequency: 433.92 MHz. That was all I needed. And a software defined radio (I used RTL2832U dongle).</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj6HPG2pH6GRltBAR6yQNqvPU8X13wILVI98aUjtOrDHC_b8TJyLTxH5VsP6wx_bYwvlXRrwsy64mmuknu4JsP_JlXGyUU7MfO4RNDsPFhLl5iAWOD12ZgnN6bXWuZ8-v8gjqVOG67XLjKRqdzRCODJSKqHN1fsSji7RHqIBK95aJUMZbqZ7N5sS0GEhg=s1600" style="margin-left: 1em; margin-right: 1em;"><img alt="Decode 433.92 MHz weather station data" border="0" data-original-height="1200" data-original-width="1600" height="300" src="https://blogger.googleusercontent.com/img/a/AVvXsEj6HPG2pH6GRltBAR6yQNqvPU8X13wILVI98aUjtOrDHC_b8TJyLTxH5VsP6wx_bYwvlXRrwsy64mmuknu4JsP_JlXGyUU7MfO4RNDsPFhLl5iAWOD12ZgnN6bXWuZ8-v8gjqVOG67XLjKRqdzRCODJSKqHN1fsSji7RHqIBK95aJUMZbqZ7N5sS0GEhg=w400-h300" title="Decode 433.92 MHz weather station data" width="400"></a></div><h2 style="text-align: left;"><span></span></h2><a href="https://www.onetransistor.eu/2022/01/decode-433mhz-ask-signal.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com9tag:blogger.com,1999:blog-468994113812845572.post-16225736922900939562023-10-22T16:43:00.005+03:002024-01-26T22:50:19.846+02:00Review and Tests of Mechanic ET-10 Heating Table<p style="text-align: left;">I've been looking recently to buy a hot plate for SMD work. I didn't like the big 20 by 20 cm ones since I will not be doing such big PCBs. I also didn't like the Miniware 3 by 3 cm hot plate, because this is too small for my needs (and rather expensive). I decided to buy a 10 by 10 cm heating table, and Mechanic ET-10 caught my eye. More specifically I liked the hot plate itself, which is a 10 x 10 x 1.2 cm thick block of aluminum. It has two holes drilled through the back where two heating elements are inserted.</p><p style="text-align: left;">I eventually bought it and from the outside it seems a solid design. However, just as I turned it on and set its temperature, I heard a relay clicking inside. Well, using a relay for an "Intelligent Digital Constant Temperature" is something that does not look very good. The aluminum heating block has an important volume, therefore a high heat inertia. The best way to get it to a constant temperature is to use PID (proportional-integral-derivative) controller. And I don't think this is how its controller works.</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSlIYqRtiDPz4yf-uSprZZddl2yNGVuS2-lM-z-glB3lib7URXtDanIjnarLPprjvX01R8sfSE6aAOsuxmzmO38Y35aCSzDvxIm39WNNMyAUncjtEHC0cQGAo9jz_OSwd-P8Nx56Lfe8FnWPeuXjp7sGOAjN2SsSSy5i5JETwLt3zIUVsfwF8w1PBRGQ/s751/mechanic_et-10.jpg" style="margin-left: auto; margin-right: auto;"><img alt="Mechanic ET-10 hot plate" border="0" data-original-height="563" data-original-width="751" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSlIYqRtiDPz4yf-uSprZZddl2yNGVuS2-lM-z-glB3lib7URXtDanIjnarLPprjvX01R8sfSE6aAOsuxmzmO38Y35aCSzDvxIm39WNNMyAUncjtEHC0cQGAo9jz_OSwd-P8Nx56Lfe8FnWPeuXjp7sGOAjN2SsSSy5i5JETwLt3zIUVsfwF8w1PBRGQ/w400-h300/mechanic_et-10.jpg" title="Mechanic ET-10 hot plate" width="400"></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Mechanic ET-10 hot plate</td></tr></tbody></table><span></span><a href="https://www.onetransistor.eu/2023/10/review-and-tests-of-mechanic-et-10.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com0tag:blogger.com,1999:blog-468994113812845572.post-11496316199343077792023-07-15T22:43:00.006+03:002023-12-26T15:12:25.721+02:00Change default open with application in Ubuntu<p>With the new Ubuntu 23.04 release I found myself struggling to find a valid answer to a very simple task. I own a 3D printer and I design stuff in FreeCAD, then export to STL and load this in Cura to slice it and produce gcode for printer. If in Windows 11 there is a 3D viewer application which opens STL files, Ubuntu doesn't come bundled with a similar app and I hate loading every STL file in Cura just to see the 3D model. However, there is <a href="https://github.com/fstl-app/fstl" target="_blank">fstl</a>, which I found it to be exactly what I was looking for: it is lightweight and it opens STL files.</p><p>I installed it from default repositories with <b>sudo apt install fstl</b>. Although this is a GUI app, it can only be started from command line, having no desktop entry to open it from Apps. I didn't have a problem with this, since I knew I could select any executable to open a file with. However, this is is no longer true. The <b>Open With</b> dialog no longer allows users to choose something else besides installed applications.</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0MmAjMMYQMlVRJmQ1DHUp-6eYBvi8lc-WbruuTN_FIRSrBAvQuitAy8CrNcp4VihtMYLxiy60gNBI1O-mjSCz2lhaMiAml9n4D5hHUMxpybk7mAVoystHl77hIUeIB3QuznDb5Fg_of3RmVNFpG7R29scpwSKfKOe0cTW8qR-l_YpD1aF-kzWNUs023P4/s577/open_with_dialog.png" style="margin-left: auto; margin-right: auto;"><img alt="Open With dialog in new Ubuntu versions" border="0" data-original-height="577" data-original-width="558" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0MmAjMMYQMlVRJmQ1DHUp-6eYBvi8lc-WbruuTN_FIRSrBAvQuitAy8CrNcp4VihtMYLxiy60gNBI1O-mjSCz2lhaMiAml9n4D5hHUMxpybk7mAVoystHl77hIUeIB3QuznDb5Fg_of3RmVNFpG7R29scpwSKfKOe0cTW8qR-l_YpD1aF-kzWNUs023P4/s16000/open_with_dialog.png" title="Open With dialog in new Ubuntu versions"></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Open With dialog in new Ubuntu versions</td></tr></tbody></table><p><span></span></p><a href="https://www.onetransistor.eu/2023/07/ubuntu-file-change-open-with.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com3tag:blogger.com,1999:blog-468994113812845572.post-88001026680120590332023-11-12T20:18:00.002+02:002023-12-26T14:52:50.981+02:00EZP2023+ USB Programmer Overview and Schematic<p>EZP2023+ is another USB programmer for SPI, I2C and MicroWire memory chips. It is not as cheap as the CH341A however it has some nice features. I got mine from AliExpress with a set of adapters for SMD packages, an SMD clip and LCD panel adapter. It also came with 1.8 V adapter board which is also a nice thing. EZP2023+ is advertised as the fastest programmer, better than previous EZP2019. Soon after I ordered it, I found there is also EZP2025, already available in 2023...</p><p>Anyway, the main reason I got myself one is for the set of adapters which can also be used for CH341A MiniProgrammer. In comparison to that, EZP2023+ seems to be a better product, having a proper enclosure. Although I got a CD with this programmer (which contains driver, software and user manual), they forgot to mention how should I place the IC in the programming socket. I had to get a clear understanding of how it should be used properly, so I disassembled the case to have a look at the electronics.</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQLCvTmY85BvC-gn1rt9BZKNNQdECrI8EmQwcYgo7mCEjMQSEfOM3pZIXj8gWIVJHDHDzlxPH99Rle4qVEc2RO7UuM5Z-qPjGl0yaGL7sblQMbS_4YSjgsu_iRW2coPCs862wreXJoMZ5RuvtrqOHQcAOstJ70zfOjbesIjab_dZp6kxJN9jAfBoK7aOgO/s1628/ezp2023_photo.jpg" style="margin-left: auto; margin-right: auto;"><img alt="EZP2023+ High Speed Programmer Schematic and Drivers" border="0" data-original-height="1220" data-original-width="1628" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQLCvTmY85BvC-gn1rt9BZKNNQdECrI8EmQwcYgo7mCEjMQSEfOM3pZIXj8gWIVJHDHDzlxPH99Rle4qVEc2RO7UuM5Z-qPjGl0yaGL7sblQMbS_4YSjgsu_iRW2coPCs862wreXJoMZ5RuvtrqOHQcAOstJ70zfOjbesIjab_dZp6kxJN9jAfBoK7aOgO/w400-h300/ezp2023_photo.jpg" title="EZP2023+ High Speed Programmer Schematic and Drivers" width="400"></a></td></tr><tr><td class="tr-caption" style="text-align: center;">EZP2023+ USB Programmer</td></tr></tbody></table><p><span></span></p><a href="https://www.onetransistor.eu/2023/11/ezp2023plus-programmer-ch552g.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com0tag:blogger.com,1999:blog-468994113812845572.post-45964878599128733432023-12-26T14:51:00.005+02:002023-12-26T14:51:52.883+02:00How to use the EZP2023+ USB Programmer<p><a href="https://www.onetransistor.eu/2023/11/ezp2023plus-programmer-ch552g.html">Previously</a> I analyzed the hardware of EZP2023+ USB Programmer to find it is a rather simple device, based on CH552G microcontroller which allows for SPI, I2C and MicroWire capabilities. If you didn't know this is a serial memory programmer, which can be used to read and write a variety of memory chips, including EEPROMs and BIOS ICs commonly found in computers and other electronic devices. After I traced the schematic, I realized EZP2023+ also comes with mixed voltage levels (meaning it powers the memory to program with 3.3 V while the data bus uses 5 V for I/O) and this is a big issue since it can destroy whatever you are trying to read or program. </p><p>In this post I will share my experience with the programmer and discover some flaws of its programming software. You should get the programming utility on a CD which is in the product box. Since recent computers and notebooks no longer have an optical drive, this is already an issue. Getting past that, on the CD you will find the user manual and accompanying software, with driver. Let's see how you get everything ready to program memory chips.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeWuqOVqNVQHl5X8p2M8Yu8S46o5o1YBfh78o-Gx8leer5mU3skHIZfHV-l-lX99PQsYCiMXkxexM3E45fqNJjLZ_cmkE8jDoLWWooYkg0DPAm1wd81PtxwVoudzNtBVrNtcm6y-bC0peaiJY94AT43zVOaeIkJJYTCNJjZoL20xqDDr25jH4eeMpcLnBg/s2400/ezp2023_with_smd_adapter.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="How to use EZP2023+ USB Programmer" border="0" data-original-height="1800" data-original-width="2400" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeWuqOVqNVQHl5X8p2M8Yu8S46o5o1YBfh78o-Gx8leer5mU3skHIZfHV-l-lX99PQsYCiMXkxexM3E45fqNJjLZ_cmkE8jDoLWWooYkg0DPAm1wd81PtxwVoudzNtBVrNtcm6y-bC0peaiJY94AT43zVOaeIkJJYTCNJjZoL20xqDDr25jH4eeMpcLnBg/w400-h300/ezp2023_with_smd_adapter.jpg" title="How to use EZP2023+ USB Programmer" width="400"></a></div><h2 style="text-align: left;"><span></span></h2><a href="https://www.onetransistor.eu/2023/12/how-to-use-ezp2023-usb-programmer.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com2tag:blogger.com,1999:blog-468994113812845572.post-80877066701956395272017-12-17T15:09:00.002+02:002023-11-12T11:15:58.378+02:00CH341A SPI Programming (Windows API)CH341A is an USB interface chip that can emulate UART communication, standard parallel port interface, parallel communication and synchronous serial (I2C, SPI). The chip is manufactured by Chinese company <a href="http://www.wch.cn/" target="_blank">Jiangsu QinHeng Ltd</a>.<br>
<br>
CH341A is used by some cheap memory programmers. The IC is somehow limited in this configuration, because the programmer makes use only of the SPI and I2C interface. A popular device is the so-called "<a href="https://www.banggood.com/USB-Programmer-CH341A-Series-24-EEPROM-BIOS-LCD-Writer-25-SPI-Flash-p-1008191.html?p=DT05143463113201601H" rel="nofollow" target="_blank">CH341A MiniProgrammer</a>" that you can buy for 2 to 5 USD. And this is probably the cheapest device using CH341A.<br>
<br>
If you got a "MiniProgrammer", you may want to use for more than memory chips programming. The device can actually be used as USB to SPI converter (not only SPI, but this article will focus only on SPI function). Let's see how to use the included library and header to communicate with SPI peripherals.<br>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEzY4YIv1n_o0swORsQJVBW_iH6983iCfqYr-VetueT65LYX5Bnv_dR_9Mp0bPJYztcsyi4Zz9pqW0lvQYMLU3WU5_Qf82j7iDOYBe2ZqPsfLbtpIq-WiiR-5xCXV8Gzt__1EFiu2r6XQ4/s1600/ch341aminiprog_spi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="CH341A SPI Programming (Windows API)" border="0" data-original-height="529" data-original-width="600" height="352" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEzY4YIv1n_o0swORsQJVBW_iH6983iCfqYr-VetueT65LYX5Bnv_dR_9Mp0bPJYztcsyi4Zz9pqW0lvQYMLU3WU5_Qf82j7iDOYBe2ZqPsfLbtpIq-WiiR-5xCXV8Gzt__1EFiu2r6XQ4/s400/ch341aminiprog_spi.jpg" title="CH341A SPI Programming (Windows API)" width="400"></a></div>
<a href="https://www.onetransistor.eu/2017/12/ch341a-usb-spi-programming.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com6tag:blogger.com,1999:blog-468994113812845572.post-38948464925740769682017-10-07T19:36:00.002+03:002023-11-12T11:15:48.691+02:00PonyProg release 3.0 comes with modern UIPonyProg is a software application that can read, write and program various memory chips and microcontrollers using the simplest possible interface: a serial port adapter. This adapter consist of only some resistors and some voltage limiting zener diodes. However, this approach has a big downside nowadays. It doesn't work with USB to serial converters. And computers with a real serial port are becoming very rare.<br>
<br>
If you still have an older computer with a motherboard serial port, you may take into consideration building the serial adapter used by PonyProg, because it is easy to build and probably the cheapest programmer possible. The schematic of the interface can be found at the author's page (<a href="http://www.lancos.com/siprogsch.html" target="_blank">SI-Prog</a> by <i>Claudio Lanconelli</i>).<br>
<br>
Currently, PonyProg only support SI-Prog or other serial based programmers and some parallel port programmers. With serial port, it communicates by <i>bit-banging</i> various protocols to the signaling lines contained in the RS232 interface (RTS, CTR and DTR). It would be nice if a future version would support the modern USB based programmers (like the <a href="https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html" target="_blank">CH341A MiniProgrammer</a>) which lack a good software.<br>
<br>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVLAVXqwAOSJJR3WUHhDfjMYeRR9c9FNr72yk9dKxuHH3im3QAN4VDQXQ01_o2wz9fxNOiS7czgbCsBNUsFbGqutJJRpEyYmhofNwZU2RFmSqkRzMEpMW8z5RBwRqzJgUx0teNFzgiU5Ur/s1600/pony_read.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="PonyProg release 3.0 comes with modern UI" border="0" data-original-height="288" data-original-width="643" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVLAVXqwAOSJJR3WUHhDfjMYeRR9c9FNr72yk9dKxuHH3im3QAN4VDQXQ01_o2wz9fxNOiS7czgbCsBNUsFbGqutJJRpEyYmhofNwZU2RFmSqkRzMEpMW8z5RBwRqzJgUx0teNFzgiU5Ur/s1600/pony_read.png" title="PonyProg release 3.0 comes with modern UI"></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">PonyProg 3.0 main window after reading an I2C EEPROM</td></tr>
</tbody></table>
<a href="https://www.onetransistor.eu/2017/10/ponyprog-3.0-qt5-ui-test.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com2tag:blogger.com,1999:blog-468994113812845572.post-1721445746105367062017-10-02T18:25:00.000+03:002023-11-12T11:15:38.427+02:00CH341A I2C Programming (Windows API)CH341A is an USB interface chip that can emulate UART communication, standard parallel port interface, parallel communication and synchronous serial (I2C, SPI). The chip is manufactured by Chinese company <a href="http://www.wch.cn/" target="_blank">Jiangsu QinHeng Ltd</a>.<br>
<br>
CH341A is used by some cheap memory programmers. The IC is somehow limited in this configuration, because the programmer makes use only of the SPI and I2C interface. A popular device is the so-called "<a href="https://www.banggood.com/USB-Programmer-CH341A-Series-24-EEPROM-BIOS-LCD-Writer-25-SPI-Flash-p-1008191.html?p=DT05143463113201601H" rel="nofollow" target="_blank">CH341A MiniProgrammer</a>" that you can buy for 2 to 5 USD. And this is probably the cheapest device using CH341A.<br>
<br>
If you got a "MiniProgrammer", you may want to use for more than memory chips programming. The device can actually be used as USB to I2C converter (not only I2C, but this article will focus only on I2C function). Let's see how to use the included library and header to communicate with I2C devices.<br>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCnlCBq8fxNLB_Rg45K4JpQtcZn5P86PBeMLkzcgVNEmNgPZcLxovbYx4DT0OADR6LMQb7W4mEly-rDwWGHsBehxDvOk_p1zyMyGV0BteDBE9yp3ldDYOjmr1xVYIShuFLyCvA-64af4oc/s1600/ch341aminiprog_i2c.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="CH341A I2C Programming" border="0" data-original-height="600" data-original-width="600" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCnlCBq8fxNLB_Rg45K4JpQtcZn5P86PBeMLkzcgVNEmNgPZcLxovbYx4DT0OADR6LMQb7W4mEly-rDwWGHsBehxDvOk_p1zyMyGV0BteDBE9yp3ldDYOjmr1xVYIShuFLyCvA-64af4oc/s320/ch341aminiprog_i2c.jpg" title="CH341A I2C Programming" width="320"></a></div>
<a href="https://www.onetransistor.eu/2017/09/ch341a-usb-i2c-programming.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com19tag:blogger.com,1999:blog-468994113812845572.post-65388912765478429632017-08-05T19:57:00.006+03:002023-11-12T11:15:28.087+02:00CH341A Mini Programmer Schematic and Drivers<p>CH341A is an USB interface chip that can emulate UART communication, standard parallel port, memory parallel port and synchronous serial (I2C, SPI). The chip is manufactured by Chinese company <a href="http://www.wch.cn/" target="_blank">Jiangsu QinHeng Ltd</a>. CH341A is used by some cheap memory programmers. The IC is somehow limited in this configuration, because the programmer makes use only of the SPI and I<sup>2</sup>C interface and leaves a lot of pins unconnected. A popular device is the black <i><a href="https://www.banggood.com/USB-Programmer-CH341A-Series-24-EEPROM-BIOS-LCD-Writer-25-SPI-Flash-p-1008191.html?p=DT05143463113201601H&custlinkid=160345" rel="nofollow" target="_blank">CH341A MiniProgrammer</a></i> that you can buy for 2 to 5 USD.</p>
<p>The problem with these devices is that you get them without any documentation or software. Drivers are available from manufacturer's website (but the site is written in Chinese). Also, some source codes are available from manufacturer. There are open source applications that support this programmer. But, first of all, let's have a look at the hardware.</p>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSt-Gmhq-D7wLQ_7ymmMr9YhTPBYhBr0WDtGvQBHg-HLCLMDhttescboeGpECD_perSBaZLYD5TXcSfJdoAY4dbcUEIZa2aD3hocGDf1ptX9jMzesm_gTS4YfH5Oo3yWl_UNn6_Rbts2CX/s1600/blackminiprogrammer.jpg" target="_blank"><img alt="Photo of the black CH341A Mini Programmer" class="img-responsive" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSt-Gmhq-D7wLQ_7ymmMr9YhTPBYhBr0WDtGvQBHg-HLCLMDhttescboeGpECD_perSBaZLYD5TXcSfJdoAY4dbcUEIZa2aD3hocGDf1ptX9jMzesm_gTS4YfH5Oo3yWl_UNn6_Rbts2CX/s400/blackminiprogrammer.jpg" title="Photo of the black CH341A Mini Programmer"></a>
<p class="legend">Photo of the black CH341A Mini Programmer</p>
<a href="https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com62tag:blogger.com,1999:blog-468994113812845572.post-52873698482555092242023-10-28T22:22:00.007+03:002023-10-28T22:42:04.275+03:00IMSProg and other Linux utilities for CH341A<p>It was July 2017 when I ordered an EEPROM programmer I found on AliExpress for only 2.13 USD with free shipping. It wasn't a surprise it came without any kind of documentation. So I began searching for information since I didn't knew how to use it or what PC software I need to read a memory chip. In fact, I didn't even know how to place a chip in the programming socket. I gathered all information about the programmer hardware <a href="https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html" target="_blank">in this post</a>. At that time I wasn't expecting this programmer to become so popular, still being used today.</p><p>The CH341A MiniProgrammer and other programmers based on this controller are affordable USB programmers used for reading and writing EEPROM chips and flash memory. They are widely used by hobbyists and technicians for tasks like flashing BIOS chips, recovering data from bricked devices, and working with various types of EEPROM and SPI flash memory chips. Yet, with all this popularity, the only (probably) official software for this programmer is Windows-only, hard to get and some of the alternatives come from not very trustful sites. Let's see what is available for Linux (Ubuntu).</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk8o2eEeCyt1Xt7KSRN6kkV-XLh3GvjXZNHlA8vQcILlCEXwt6ZsTYmuaLlNNrBboe00woVXNVLAoyIaO1SvDhT4c6d9qryBjmBT3_VoCJe3oySUxS0edvgy3O70okiSR4NEAMWogFem2oEX9sGephB0R8BFhadLg4tSV28Sip5F2msm4PW8GQcEni9AB6/s902/imsprog_main_window.png" style="margin-left: auto; margin-right: auto;"><img alt="Reading SPI Flash with IMSProg" border="0" data-original-height="659" data-original-width="902" height="293" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk8o2eEeCyt1Xt7KSRN6kkV-XLh3GvjXZNHlA8vQcILlCEXwt6ZsTYmuaLlNNrBboe00woVXNVLAoyIaO1SvDhT4c6d9qryBjmBT3_VoCJe3oySUxS0edvgy3O70okiSR4NEAMWogFem2oEX9sGephB0R8BFhadLg4tSV28Sip5F2msm4PW8GQcEni9AB6/w400-h293/imsprog_main_window.png" title="Reading SPI Flash with IMSProg" width="400"></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Reading SPI Flash with IMSProg</td></tr></tbody></table><span></span><a href="https://www.onetransistor.eu/2023/10/imsprog-ch341a-programmer-linux.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com1tag:blogger.com,1999:blog-468994113812845572.post-49101735852093412242018-11-25T15:24:00.007+02:002023-10-28T22:23:32.455+03:00AsProgrammer and other Windows utilities for CH341A<p>CH341A serial programmers are cheap and quite popular. Probably the most used device is the <a href="https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html">MiniProgrammer</a>. The CH341A is a USB interface chip that can emulate various communication protocols, such as UART, I2C, SPI, and JTAG. It is commonly used for programming EEPROM and BIOS chips, as well as debugging serial devices. The MiniProgrammer has a 16-pin ZIF socket that can hold different types of chips. CH341A requires a driver and a software tool to operate.</p><p>The manufacturer of CH341A chip offers drivers for all operating systems. They even offer API for programmers who want to build software to talk to CH341A. In spite of this, software tools for CH341A are not very easy to find. For Windows there is a programming utility that requires a license which is offered only if you buy the programmer from the developer's shop, on Chinese platform <a href="https://skygz.world.taobao.com/p/rd917882.htm" rel="nofollow" target="_blank">Taobao</a>. In this post I'll show you the alternatives.</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6WEfr_dVzcCKRbsXgOF3ZTSFdkhTgjPivPFk6njN502Q5LaAovejBw7gkMewcbH9hymqI2-UwwamEjnxyghhyOTu4VmWz_b0Lt7Zw5X1qWysZtTA_G-dv5m0TlWKreCOrWlcqa68KdIv1eRTkOU27jrOMzyNTjBX-2xgY_zyweukSrct479gBTwUReUZj/s855/asprogrammer_main_window.png" style="margin-left: auto; margin-right: auto;"><img alt="Reading 25xx SPI FLASH with AsProgrammer" border="0" data-original-height="573" data-original-width="855" height="268" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6WEfr_dVzcCKRbsXgOF3ZTSFdkhTgjPivPFk6njN502Q5LaAovejBw7gkMewcbH9hymqI2-UwwamEjnxyghhyOTu4VmWz_b0Lt7Zw5X1qWysZtTA_G-dv5m0TlWKreCOrWlcqa68KdIv1eRTkOU27jrOMzyNTjBX-2xgY_zyweukSrct479gBTwUReUZj/w400-h268/asprogrammer_main_window.png" title="Reading 25xx SPI FLASH with AsProgrammer" width="400"></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Reading 25xx SPI FLASH with AsProgrammer</td></tr></tbody></table><span></span><a href="https://www.onetransistor.eu/2018/11/use-ch341a-with-asprogrammer-on-windows.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com13tag:blogger.com,1999:blog-468994113812845572.post-86690631560513990972023-01-28T21:37:00.021+02:002023-07-15T23:16:43.255+03:00Gas detector based on MQ-2 without microcontroller<p>Nowadays people are using microcontrollers even for blinking an LED. And that is no problem, since they are cheap enough, have low power consumption and are easy to program. But there was a time when microcontrollers were expensive and hard to find. And even then, engineers were building working devices, just smart enough to do the job they were designed for. Let's try to build a "microcontroller-less" gas detector using one of the MQ sensors.</p><p>Gas sensors from MQ family are analog tin dioxide detectors which change their resistance in the presence of volatile compounds like gases or smoke. Except MQ-7 and MQ-9 which are designed for carbon monoxide detection and require alternating heater voltage, with analog output being read at the end of each heater voltage cycle, every other sensor may be used in the following circuit.</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwTyRzb0C9QvSxfd04qHZY3CI_gch4xsewXqe7jIu90dfnjZEYb1tfjwW-bWRt74Krtf_W7d9om5WOLT5e7JewJvpPceHhSnjqXHLGmKsNcSoH09RzLWmOmy95_ICbZ1HUyaV2IYGufE5Gh-UCogSl-Way07sjdmstUGDSK506p1QJChVvRhkEXSIa9bdQ/s1600/analog_gas_detector.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Built analog gas detector with 3D printed enclosure" border="0" data-original-height="1200" data-original-width="1600" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwTyRzb0C9QvSxfd04qHZY3CI_gch4xsewXqe7jIu90dfnjZEYb1tfjwW-bWRt74Krtf_W7d9om5WOLT5e7JewJvpPceHhSnjqXHLGmKsNcSoH09RzLWmOmy95_ICbZ1HUyaV2IYGufE5Gh-UCogSl-Way07sjdmstUGDSK506p1QJChVvRhkEXSIa9bdQ/w400-h300/analog_gas_detector.jpg" title="Built analog gas detector with 3D printed enclosure" width="400"></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Built analog gas detector with 3D printed enclosure</td></tr></tbody></table><span></span><a href="https://www.onetransistor.eu/2023/01/mq-2-analog-gas-detector.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com0tag:blogger.com,1999:blog-468994113812845572.post-71252374399602258462021-12-24T19:02:00.012+02:002023-07-10T17:34:06.045+03:00FreeCAD tools and settings for CNC 3018 Pro<p>I recently bought and assembled the CNC3018. I have never owned a CNC before and I was unpleasantly surprised by the lack of free and easy to use software to produce CNC jobs. So I had to learn FreeCAD, the only open source software known to me which can be used for this purpose. In this post I added the two types of tool bits supplied with the CNC to FreeCAD's library and I will attempt to produce various jobs in future posts.</p><p>CNC machining is a complex process and its workflow depends on a lot of interrelated parameters unknown to beginners. Setting them properly is an absolute requirement to complete a CNC job without breaking valid bits, ruining the work piece or damaging the machine.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg99bqFWCNk6Iz5ml8KCDuq-kHoDJOtlv9yA3p3PhAmazys_teWuVnRZu9nwzjvVhsLk5uVffDSCn38OHXbn_zoGETn6qG5eFCzIJq4O-jDPjUHa9uaqWlNnZvm7ZiSU_lfWc2-zoVa9DX7AF1r2BXNJTCnyIqH-QJJN2sSRG17XEQL_gvXBmkWK5S2zw=s966" style="margin-left: 1em; margin-right: 1em;"><img alt="FreeCAD tools and settings for CNC 3018 Pro" border="0" data-original-height="689" data-original-width="966" height="285" src="https://blogger.googleusercontent.com/img/a/AVvXsEg99bqFWCNk6Iz5ml8KCDuq-kHoDJOtlv9yA3p3PhAmazys_teWuVnRZu9nwzjvVhsLk5uVffDSCn38OHXbn_zoGETn6qG5eFCzIJq4O-jDPjUHa9uaqWlNnZvm7ZiSU_lfWc2-zoVa9DX7AF1r2BXNJTCnyIqH-QJJN2sSRG17XEQL_gvXBmkWK5S2zw=w400-h285" width="400"></a></div>
<a href="https://www.onetransistor.eu/2021/12/freecad-tools-and-settings-for-cnc-3018.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com5tag:blogger.com,1999:blog-468994113812845572.post-51075878313563305922015-08-19T21:27:00.003+03:002023-06-12T19:13:25.538+03:0010W Stereo Audio Amplifier with Transistors<p>Most audio amplifiers nowadays are built with special integrated circuits. These ICs are getting smaller, but the power they can deliver and efficiency are increasing. The following amplifier is a classic design built with common parts and some power transistors in output stages. It can deliver a maximum of 10 W into 4 ohms speakers on each channel when it is fed with a 0.5 V peak-to-peak signal. Input impedance is above 100 kilo-ohms. The amplifier should be powered from 24 V regulated supply.</p>
<p>The output transistors must be able to handle a collector current of at least 2 A and dissipate at least 20 W. Something like BD237 & BD238 or BD 437 & BD 438 pairs will do. The rest are general purpose transistors such as BC547, BC171, 2N2222, S8050, 2N3904 and their complementary BC557, BC177, 2N2907, S8550, 2N3906 (pay attention to pin order). The drivers of the power transistors, just like them, must be complementary and with similar current gain. So, if you have a hFE meter, it's recommended to test the transistors and match them based on hFE. If you can't measure them, follow the hFE markings. Do not match a BC547B with a BC557C because they have different gains.</p>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge489PXTAGjAgScxROaJVYUBH5fhSrUQR9qZOUI1wwSM_iqdB_sg-JTCK_HFHcn1CPJ8qZVQFy4-SXflbykLwk6xhUv-gJvA264NyFd2mEcMEwf6xvIpaMUR60fAzLRtWA0mh9aVtPxf5e/s1600/amp10w_built.jpg"><img alt="10W Audio Amplifier with Transistors" class="img-responsive" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge489PXTAGjAgScxROaJVYUBH5fhSrUQR9qZOUI1wwSM_iqdB_sg-JTCK_HFHcn1CPJ8qZVQFy4-SXflbykLwk6xhUv-gJvA264NyFd2mEcMEwf6xvIpaMUR60fAzLRtWA0mh9aVtPxf5e/s640/amp10w_built.jpg" style="width: 400px;" title="10W Audio Amplifier with Transistors"></a>
<p class="legend">Built channel amplifier (without heatsink)</p>
<a href="https://www.onetransistor.eu/2015/08/10w-stereo-audio-amplifier.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com12tag:blogger.com,1999:blog-468994113812845572.post-60059105964543817662015-07-25T23:09:00.006+03:002023-06-12T19:10:30.316+03:002.5W Audio Amplifier with Transistors<p>This amplifier is easy to build using common discrete parts. A channel uses only four general purpose transistors (3 NPN like BC547, 2N2222, 2N3904 and 1 PNP like BC557, 2N2907, 2N3906) and two medium power complementary transistors like BD135/137/139 with BD 136/138/140 or MJE200 with MJE210. Almost any pair of complementary transistors will do as long as hFE is greater than 60, maximum collector current at least 1 A and dissipation at least 10 W.</p><p>The power transistors must be fitted on a heatsink! They have their collectors electrically connected so you don't have to isolate each other. The heatsink should have an area of at least 40 square centimeters. Note that the heatsink voltage is neither ground or supply voltage so do not connect it with anything else besides transistors. Be careful not to connect it with chassis ground. If you build the other channel for stereo use, do not electrically connect the heatsinks of both left and right channels.</p>
<br>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9ZD4aSBNBr4LYwZ8Ig0ayFeg4Ki0jAW8MBNVSMxD5ZLXx7htKkC4DC7oX7bisTHQKLQJdUQ85gHdhTNHzv373khTcydgbvS5IBbcxaH1PRLdSjHAg-YO3FzLTDRjkEk3q7OB7yC6hOCXg/s1600/photo.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="2.5W Audio Amplifier with Transistors" border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9ZD4aSBNBr4LYwZ8Ig0ayFeg4Ki0jAW8MBNVSMxD5ZLXx7htKkC4DC7oX7bisTHQKLQJdUQ85gHdhTNHzv373khTcydgbvS5IBbcxaH1PRLdSjHAg-YO3FzLTDRjkEk3q7OB7yC6hOCXg/s640/photo.jpg" title="2.5W Audio Amplifier with Transistors" width="640"></a></div>
<br>
<a href="https://www.onetransistor.eu/2015/07/2.5w-audio-amplifier-with-transistors.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com0tag:blogger.com,1999:blog-468994113812845572.post-85943091262816795722023-02-04T22:24:00.012+02:002023-05-07T17:25:56.451+03:00I/O Interfacing with current source and sink pins<p>Current source and current sink are two commonly used terms that you will find in datasheets of microcontrollers and digital circuits. Even though most input pins of an IC nowadays are internally connected to the gate of MOSFET transistors which are voltage driven, there are situations when you have to take into account current capabilities (i.e. high speed switching or something else than a CMOS input is connected to an output pin). I'm thinking about LEDs and bipolar transistor driven devices, such as relay modules.</p><p>These inputs are current driven and need to source or sink currents to change state. Fortunately, most output pins of contemporary microcontrollers are push-pull type and can source and sink currents. This means you don't have to worry too much about the way you are connecting an LED to a digital output. But there are still in use circuits which can only sink or source currents. And if you're not paying attention to datasheet, you might very well fail to design a working circuit.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEIWJRAqrll31DzG3ACPeaILqqz7RoxMzF-0oOVhh2oylAg4rD5j1icMslWXq62TgNynVb7kE17VfKT8CX7JacRJI9yHKci1ipnxKa0hoDzma0UOt6dj2Nbtb73KFfm_Nn80JNXnph03sQHNYElsy-f0Tp2HvKrelQ9OTZg2QpwkUuap3MptsJn9qGMw/s796/sink_source_how.png" style="margin-left: 1em; margin-right: 1em;"><img alt="I/O Interfacing with current source and sink pins" border="0" data-original-height="597" data-original-width="796" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEIWJRAqrll31DzG3ACPeaILqqz7RoxMzF-0oOVhh2oylAg4rD5j1icMslWXq62TgNynVb7kE17VfKT8CX7JacRJI9yHKci1ipnxKa0hoDzma0UOt6dj2Nbtb73KFfm_Nn80JNXnph03sQHNYElsy-f0Tp2HvKrelQ9OTZg2QpwkUuap3MptsJn9qGMw/w400-h300/sink_source_how.png" title="I/O Interfacing with current source and sink pins" width="400"></a></div><h2 style="text-align: left;"><span></span></h2><a href="https://www.onetransistor.eu/2023/02/current-source-vs-current-sink.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com3tag:blogger.com,1999:blog-468994113812845572.post-66117094047854997412023-02-12T17:54:00.010+02:002023-04-02T15:37:36.432+03:00Drive 8-Channel Relay Module with Bus Expander<p>In automation projects it is often needed to drive multiple outputs. Combine this with the reduced number of pins of a microcontroller, such as ESP8266, and you got a problem. In this post we'll explore the methods of converting the parallel inputs of a relay module to some kind of serial protocol, which allows connecting even more relays, without the need of additional control pins. I will use for exemplification an 8-channel relay module, however the methods I will show will allow you to connect more than 8 relays to the same bus.</p><p>To achieve this purpose, I have to use some kind of bus expander IC. There are a few available options here. However, as we will see, both communication protocol and output port capability are different. And even the common relay modules use a rather unusual method of turning on the relay driver transistor. I already discussed the difference between current sink and current source in <a href="https://www.onetransistor.eu/2023/02/current-source-vs-current-sink.html" target="_blank">the previous post</a>. Let's use that knowledge.</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggdjjZ8O-9FqxaoefRSulFkIjT2xHWlPlGYEnAsfDwK7fCm-q8WVnassolxex-VguRypo0Dz3SZcJ23T7NCO1_-flNZPl528CrdTU7Wy0t3s-xJfRlMRHUrObSPcY1kNzohns_BLWIxNij2DTugO_jqUaOClmi_Ej8On-u0fe6FBfX6IChYe0X5_YwxQ/s2400/pcf8574_relay_module.jpg" style="margin-left: auto; margin-right: auto;"><img alt="8 Relay module with PCF8574 bus expander" border="0" data-original-height="1800" data-original-width="2400" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggdjjZ8O-9FqxaoefRSulFkIjT2xHWlPlGYEnAsfDwK7fCm-q8WVnassolxex-VguRypo0Dz3SZcJ23T7NCO1_-flNZPl528CrdTU7Wy0t3s-xJfRlMRHUrObSPcY1kNzohns_BLWIxNij2DTugO_jqUaOClmi_Ej8On-u0fe6FBfX6IChYe0X5_YwxQ/w400-h300/pcf8574_relay_module.jpg" title="8 Relay module with PCF8574 bus expander" width="400"></a></td></tr><tr><td class="tr-caption" style="text-align: center;">8 Relay module with PCF8574 bus expander</td></tr></tbody></table><span></span><a href="https://www.onetransistor.eu/2023/02/drive-relay-module-bus-expander.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com0tag:blogger.com,1999:blog-468994113812845572.post-41172220838647943402023-04-02T15:18:00.001+03:002023-04-02T15:19:01.052+03:00Daisy chaining and bus sharing with shift registers<p>A shift register is a digital circuit that is used to store and manipulate data in a sequential manner. It is composed of a series of flip-flops, which can be viewed as basic memory units able to store binary values. The outputs of each flip-flop are connected to the inputs of the next flip-flop in the sequence, such that the data is shifted from one flip-flop to the next with each clock pulse.</p><p>In this post I will use the 74HC595 serial-in-parallel-out shift register and its counterpart, 74HC165 parallel-in-serial-out shift register. Both are commonly employed when a microcontroller with limited available I/O pins has to control a large number of digital outputs or read a similar number of inputs (for example in home automation). What I want to show you in this post is how to daisy chain these ICs and how to make them share some control lines in order to keep the serial interface data lines to a minimum.<span></span></p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFsP6c1w5Wdg_qFD3XLRdnqPz5eZnZ--6wiUOvS4l5XooMDq2xklmivTr4hbQx_YxZAtqyXzwQN2P-XqXg6geQg8_SDCKn336W9Qmohbno1Yz91NmJegkpfHg9bnJ1J4naEofTy56SVFH0SsUK01pf5pxuh4OM1CCRGakLT3AMevnwgftUBgDx3jGEBQ/s2875/shift_registers_breadboard.jpg" style="margin-left: auto; margin-right: auto;"><img alt="Shift registers circuit on breadboard" border="0" data-original-height="2156" data-original-width="2875" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFsP6c1w5Wdg_qFD3XLRdnqPz5eZnZ--6wiUOvS4l5XooMDq2xklmivTr4hbQx_YxZAtqyXzwQN2P-XqXg6geQg8_SDCKn336W9Qmohbno1Yz91NmJegkpfHg9bnJ1J4naEofTy56SVFH0SsUK01pf5pxuh4OM1CCRGakLT3AMevnwgftUBgDx3jGEBQ/w400-h300/shift_registers_breadboard.jpg" title="Shift registers circuit on breadboard" width="400"></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Shift registers circuit on breadboard</td></tr></tbody></table><p></p><p></p><p><span></span></p><a href="https://www.onetransistor.eu/2023/04/shift-registers-daisy-chaining-shared-bus.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com0tag:blogger.com,1999:blog-468994113812845572.post-64873343347762345842018-01-01T15:26:00.004+02:002023-03-26T16:39:52.451+03:00Audio Amplifier with Common Transistors<p>Here is the schematic of a small audio amplifier that will provide up to 300mW to an 8 ohm load and can be used in low power devices like battery powered radios. This circuit is an alternative to the LM386 IC. Due to the simplicity of the schematic, the circuit can be built also on breadboard, for those of you who want to experiment and learn how an amplifier works.</p><p>The design is straightforward. A common small signal NPN transistor (like BC547, 2N2222, 2N3904, S8050) drives a balanced power amplifier made of similar transistors. The output transistor pairs can be BC327 with BC337 or S8050 with S8550. They must handle peak currents of 300-400mA (this is why BC547/BC557 or 2N3904/2N3906 should not be used here). The amplifier can be powered from a 9V battery or from a 12V power source. The circuit draws a current of about 170mA. Quiescent current is less than 10mA.</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiKs9S-24XfHKshhxX9JlXr807u1b1PoVzTjKUT2jf46QfUoOK5lXOm0yhCMCbuaRqXO_5rehtcHewCVh_ceDAAW0d2HwVoht-ilkCN4n4ffUMFGDdMHGC2aznMEZDFn3rfh1msX8ox1vm/s1600/audio_breadboard.jpg" style="margin-left: auto; margin-right: auto;"><img alt="Audio amplifier with common transistors build on breadboard" border="0" data-original-height="1200" data-original-width="1600" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiKs9S-24XfHKshhxX9JlXr807u1b1PoVzTjKUT2jf46QfUoOK5lXOm0yhCMCbuaRqXO_5rehtcHewCVh_ceDAAW0d2HwVoht-ilkCN4n4ffUMFGDdMHGC2aznMEZDFn3rfh1msX8ox1vm/s400/audio_breadboard.jpg" title="Audio amplifier with common transistors build on breadboard" width="400"></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Audio amplifier build on breadboard</td></tr>
</tbody></table>
<a href="https://www.onetransistor.eu/2018/01/audio-amplifier-common-transistors.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com1tag:blogger.com,1999:blog-468994113812845572.post-6158116953060698862015-12-12T17:42:00.003+02:002023-02-15T19:08:47.549+02:00How to install Ubuntu from Minimal CD (with UEFI)Besides standard disc images, Ubuntu also offers a small image of only ~30...40 MB named <a href="https://help.ubuntu.com/community/Installation/MinimalCD" target="_blank">Minimal CD</a>. This contains a text-based installer, so you can use it on computers that fail to load the graphical environment of the installer. Only the packages required to run the installer are on the actual image and anything else will be downloaded from a repository that you can choose.<br>
<br>
This has advantages and disadvantages. If you have a fast internet connection, this is actually a good way of installing Ubuntu or any of its <a href="http://www.ubuntu.com/about/about-ubuntu/flavours" target="_blank">official derivatives</a> like Kubuntu, Xubuntu, Lubuntu or Ubuntu MATE. You will only get the packages you requested at their available versions from the repositories. This means that once installed, your OS will be updated. The disadvantages are of course related to the internet connection. The minimal ISO cannot boot in EFI mode yet you can make it EFI bootable. Also, the text installer may be a little difficult for inexperienced users.<br>
<br>
This tutorial shows how to make an EFI bootable media from Minimal ISO and also how to install Ubuntu from it whether you're in EFI mode or not.<br>
<br>
The ISO is less than 40 MB, thus it can be burned even on 80 mm CD or you can make a bootable flash drive. This is the perfect choice for any old, low speed USB flash drive. In order to make the bootable USB drive, you can use Rufus on Windows and <b>dd</b> command on Linux. You can get the Minimal ISO at <a href="http://cdimage.ubuntu.com/netboot/" target="_blank">http://cdimage.ubuntu.com/netboot/</a>.<br>
<br>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAe0HyqYuiQP4TIqoacH7JGZx4K4kud6fxVDbNTCzbdzOFRfYHbm9HCjKzoxQVttvp1rCtXF11vWS6WyY7JJdnN1tajafptyTNM1RMIzvH9mwzo-dP0qcK5n3IXXUTR3XpjBkXyU2jJ_5f/s1600/minicd.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="How to install Ubuntu from Minimal CD (with UEFI)" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAe0HyqYuiQP4TIqoacH7JGZx4K4kud6fxVDbNTCzbdzOFRfYHbm9HCjKzoxQVttvp1rCtXF11vWS6WyY7JJdnN1tajafptyTNM1RMIzvH9mwzo-dP0qcK5n3IXXUTR3XpjBkXyU2jJ_5f/s1600/minicd.jpg" title="How to install Ubuntu from Minimal CD (with UEFI)"></a></div>
<a href="https://www.onetransistor.eu/2015/12/install-ubuntu-minimal-cd-uefi-enabled.html#more">Read more</a><div class="blogger-post-footer">Visit <a href="https://www.onetransistor.eu">One Transistor</a>.</div>Corneliushttp://www.blogger.com/profile/01946326524810788501noreply@blogger.com5