<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Electronics on bytebang</title><link>https://bytebang.at/categories/electronics/</link><description>Recent content in Electronics on bytebang</description><generator>Hugo</generator><language>de-AT</language><lastBuildDate>Wed, 28 Oct 2026 18:08:25 +0100</lastBuildDate><atom:link href="https://bytebang.at/categories/electronics/index.xml" rel="self" type="application/rss+xml"/><item><title>Fish-o-mat: An Aquaponics Greenhouse Controlled by ESPHome and Home Assistant</title><link>https://bytebang.at/blog/aquaponics-controller-with-esphome-and-home-assistant/</link><pubDate>Wed, 28 Oct 2026 00:00:00 +0000</pubDate><guid>https://bytebang.at/blog/aquaponics-controller-with-esphome-and-home-assistant/</guid><description>&lt;h2 id="the-problem"&gt;The Problem&lt;/h2&gt;&#10;&lt;p&gt;Aquaponics combines fish farming and plant cultivation in one water cycle: the fish produce nutrients, bacteria convert them, and the plants clean the water that flows back to the fish. In my greenhouse two separate systems – a left and a right side – are running, each with its own fish tank, grow bed and vertical pipe towers for lettuce. The fish are catfish.&lt;/p&gt;&#10;&lt;p&gt;Such a system only works if a handful of things run reliably, day and night, all year round:&lt;/p&gt;</description></item><item><title>IoT parking sensor - LoRaWAN version</title><link>https://bytebang.at/blog/iot-parking-sensor-lorawan-version/</link><pubDate>Mon, 29 Jul 2019 17:57:02 +0200</pubDate><guid>https://bytebang.at/blog/iot-parking-sensor-lorawan-version/</guid><description>&lt;h1 id="the-problem"&gt;The Problem&lt;/h1&gt;&#10;&lt;p&gt;The &lt;a href="https://bytebang.at/blog/howto-build-your-own-iot-parking-sensor/" rel="__blank"&gt;parking sensor which was built in part one&lt;/a&gt; of this series was able to &lt;a href="https://bytebang.at/blog/iot-parking-sensor-mqtt-version/" rel="__blank"&gt;connect to a WiFi and transmit the data via MQTT&lt;/a&gt; with the software shown in part two of this series.&lt;/p&gt;&#10;&lt;p&gt;This is a very good approach if you want to test something in an early prototyping phase. If you want to roll out your devices then it is very unlikely that you will have a WiFi deployed wherever you sensor will be. So you have to look for another transmission technology for the last mile.&lt;/p&gt;</description></item><item><title>IoT parking sensor - MQTT version</title><link>https://bytebang.at/blog/iot-parking-sensor-mqtt-version/</link><pubDate>Mon, 24 Jun 2019 16:45:35 +0200</pubDate><guid>https://bytebang.at/blog/iot-parking-sensor-mqtt-version/</guid><description>&lt;h1 id="the-problem"&gt;The Problem&lt;/h1&gt;&#10;&lt;p&gt;In part 1 of this series we have covered the &lt;a href="https://bytebang.at/blog/howto-build-your-own-iot-parking-sensor/" rel="__blank"&gt;schematics and hardware for a IoT parking sensor&lt;/a&gt;. Now we are gonna have a look into the software which is able to transmit the state of the device to an arbitrary MQTT broker.&lt;/p&gt;&#10;&lt;h1 id="the-solution"&gt;The Solution&lt;/h1&gt;&#10;&lt;p&gt;The software is  straight forward:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Set up the display&lt;/li&gt;&#10;&lt;li&gt;Connect to the WiFi&lt;/li&gt;&#10;&lt;li&gt;Connect to the MQTT broker&lt;/li&gt;&#10;&lt;li&gt;Read and transmit the sensor reading continuously&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;Here is my implementation:&lt;/p&gt;</description></item><item><title>Howto build your own IoT parking sensor</title><link>https://bytebang.at/blog/howto-build-your-own-iot-parking-sensor/</link><pubDate>Wed, 22 May 2019 16:45:16 +0200</pubDate><guid>https://bytebang.at/blog/howto-build-your-own-iot-parking-sensor/</guid><description>&lt;h1 id="the-problem"&gt;The Problem&lt;/h1&gt;&#10;&lt;p&gt;Recently I had to build a prototype for a parking sensor application. The goal was to detect if a parking place is occupied or not.&lt;/p&gt;&#10;&lt;p&gt;Since there are multiple approaches to this, I decided to build a cheap module which can be mounted inside a garage (or any other dry place) and which can be powered either by a plain USB charger or by a 9V-Block.&lt;/p&gt;&#10;&lt;h1 id="the-solution"&gt;The Solution&lt;/h1&gt;&#10;&lt;p&gt;For the hardware I decided to go with my &lt;a href="https://bytebang.at/blog/porting-luartos-to-the-ttgo-lora-v20-board/" rel="__blank"&gt;TTGOv2 board and LuaRTOS &lt;/a&gt;as operating system on it. It has a small display and it enables me to send the data either via MQTT or via LoraWan.&lt;/p&gt;</description></item><item><title>Porting LUARTOS to the TTGO LORA v2.0 Board</title><link>https://bytebang.at/blog/porting-luartos-to-the-ttgo-lora-v20-board/</link><pubDate>Fri, 29 Mar 2019 07:52:39 +0100</pubDate><guid>https://bytebang.at/blog/porting-luartos-to-the-ttgo-lora-v20-board/</guid><description>&lt;h1 id="the-problem"&gt;The Problem&lt;/h1&gt;&#10;&lt;p&gt;I ordered for a parking sensor project some &lt;a href="https://de.aliexpress.com/item/TTGO-LORA32-V2-0-433-868-915-mhz-ESP32-LoRa-OLED-0-96-zoll-SD-Karte/32846302183.html"&gt;TTGO v2 Board&lt;/a&gt;s. Since I am a big fan of the &lt;a href="https://github.com/whitecatboard/Lua-RTOS-ESP32"&gt;LuaRTOS&lt;/a&gt; project i had to port it to this Hardware architecture.&lt;/p&gt;&#10;&lt;img src="https://bytebang.at/blog/porting-luartos-to-the-ttgo-lora-v20-board/TTGOv2.png" style="display: block; margin-left: auto; margin-right: auto;" alt="TTGOv2 - Pinout" /&gt;&#10;&lt;p&gt;The schematic:&lt;/p&gt;&#10;&lt;img src="https://bytebang.at/blog/porting-luartos-to-the-ttgo-lora-v20-board/WIFI_LoRa_32_868_Schema.png" style="display: block; margin-left: auto; margin-right: auto;;width:100.0%" alt="WIFI Lo Ra 32 868 Schema" /&gt;&#10;&lt;p&gt;For all of you who do not want to build your own firmware: Here is a &lt;a href="https://bytebang.at/blog/porting-luartos-to-the-ttgo-lora-v20-board/LuaRTOS_TTGOv20.zip"&gt;precompiled version&lt;/a&gt; with all the features from below. Just extract it to a folder and flash it with the &lt;a href="https://github.com/espressif/esptool/blob/master/esptool.py"&gt;esptool.py&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Porting LuaRTOS to the TTGO LoRa32 Board</title><link>https://bytebang.at/blog/porting-luartos-to-the-ttgo-lora32-board/</link><pubDate>Sun, 14 Oct 2018 18:34:27 +0200</pubDate><guid>https://bytebang.at/blog/porting-luartos-to-the-ttgo-lora32-board/</guid><description>&lt;h1 id="the-problem"&gt;The Problem&lt;/h1&gt;&#10;&lt;p&gt;I have bought two cheap &lt;a href="https://www.banggood.com/2Pcs-Wemos-TTGO-LORA32-868915Mhz-ESP32-LoRa-OLED-0_96-Inch-Blue-Display-p-1239769.html"&gt;ESP32 based IoT development boards&lt;/a&gt; for around 30$, because the specs looked interesting:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;ESP32 based with 3D- wifi antenna&lt;/li&gt;&#10;&lt;li&gt;128x64 pixel OLED display&lt;/li&gt;&#10;&lt;li&gt;LoRa Modem&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;This hardware has the potential to be a very versatile IoT prototyping (and even production) platform, but there was one drawback: You have to program it in the Arduino IDE. This means: You can do almost anything with it, but whenever you want to change something in the software then you have to recompile and upload everything.&lt;/p&gt;</description></item><item><title>Engrave things with a 3.5W Eleksmaker and LaserWeb</title><link>https://bytebang.at/blog/engrave-things-with-a-35w-eleksmaker-and-laserweb/</link><pubDate>Tue, 01 May 2018 18:48:44 +0200</pubDate><guid>https://bytebang.at/blog/engrave-things-with-a-35w-eleksmaker-and-laserweb/</guid><description>&lt;h1 id="the-problem"&gt;The Problem&lt;/h1&gt;&#10;&lt;p&gt;In summer 2015 I ordered the predecessor of this &lt;a href="https://www.banggood.com/450nm-3500mW-3_5W-Blue-Laser-Module-With-TTL-Modulation-for-DIY-Laser-Cutter-Engraver-p-1103261.html"&gt;3.5W laser diode&lt;/a&gt; with TTL modulation. My initial plan was to mount it onto my 3d printer - but we all know: plans are patient.&lt;/p&gt;&#10;&lt;p&gt;Lately I stumbled upon this diode in my junk box. I decided to finish the project and I ordered an &lt;a href="https://www.banggood.com/A3-30x40cm-Desktop-DIY-Laser-Engraver-Cutter-Engraving-Machine-Assemble-Kit-p-1027611.html"&gt;Eleksmaker A3 frame (without Laser).&lt;/a&gt; It is big enough to engrave / cut things with a size of 300 x 400 mm.&lt;/p&gt;</description></item><item><title>Add display fonts to custom built NodeMCU firmwares</title><link>https://bytebang.at/blog/add-display-fonts-to-custom-built-nodemcu-firmwares/</link><pubDate>Sun, 01 Apr 2018 14:23:02 +0200</pubDate><guid>https://bytebang.at/blog/add-display-fonts-to-custom-built-nodemcu-firmwares/</guid><description>&lt;h1 id="the-problem"&gt;The Problem&lt;/h1&gt;&#10;&lt;p&gt;In my &lt;a href="https://bytebang.at/blog/compile-nodemcu-for-wemos-lolin-esp32-with-oled/"&gt;previous article&lt;/a&gt; I showed how to compile a custom firmware for the WeMos Lolin board and how to get the display up and running.&lt;/p&gt;&#10;&lt;p&gt;Since then I have played around with it and i wondered how to switch between different fonts for this display and where these magic constants within the LUA code are coming from.&lt;/p&gt;&#10;&lt;h1 id="the-solution"&gt;The Solution&lt;/h1&gt;&#10;&lt;p&gt;I figured out that fonts have to be &amp;rsquo;enabled&amp;rsquo; within the firmware. It ts quiet simple to do this:&lt;/p&gt;</description></item><item><title>Compile NodeMCU for WeMos Lolin ESP32 with OLED</title><link>https://bytebang.at/blog/compile-nodemcu-for-wemos-lolin-esp32-with-oled/</link><pubDate>Mon, 19 Mar 2018 12:46:58 +0100</pubDate><guid>https://bytebang.at/blog/compile-nodemcu-for-wemos-lolin-esp32-with-oled/</guid><description>&lt;h1 id="the-problem"&gt;The Problem&lt;/h1&gt;&#10;&lt;p&gt;Recently I bought a &lt;a href="https://www.banggood.com/Wemos-ESP32-OLED-Module-For-Arduino-ESP32-OLED-WiFi-Bluetooth-Dual-ESP-32-ESP-32S-ESP8266-p-1148119.html"&gt;Wemos Lolin ESP32 module&lt;/a&gt;. This prototyping board consists of a powerful &lt;a href="https://www.espressif.com/en/products/hardware/esp32/overview"&gt;ESP32&lt;/a&gt; processor and a small  &lt;a href="https://en.wikipedia.org/wiki/OLED"&gt;OLED&lt;/a&gt; display which are mounted on a breadboard friendly PCB board.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://bytebang.at/blog/compile-nodemcu-for-wemos-lolin-esp32-with-oled/WeMos_Lolin_ESP32.jpg" style="display: block; margin-left: auto; margin-right: auto;;width:66.0%" alt="We Mos Lolin ESP32" /&gt;&lt;br&gt;&#10;Unfortunately, the reseller shows only examples how to program the controller and the display which are working in the Arduino IDE. This means that if you change your program, then you will have to recompile the whole code.&lt;/p&gt;</description></item><item><title>Flash a hex file into an Arduino without IDE</title><link>https://bytebang.at/blog/flash-a-hex-file-into-an-arduino-without-ide/</link><pubDate>Sun, 25 Feb 2018 11:01:27 +0100</pubDate><guid>https://bytebang.at/blog/flash-a-hex-file-into-an-arduino-without-ide/</guid><description>&lt;h1 id="the-problem"&gt;The Problem&lt;/h1&gt;&#10;&lt;p&gt;I wanted to update my laser cutter. Therefore i choose to use the newest version of &lt;a href="https://github.com/gnea/grbl/releases"&gt;GRBL (version 1.1f)&lt;/a&gt; into the controller. Since I did not want to recompile the whole thing from scratch, I decided to download the lates version and just flash it into a new &lt;a href="https://www.banggood.com/de/ATmega328P-Arduino-Compatible-Nano-V3-Improved-Version-No-Cable-p-959231.html"&gt;Arduino nano clone&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;The big question was: How to do it ?&lt;/p&gt;&#10;&lt;h1 id="the-solution"&gt;The Solution&lt;/h1&gt;&#10;&lt;p&gt;The simplest solution was to download the hex file to my desktop and to utilize &lt;a href="https://linux.die.net/man/1/avrdude"&gt;avrdude&lt;/a&gt; (which is also used from within the arduino ide to upload compiled code to the controller).&lt;/p&gt;</description></item><item><title>Automotive 2-channel PWM dimmer</title><link>https://bytebang.at/blog/automotive-2-channel-pwm-dimmer/</link><pubDate>Sat, 07 Nov 2015 12:57:39 +0100</pubDate><guid>https://bytebang.at/blog/automotive-2-channel-pwm-dimmer/</guid><description>&lt;h1 id="the-problem"&gt;The Problem&lt;/h1&gt;&#10;&lt;p&gt;A colleague who is restoring an old-timer bus asked me if I know where to get an electronic circuit that is able to dim two different lights - but with just one knob. The reason behind this is that the old-timer bus has only one mounting hole left in its dashboard. He reported that they tried to build such a circuit wit a potentiometer (out of an old radio), but without success. So it became my task to design such a circuit.&lt;/p&gt;</description></item><item><title>IPTV with a Synology DS713+</title><link>https://bytebang.at/blog/iptv-with-a-synology-ds713/</link><pubDate>Mon, 19 Oct 2015 16:31:01 +0200</pubDate><guid>https://bytebang.at/blog/iptv-with-a-synology-ds713/</guid><description>&lt;h1 id="the-problem"&gt;The Problem&lt;/h1&gt;&#10;&lt;p&gt;Recently i purchased an &lt;a href="http://www.amazon.de/Amazon-W87CUN-Fire-TV-Stick/dp/B00KAKPZYG"&gt;Amazon FireTv Stick&lt;/a&gt; - which is a great device for video streaming. But I wanted more than this stick offers out-of-the-box: I wanted to be able to stream DVB-T  and DVB-S (digital terrestrial and digital satellite) signals through my IP network. Somewhere in the internet I stumbled across a few articles which components are needed for this purpose, but in the end I had no idea if and how it would work. I wanted the setup to look like this:&lt;/p&gt;</description></item><item><title>Aviation Headset to USB Adapter</title><link>https://bytebang.at/blog/aviation-headset-to-usb-adapter/</link><pubDate>Sun, 14 Dec 2014 10:14:01 +0100</pubDate><guid>https://bytebang.at/blog/aviation-headset-to-usb-adapter/</guid><description>&lt;h1 id="the-problem"&gt;The problem&lt;/h1&gt;&#10;&lt;p&gt;As a part time motor pilot in our aviation club &lt;a href="http://web.segelflug.at"&gt;ASFC Leoben&lt;/a&gt; I decided on a hot summer day where i had to wear the sweat soaked one-for-all headset in our DR48  to buy my own headset. It had to be one with &lt;a href="http://en.wikipedia.org/wiki/Active_noise_control"&gt;active noise reduction&lt;/a&gt; that is comfortable to wear and it had to have a bluetooth interface for accepting calls during long flights. After reading some reviews and after trying some of them I went with the &lt;a href="https://bytebang.at/blog/aviation-headset-to-usb-adapter/owg_en_a20.pdf"&gt;BOSE A20 Aviation headset&lt;/a&gt;. Even after hours of wearing this headphones i did not have headache or any other complaints and so the choice was perfectly right.&lt;/p&gt;</description></item><item><title>Portable HAM radio station</title><link>https://bytebang.at/blog/portable-ham-radio-station/</link><pubDate>Tue, 09 Dec 2014 20:16:27 +0100</pubDate><guid>https://bytebang.at/blog/portable-ham-radio-station/</guid><description>&lt;h1 id="my-way-to-ham-radio"&gt;My way to HAM radio&lt;/h1&gt;&#10;&lt;p&gt;Since the age of 15 i wanted to to be a licensed HAM radio operator because radio fascinated me all the time. Unfortunately the motivation to do the exam to get the needed license was moderate because I &lt;em&gt;thought&lt;/em&gt; had to visit a boring course and I had to learn Morse (CW) code to pass the exam. One day I stumbled across the&lt;a href="http://www.oevsv.at"&gt; OEVSV&lt;/a&gt; homepage page (= austrians ham radio association) and discovered that there was neither the need to learn cw code nor the need to visit a course to be approved to the A-class examination any more. Well at this point in time I ran out of arguments against myself and I decided to do this exam.&lt;/p&gt;</description></item><item><title>Quick and dirty high-resolution webcam</title><link>https://bytebang.at/blog/quick-and-dirty-high-resolution-webcam/</link><pubDate>Mon, 01 Sep 2014 18:36:28 +0200</pubDate><guid>https://bytebang.at/blog/quick-and-dirty-high-resolution-webcam/</guid><description>&lt;p&gt;Recently i had the idea to build a(nother) webcam for my club to enable the gliderpilots to observe the weather in the alps. It should be cheap, easy to build and it should have a high resolution - A perfect field of application for my underemployed &lt;a href="http://www.raspberrypi.org/"&gt;raspberry pi&lt;/a&gt; and its &lt;a href="http://www.raspberrypi.org/product/camera-module/"&gt;camera module&lt;/a&gt;. Both can be orderet at RS-Components for under 50 € (excluding a housing and a power supply).&lt;/p&gt;&#10;&lt;p&gt;The first step was to enable the camer module on the pi, which is rather simple: Open the &lt;code&gt;raspi-config&lt;/code&gt;  tool from the Terminal&lt;/p&gt;</description></item><item><title>ASCII - Art youtube player</title><link>https://bytebang.at/blog/ascii-art-youtube-player/</link><pubDate>Thu, 28 Aug 2014 19:48:43 +0200</pubDate><guid>https://bytebang.at/blog/ascii-art-youtube-player/</guid><description>&lt;p&gt;I was sitting in front of my &lt;a href="http://www.raspberrypi.org/"&gt;raspberry pi&lt;/a&gt; and asked myself: &amp;ldquo;&lt;em&gt;What if X Servers, Windowmanagers and all the other graphical stuff would heve never been invented ? .. How would pepole watch youtube videos&lt;/em&gt;.&amp;rdquo;. Beside the fact that the possibility of having youtube in this very special case is really small, this type of question reveals that it was not one of my brightest moments &amp;hellip; but it lead me to a really cool attempt how to watch videos in ascii art.&lt;/p&gt;</description></item><item><title>Bluelog - the fast bluetooth scanner</title><link>https://bytebang.at/blog/bluelog-the-fast-bluetooth-scanner/</link><pubDate>Mon, 18 Aug 2014 20:07:34 +0200</pubDate><guid>https://bytebang.at/blog/bluelog-the-fast-bluetooth-scanner/</guid><description>&lt;p&gt;&lt;a href="https://github.com/MS3FGX/Bluelog"&gt;Bluelog&lt;/a&gt; is a wonderful piece of software - it is able to detect all bluetooth devices (that are in the discoverable state) very quickly and without the need of an interface. In opposite to OpwnWRT or some other Linux distributions it is not installable via the package manager in Ubuntu 14.04, but it can easily be compiled by yourself.&lt;/p&gt;&#10;&lt;h1 id="installation-on-unubtu-1404"&gt;Installation on Unubtu 14.04&lt;/h1&gt;&#10;&lt;p&gt;Well - this time you have to get your hands dirty. Make sure that you have installed the following packages: &lt;em&gt;git&lt;/em&gt;, &lt;em&gt;build-essentials&lt;/em&gt; (available in the main repository) and &lt;em&gt;libbluetooth-dev&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>X Forwarding with the Rasperry Pi</title><link>https://bytebang.at/blog/x-forwarding-with-the-rasperry-pi/</link><pubDate>Mon, 18 Aug 2014 08:18:17 +0200</pubDate><guid>https://bytebang.at/blog/x-forwarding-with-the-rasperry-pi/</guid><description>&lt;p&gt;You can use the installed applications on your Rasperry Pi without the need of installing a VNC server or another Remote Desktop tool. Everything is already there - right out of the box.&lt;/p&gt;&#10;&lt;p&gt;The name of the game: X-Screen forwarding&lt;/p&gt;&#10;&lt;h1 id="prequisites"&gt;Prequisites&lt;/h1&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Installed Raspiban&lt;/li&gt;&#10;&lt;li&gt;Enabled SSH Server on the Raspberry&lt;/li&gt;&#10;&lt;li&gt;A SSH Client that is able to display a forwarded X-Window.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h1 id="howto"&gt;Howto&lt;/h1&gt;&#10;&lt;p&gt;The first step is to conenct to your rasperry via SSH. The important option is the &amp;lsquo;-X&amp;rsquo;. This requests X forwarding to the client (which is enabled by default at the raspiban ssh server).&lt;/p&gt;</description></item></channel></rss>