<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>E&amp;G Code</title><link>https://projects.eandgcode.com/en/</link><description>Recent content on E&amp;G Code</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Fri, 23 Oct 2026 19:30:47 +0200</lastBuildDate><atom:link href="https://projects.eandgcode.com/en/index.xml" rel="self" type="application/rss+xml"/><item><title>ORFHAn</title><link>https://projects.eandgcode.com/en/progetti/orfhan/</link><pubDate>Thu, 22 Oct 2026 18:44:07 +0200</pubDate><guid>https://projects.eandgcode.com/en/progetti/orfhan/</guid><description>&lt;p>&lt;picture>&lt;source srcset="https://projects.eandgcode.com/en/progetti/orfhan/copertina-en-notte.svg" media="(prefers-color-scheme: dark)">&lt;img src="https://projects.eandgcode.com/en/progetti/orfhan/copertina-en-giorno.svg" alt="ORFHAn: the controller open for radiant floor, heating in winter and cooling in summer">&lt;/picture>&lt;/p>
&lt;p>&lt;strong>ORFHAn&lt;/strong> (&lt;em>Open Radiant Floor &amp;amp; HVAC Automation&lt;/em>) replaces the controller of a radiant floor system with standard components and open firmware. It regulates heating in winter, cooling in summer, and the dehumidifier. All the logic runs on a relay board with an ESP32: if the home network, Home Assistant, or the internet are switched off, the house continues to be regulated.&lt;/p></description></item><item><title>Connecting an RS485 converter to an ESP32</title><link>https://projects.eandgcode.com/en/guide/convertitore-rs485-esp32/</link><pubDate>Sat, 17 Oct 2026 00:00:00 +0000</pubDate><guid>https://projects.eandgcode.com/en/guide/convertitore-rs485-esp32/</guid><description>&lt;p>Many home systems use &lt;strong>RS485&lt;/strong>: radiant floor heating, photovoltaic inverters, heat meters, heat pumps. An ESP32 has three serial ports, but it operates at 3.3 V with signals referenced to ground; the bus, however, uses a differential pair of wires. In between, a converter costing only a few euros is required. This guide explains how we connected it in two real-world cases, on a relay board and on a wall touch panel, to make them communicate with the bus of a Radiax radiant floor system. The mistakes we made are the most common ones, and you will find them here in advance.&lt;/p></description></item><item><title>rehumatism</title><link>https://projects.eandgcode.com/en/progetti/rehumatism/</link><pubDate>Thu, 22 Oct 2026 18:44:12 +0200</pubDate><guid>https://projects.eandgcode.com/en/progetti/rehumatism/</guid><description>&lt;p>&lt;picture>&lt;source srcset="https://projects.eandgcode.com/en/progetti/rehumatism/copertina-en-notte.svg" media="(prefers-color-scheme: dark)">&lt;img src="https://projects.eandgcode.com/en/progetti/rehumatism/copertina-en-giorno.svg" alt="rehumatism: the RS485 bus of a Radiax radiant floor system, understood by listening">&lt;/picture>&lt;/p>
&lt;p>&lt;strong>rehumatism&lt;/strong> reconstructs the protocol used by the components of a &lt;strong>Radiax&lt;/strong> radiant floor system to communicate: the wall display, the manifold relay board, the room probes, and the board in the shared plant room that commands the pump. It does this solely by &lt;strong>listening to the bus&lt;/strong> of a system in use, without reading or modifying any firmware. The results are protocol documentation, listening tools, and a library in Python and C++.&lt;/p></description></item><item><title>A temperature and presence node with ESP32-C3, SHT30 and LD2410C radar</title><link>https://projects.eandgcode.com/en/guide/nodo-esp32c3-sht30-ld2410c/</link><pubDate>Sat, 17 Oct 2026 00:00:00 +0000</pubDate><guid>https://projects.eandgcode.com/en/guide/nodo-esp32c3-sht30-ld2410c/</guid><description>&lt;p>A commercial WiFi thermostat costs about thirty euros, often depends on an app and a cloud, and suffers from humidity in the bathroom. With an &lt;strong>ESP32-C3 SuperMini&lt;/strong>, an &lt;strong>SHT30 probe on a cable&lt;/strong> and, if you want, an &lt;strong>LD2410C radar&lt;/strong>, you can build a node that measures temperature and humidity, knows if someone is in the room, and communicates with Home Assistant via MQTT or the ESPHome API. These are the sensor nodes of &lt;a href="https://projects.eandgcode.com/en/progetti/orfhan/">ORFHAn&lt;/a>, but they also work standalone, with any home automation system.&lt;/p></description></item><item><title>A Tuya thermo-hygrometer without cloud, with OpenBeken</title><link>https://projects.eandgcode.com/en/guide/termoigrometro-tuya-openbeken/</link><pubDate>Sat, 17 Oct 2026 00:00:00 +0000</pubDate><guid>https://projects.eandgcode.com/en/guide/termoigrometro-tuya-openbeken/</guid><description>&lt;p>WiFi thermo-hygrometers costing only a few euros have a readable screen, a good probe, and one flaw: to function, they pass through the manufacturer&amp;rsquo;s cloud and an app. If the internet goes down, or if the service closes one day, the measurement stays on the display and no longer reaches anyone. Many of these sensors contain a &lt;strong>Beken&lt;/strong> chip, and on that chip runs &lt;strong>OpenBeken&lt;/strong>, a free firmware that speaks &lt;strong>MQTT&lt;/strong> directly with the home network. This guide explains how we did it on an &lt;strong>Emylo H&amp;amp;T S09&lt;/strong> to use it as a room probe in &lt;a href="https://projects.eandgcode.com/en/progetti/orfhan/">ORFHAn&lt;/a>, but the procedure applies to other similar models.&lt;/p></description></item><item><title>The circulator pump of a radiant floor: who enables the pump</title><link>https://projects.eandgcode.com/en/guide/consenso-pompa-pavimento-radiante/</link><pubDate>Sat, 17 Oct 2026 00:00:00 +0000</pubDate><guid>https://projects.eandgcode.com/en/guide/consenso-pompa-pavimento-radiante/</guid><description>&lt;p>Anyone replacing a radiant floor controller usually thinks about the zone valves: one relay per room, an actuator that opens, and that&amp;rsquo;s it. Then they turn everything on, the valves open, and the floor stays cold. The reason is often dozens of meters away: &lt;strong>the pump that sends water to your apartment does not start on its own&lt;/strong>. In many apartment building systems, the circulator pump is located in the stairwell, inside the user &amp;ldquo;satellite,&amp;rdquo; and is turned on by a relay board that obeys the home controller. Once that is removed, no one asks it to run anymore.&lt;/p></description></item><item><title>How a Radiax radiant floor system thinks, seen from the bus</title><link>https://projects.eandgcode.com/en/guide/impianto-radiax-visto-dal-bus/</link><pubDate>Sat, 17 Oct 2026 00:00:00 +0000</pubDate><guid>https://projects.eandgcode.com/en/guide/impianto-radiax-visto-dal-bus/</guid><description>&lt;p>A Radiax radiant floor system, as seen from home, is a wall display, a few probes in the rooms, and a box in the manifold compartment. Seen from its bus, it is something else, and many choices that seem strange, such as the pump staying on or the system not restarting without a display, become logical. This guide summarizes what we understood by listening for weeks to the bus of a system in use with &lt;a href="https://projects.eandgcode.com/en/progetti/rehumatism/">rehumatism&lt;/a>. It is intended for those who have such a system and want to understand it, for those who have to repair it, and for those who want to connect something to it, as we did with &lt;a href="https://projects.eandgcode.com/en/progetti/orfhan/">ORFHAn&lt;/a>.&lt;/p></description></item><item><title>Why a radiant floor does not regulate like a radiator</title><link>https://projects.eandgcode.com/en/guide/pid-a-tempo-pavimento-radiante/</link><pubDate>Sat, 17 Oct 2026 00:00:00 +0000</pubDate><guid>https://projects.eandgcode.com/en/guide/pid-a-tempo-pavimento-radiante/</guid><description>&lt;p>A radiator heats the air in a few minutes: close the valve and it stops. A radiant floor is a different beast. The water flows through pipes embedded in several centimeters of &lt;strong>screed&lt;/strong>, and the screed acts as an accumulator: after the valve has closed, it continues to heat for an hour, and after it has reopened, it takes an hour to be felt. Regulating it like a radiator works, but poorly. This guide explains why, and how to regulate the &lt;a href="https://projects.eandgcode.com/en/progetti/orfhan/">ORFHAn&lt;/a> valves using a time-based PID controller.&lt;/p></description></item><item><title>Testing a relay board on the bench, before opening the panel</title><link>https://projects.eandgcode.com/en/guide/collaudo-centralina-rele-al-banco/</link><pubDate>Sat, 17 Oct 2026 00:00:00 +0000</pubDate><guid>https://projects.eandgcode.com/en/guide/collaudo-centralina-rele-al-banco/</guid><description>&lt;p>Replacing a radiant floor controller with a homemade one is an afternoon&amp;rsquo;s work, if everything goes well. If something goes wrong, it&amp;rsquo;s a cold house in January with firmware to fix and an open panel. The difference is made by what you test &lt;strong>beforehand&lt;/strong>, on the bench, while the original system continues to function. This is the procedure followed by &lt;a href="https://projects.eandgcode.com/en/progetti/orfhan/">ORFHAn&lt;/a>, but it applies to any relay board with an ESP32 or another microcontroller.&lt;/p></description></item><item><title>transLATER</title><link>https://projects.eandgcode.com/en/progetti/translater/</link><pubDate>Thu, 22 Oct 2026 18:44:15 +0200</pubDate><guid>https://projects.eandgcode.com/en/progetti/translater/</guid><description>&lt;p>&lt;strong>Write now, translate LATER.&lt;/strong>&lt;/p>
&lt;p>&lt;picture>&lt;source srcset="https://projects.eandgcode.com/en/progetti/translater/copertina.en-notte.svg" media="(prefers-color-scheme: dark)">&lt;img src="https://projects.eandgcode.com/en/progetti/translater/copertina.en-giorno.svg" alt="transLATER: Write now, translate LATER. Project documentation translated by itself, including drawings">&lt;/picture>&lt;/p>
&lt;p>A service that translates your GitLab project documentation by itself, using a language model that runs at your home: no external services, no costs per word. Write in your language, push, and a few minutes later the translations are in the repository. The name plays on the English word &lt;em>later&lt;/em>: you write now, the translation arrives a little later.&lt;/p></description></item><item><title>ComfyUI Setup</title><link>https://projects.eandgcode.com/en/progetti/comfyuisetup/</link><pubDate>Thu, 22 Oct 2026 18:44:14 +0200</pubDate><guid>https://projects.eandgcode.com/en/progetti/comfyuisetup/</guid><description>&lt;p>&lt;picture>&lt;source srcset="https://projects.eandgcode.com/en/progetti/comfyuisetup/copertina.en-notte.svg" media="(prefers-color-scheme: dark)">&lt;img src="https://projects.eandgcode.com/en/progetti/comfyuisetup/copertina.en-giorno.svg" alt="ComfyUI Setup: video, images and audio with artificial intelligence on your GPU">&lt;/picture>&lt;/p>
&lt;p>&lt;strong>Create video, images and audio with artificial intelligence on your computer, using free models.&lt;/strong> No subscriptions, no credits to buy, no files uploaded to someone else&amp;rsquo;s servers: your graphics card does the work, and what you create stays in your home.&lt;/p>
&lt;p>ComfyUI is the most powerful tool available today to do this, but it is also one of the most difficult to set up. This project is a script that does the hard work for you: it checks your system, measures your GPU, builds a ComfyUI installation with over a hundred pre-configured extensions, launches it with the right settings for your hardware and, when requested, downloads the models and workflows to get you started.&lt;/p></description></item><item><title>Cookie policy</title><link>https://projects.eandgcode.com/en/cookie-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projects.eandgcode.com/en/cookie-policy/</guid><description>&lt;p>This page explains which cookies and similar technologies this site uses (owner: &lt;strong>André Francisco Elias&lt;/strong>, Milano — e-mail: &lt;a href="mailto:elias.andre.f@gmail.com">elias.andre.f@gmail.com&lt;/a>
), according to the Guidelines of the Privacy Guarantor of June 10, 2021.&lt;/p>
&lt;h2 id="technical-cookies-no-consent-required">Technical cookies (no consent required)&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Name&lt;/th>
 &lt;th>Provider&lt;/th>
 &lt;th>Purpose&lt;/th>
 &lt;th>Duration&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>cc_cookie&lt;/code>&lt;/td>
 &lt;td>this site&lt;/td>
 &lt;td>Remembers that you have seen the cookie notice and, if there are ads, your choices&lt;/td>
 &lt;td>6 months&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>__cf_bm&lt;/code>, &lt;code>cf_clearance&lt;/code>&lt;/td>
 &lt;td>Cloudflare&lt;/td>
 &lt;td>Bot and attack protection (only if enabled)&lt;/td>
 &lt;td>up to 30 minutes / session&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>_gitlab_session&lt;/code>, &lt;code>event_filter&lt;/code>&lt;/td>
 &lt;td>this site&amp;rsquo;s GitLab (&lt;code>git.eandgcode.com&lt;/code>)&lt;/td>
 &lt;td>Session, module protection, and project activity filtering, only when browsing code&lt;/td>
 &lt;td>until browser is closed&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h2 id="third-party-cookies-and-scripts">Third-party cookies and scripts&lt;/h2>

&lt;h3>Google AdSense (Google Ireland Ltd.)&lt;/h3>
&lt;p>The site shows ads through Google AdSense. Consent is collected with Google's certified consent management platform (IAB TCF). Google and its partners may use cookies and identifiers to show, cap and measure ads, including ads personalised on the basis of your browsing.&lt;/p></description></item><item><title>Privacy Policy</title><link>https://projects.eandgcode.com/en/privacy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projects.eandgcode.com/en/privacy/</guid><description>&lt;h2 id="1-data-controller">1. Data Controller&lt;/h2>
&lt;strong>André Francisco Elias&lt;/strong>, Milano — e-mail: &lt;a href="mailto:elias.andre.f@gmail.com">elias.andre.f@gmail.com&lt;/a>

&lt;h2 id="2-data-processed">2. Data processed&lt;/h2>
&lt;p>&lt;strong>Browsing data.&lt;/strong> To make the site work and to protect it, computer systems acquire data such as IP address, date and time of the request, page visited, browser, and operating system. The site and the project code repository (GitLab, on &lt;code>git.eandgcode.com&lt;/code>) run on the controller&amp;rsquo;s servers, in Italy. Traffic passes through the Cloudflare network, which processes this data on our behalf for security (protection from attacks) and content delivery.&lt;/p></description></item><item><title>Support development</title><link>https://projects.eandgcode.com/en/sostieni/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projects.eandgcode.com/en/sostieni/</guid><description>&lt;p>All code is free. If a project has saved you time, a small contribution helps cover servers, hardware, and development hours.&lt;/p>

&lt;p class="cta">
 &lt;a class="btn" href="https://ko-fi.com/eliasandref">Ko-fi&lt;/a>
 &lt;a class="btn ghost" href="https://liberapay.com/eliasandref/">Liberapay&lt;/a>
 &lt;a class="btn ghost" href="https://paypal.me/eliasandref">PayPal&lt;/a>
&lt;/p></description></item></channel></rss>