<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ESP8266 &#8211; IoT-devices, LLC &#8211; Electronics manufacturer for IoT</title>
	<atom:link href="https://iot-devices.com.ua/en/tag/esp8266-en/feed/" rel="self" type="application/rss+xml" />
	<link>https://iot-devices.com.ua/en/</link>
	<description>From modules to complex devices</description>
	<lastBuildDate>Sat, 28 Mar 2026 16:39:41 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://iot-devices.com.ua/wp-content/uploads/2020/05/iot-devices_logo_inversed_kromka_512x512_82ce62_white-100x100.jpg</url>
	<title>ESP8266 &#8211; IoT-devices, LLC &#8211; Electronics manufacturer for IoT</title>
	<link>https://iot-devices.com.ua/en/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Cross-Controller External Component GGreg20_V3 Released for ESPHome</title>
		<link>https://iot-devices.com.ua/en/ggreg20_v3-external-component-for-esphome/</link>
		
		<dc:creator><![CDATA[iot-guru]]></dc:creator>
		<pubDate>Fri, 03 Oct 2025 10:34:40 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[ESP32]]></category>
		<category><![CDATA[esp32-s3]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[ESPHome]]></category>
		<category><![CDATA[geiger-counter]]></category>
		<category><![CDATA[GGreg20_V3]]></category>
		<category><![CDATA[Home Assistant]]></category>
		<category><![CDATA[Pico W]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[technical-note]]></category>
		<guid isPermaLink="false">https://iot-devices.com.ua/ggreg20_v3-external-component-for-esphome/</guid>

					<description><![CDATA[October 3, 2025, Kyiv — IoT-devices LLC is pleased to announce the official release of the new external component, ggreg20_v3, for the ESPHome smart home platform. This component significantly simplifies the integration of GGreg20_V3 Geiger counter-based radiation monitoring sensors into any system running ESPHome. Seamless Integration of Radiation Monitoring The ggreg20_v3 component is designed for [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">October 3, 2025, Kyiv — IoT-devices LLC is pleased to announce the official release of the new external component, ggreg20_v3, for the ESPHome smart home platform. This component significantly simplifies the integration of GGreg20_V3 Geiger counter-based radiation monitoring sensors into any system running ESPHome. </p>

<figure data-wp-context="{&quot;imageId&quot;:&quot;6a302e5243f33&quot;}" data-wp-interactive="core/image" data-wp-key="6a302e5243f33" class="wp-block-image size-full wp-lightbox-container"><img fetchpriority="high" decoding="async" width="915" height="717" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://iot-devices.com.ua/wp-content/uploads/2025/10/ggreg20_v3-external_component_2025-10-03.jpg" alt="" class="wp-image-4151" srcset="https://iot-devices.com.ua/wp-content/uploads/2025/10/ggreg20_v3-external_component_2025-10-03.jpg 915w, https://iot-devices.com.ua/wp-content/uploads/2025/10/ggreg20_v3-external_component_2025-10-03-300x235.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2025/10/ggreg20_v3-external_component_2025-10-03-768x602.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2025/10/ggreg20_v3-external_component_2025-10-03-454x356.jpg 454w" sizes="(max-width: 915px) 100vw, 915px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>

<h2 class="wp-block-heading">Seamless Integration of Radiation Monitoring</h2>

<p class="wp-block-paragraph">The ggreg20_v3 component is designed for smart home enthusiasts and developers who seek to add ionizing radiation monitoring capabilities to their devices.</p>

<p class="wp-block-paragraph">It provides a comprehensive set of data points essential for complete environmental control, including:</p>

<ul class="wp-block-list">
<li>Radiation Power (μSv/h)</li>



<li>Equivalent Absorbed Dose (μSv/h)</li>



<li>Total Accumulated Dose (μSv)</li>



<li>Counts Per Minute (CPM) over the defined measurement period</li>



<li>Instantaneous pulse count value</li>



<li>System Status (alerts for danger, normal levels, or sensor errors)</li>
</ul>

<p class="wp-block-paragraph">This component autonomously handles all complex calculations, including dead time correction for the tube, delivering all necessary data for seamless automation within Home Assistant.</p>

<figure data-wp-context="{&quot;imageId&quot;:&quot;6a302e5244333&quot;}" data-wp-interactive="core/image" data-wp-key="6a302e5244333" class="wp-block-image size-full wp-lightbox-container"><img decoding="async" width="984" height="317" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://iot-devices.com.ua/wp-content/uploads/2025/10/ggreg20_v3_component-dashboard_2025-10-03.jpg" alt="" class="wp-image-4154" srcset="https://iot-devices.com.ua/wp-content/uploads/2025/10/ggreg20_v3_component-dashboard_2025-10-03.jpg 984w, https://iot-devices.com.ua/wp-content/uploads/2025/10/ggreg20_v3_component-dashboard_2025-10-03-300x97.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2025/10/ggreg20_v3_component-dashboard_2025-10-03-768x247.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2025/10/ggreg20_v3_component-dashboard_2025-10-03-454x146.jpg 454w" sizes="(max-width: 984px) 100vw, 984px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>

<h2 class="wp-block-heading">Key Advantage: Cross-Controller Compatibility</h2>

<p class="wp-block-paragraph">The core value of the component developed by IoT-devices LLC lies in its versatility. The ggreg20_v3 component is cross-controller compatible, supporting any microcontroller that runs ESPHome (including ESP32, ESP8266, Raspberry Pi Pico W, and others). </p>

<p class="wp-block-paragraph">This eliminates the need to write individual code for different hardware platforms, allowing users to rapidly integrate radiation monitoring regardless of the specific controller used for their projects.</p>

<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">&#8220;We built ggreg20_v3 with the ESPHome community in mind. Our goal is to make environmental monitoring as accessible and reliable as possible by providing a single, flexible solution that works across all supported controllers,&#8221; commented IoT-devices LLC representatives.</p>
</blockquote>

<h2 class="wp-block-heading">How to Get Started</h2>

<p class="wp-block-paragraph">The ggreg20_v3 component is available as an external Git component.</p>

<p class="wp-block-paragraph">To install: Add our repository to your ESPHome configuration and follow our detailed documentation.</p>

<ul class="wp-block-list">
<li>GitHub Repository: [<a href="https://github.com/iotdevicesdev/esphome_external_components" target="_blank" rel="noreferrer noopener">https://github.com/iotdevicesdev/esphome_external_components</a>]</li>



<li>Documentation: Review the README.md file for full installation and configuration instructions.</li>
</ul>

<p class="wp-block-paragraph">IoT-devices LLC welcomes the community to test, provide feedback, and contribute to the component&#8217;s development.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Testing of energy consumption by Geiger counter GGreg20_V3</title>
		<link>https://iot-devices.com.ua/en/ggreg20_v3-geiger-counter-energy-consumption-testing/</link>
		
		<dc:creator><![CDATA[iot-guru]]></dc:creator>
		<pubDate>Wed, 26 Feb 2025 18:24:19 +0000</pubDate>
				<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[ESPHome]]></category>
		<category><![CDATA[Geiger]]></category>
		<category><![CDATA[geiger-counter]]></category>
		<category><![CDATA[GGreg20_V3]]></category>
		<category><![CDATA[Home Assistant]]></category>
		<category><![CDATA[technical-note]]></category>
		<guid isPermaLink="false">https://iot-devices.com.ua/ggreg20_v3-geiger-counter-energy-consumption-testing/</guid>

					<description><![CDATA[Our company has conducted a thorough testing of the power consumption of the Geiger counter module GGreg20_V3, intended for use in DIY projects. The purpose of the study was to determine the real power consumption of the module at different supply voltages: 3.3V, 3.7V, 5.0V. ]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Our company has conducted a thorough testing of the power consumption of the Geiger counter module GGreg20_V3, intended for use in DIY projects. The purpose of the study was to determine the real power consumption of the module at different supply voltages: 3.3V, 3.7V, 5.0V. </p>

<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="683" src="https://iot-devices.com.ua/wp-content/uploads/2025/02/GGreg20_V3_EnergyConsumption_whiteBkg-1024x683.jpg" alt="GGreg20_V3 Energy Consumption Testing" class="wp-image-3807" srcset="https://iot-devices.com.ua/wp-content/uploads/2025/02/GGreg20_V3_EnergyConsumption_whiteBkg-1024x683.jpg 1024w, https://iot-devices.com.ua/wp-content/uploads/2025/02/GGreg20_V3_EnergyConsumption_whiteBkg-300x200.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2025/02/GGreg20_V3_EnergyConsumption_whiteBkg-768x512.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2025/02/GGreg20_V3_EnergyConsumption_whiteBkg-454x303.jpg 454w, https://iot-devices.com.ua/wp-content/uploads/2025/02/GGreg20_V3_EnergyConsumption_whiteBkg.jpg 1500w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>

<h1 class="wp-block-heading">Testing methodology</h1>

<p class="wp-block-paragraph">To conduct the measurements, we developed a special test bench based on the Home Assistant platform. The central element of the system was the Raspberry Pi Pico W controller with ESPHome firmware, which controlled the operation of the GGreg20_V3 module. To accurately measure the energy consumption, we used an INA219 sensor connected to a NodeMCU/ESP8266 controller also running ESPHome firmware. We used a laboratory power supply as a power source for the GGreg20_V3, which set the exact voltage level during testing.    </p>

<p class="wp-block-paragraph">Since the GGreg20_V3 module supports a wide range of supply voltages, from at least 3.0V to 5.5V, we used the three most common supply voltage levels to show how the test result differs: 3.3V, 3.7V, 5.0V. These voltages give us an idea of the module&#8217;s consumption when powered by: </p>

<ul class="wp-block-list">
<li>another controller or source with a voltage of 3.3V;</li>



<li>a 3.7V lithium battery;</li>



<li>another controller or source with a voltage of 5V.</li>
</ul>

<p class="wp-block-paragraph">It is important to note that the INA219 sensor measured only the power consumption of the GGreg20_V3 module, while the controllers were powered separately. This allowed us to obtain the most accurate data. </p>

<p class="wp-block-paragraph">Also note that the supply voltage level did not change over time during the 60-minute test. Therefore, you should not expect that we have performed a complete emulation, for example, of a lithium battery that discharges under load and, accordingly, loses voltage from 4.2V to 2.5V during the test. Although this would have been a really useful and interesting experiment, we decided not to bother with it that much.  </p>

<h1 class="wp-block-heading">Test bench</h1>

<figure data-wp-context="{&quot;imageId&quot;:&quot;6a302e5245881&quot;}" data-wp-interactive="core/image" data-wp-key="6a302e5245881" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="584" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_energy_consumption_tes_lab_structure_2025-02-25_141143-1024x584.jpg" alt="GGreg20_v3 energy consumption test lab structure 2025-02-25" class="wp-image-3809" srcset="https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_energy_consumption_tes_lab_structure_2025-02-25_141143-1024x584.jpg 1024w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_energy_consumption_tes_lab_structure_2025-02-25_141143-300x171.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_energy_consumption_tes_lab_structure_2025-02-25_141143-768x438.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_energy_consumption_tes_lab_structure_2025-02-25_141143-1536x876.jpg 1536w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_energy_consumption_tes_lab_structure_2025-02-25_141143-454x259.jpg 454w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_energy_consumption_tes_lab_structure_2025-02-25_141143.jpg 1547w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>

<figure class="wp-block-table"><table><thead><tr><th><strong>Component</strong></th><th><strong>Purpose</strong></th><th><strong>Power supply</strong></th><th><strong>Firmware / Interface</strong></th></tr></thead><tbody><tr><td>GGreg20_V3</td><td>The object of study of energy consumption;<br/>Measurement of radiation level</td><td>via INA219 from the laboratory power supply</td><td>&#8211; / GPIO output, Active-Low</td></tr><tr><td>Raspberry Pi Pico W</td><td>Receiving data from the GGreg20_V3 module and transferring it to the Home Assistant server</td><td>USB</td><td>ESPHome with configuration for GGreg20_V3 as sensor / WiFi wireless connection</td></tr><tr><td>INA219</td><td>Measurement of current consumption by the GGreg20_V3 module</td><td>from the laboratory power supply unit</td><td>&#8211; / I2C</td></tr><tr><td>NodeMCU ESP8266<br/>(or ESP12_OLED)</td><td>Controlling the INA219 module, receiving measurement data, and transmitting it to the Home Assistant server</td><td>USB</td><td>ESPHome with configuration for INA919 as sensor / WiFi wireless connection</td></tr><tr><td>Lab power supply unit</td><td>Supply the INA219 and GGreg20_V3 sensor modules with the set voltage</td><td>220V power mains</td><td>DC output 3.3V, 3.7V, 5.0V.</td></tr><tr><td>Home Assistant server</td><td>Enables data transfer between devices via WiFi;<br/>Collection, processing and visualization of measurement data</td><td>220V power mains</td><td>wireless WiFi connection</td></tr></tbody></table></figure>

<p class="wp-block-paragraph">Software on the side of the measuring sensor of consumed electric energy based on ESP8266 + INA219 with ESPHome firmware:</p>

<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sensor:
 - platform: ina219
 address: 0x40
 shunt_resistance: 0.1 ohm

 current:
 name: "INA219 Current"
 accuracy_decimals: 5
 id: current_value

 power:
 name: "INA219 Power"
 accuracy_decimals: 5
 id: power_value

 bus_voltage:
 name: "INA219 Bus Voltage"
 accuracy_decimals: 5

 shunt_voltage:
 name: "INA219 Shunt Voltage"
 accuracy_decimals: 5

 max_voltage: 32.0V
 max_current: 3.2A
 update_interval: 1min

 - platform: integration
 name: "Total Energy Consumed"
 id: total_energy
 sensor: power_value
 time_unit: min
 accuracy_decimals: 5
 unit_of_measurement: "Wh"
 filters:
 - multiply: 0.0166666666666667

 - platform: integration
 name: "Total Current Consumed"
 id: total_current
 sensor: current_value
 time_unit: min
 accuracy_decimals: 5
 unit_of_measurement: "Ah"
 filters:
 - multiply: 0.0166666666666667
</pre>

<p class="wp-block-paragraph">This YAML configuration snippet provides all the necessary data for our planned testing of the GGreg20_V3 radiation sensor module in terms of power consumption during operation under normal background radiation conditions.</p>

<h1 class="wp-block-heading">Measurement process</h1>

<p class="wp-block-paragraph">The power consumption was measured every minute, with data accumulated for previous periods. The test lasted for an hour, which allowed us to obtain the real consumption of the GGreg20_V3 module for 60 minutes for each of the three supply voltages. </p>

<p class="wp-block-paragraph">The Home Assistant platform was used to collect and record sensor data. It also provided tools for creating visual graphs of electricity consumption. </p>

<h1 class="wp-block-heading">Results and conclusions</h1>

<p class="wp-block-paragraph">Thanks to the testing, we have obtained detailed data on the power consumption of the GGreg20_V3 module at different supply voltages. These results allow users to optimize the power consumption of their DIY projects using this module. </p>

<h2 class="wp-block-heading">Power supply with a voltage of 3.3V</h2>

<figure data-wp-context="{&quot;imageId&quot;:&quot;6a302e5245c39&quot;}" data-wp-interactive="core/image" data-wp-key="6a302e5245c39" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="499" height="565" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_3V3_energy_consumption_test_1hour_with_buzzer_2023-08-29.jpg" alt="ggreg20_v3_at_3V3_energy_consumption_test_1hour_with_buzzer_2023-08-29" class="wp-image-3822" srcset="https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_3V3_energy_consumption_test_1hour_with_buzzer_2023-08-29.jpg 499w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_3V3_energy_consumption_test_1hour_with_buzzer_2023-08-29-265x300.jpg 265w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_3V3_energy_consumption_test_1hour_with_buzzer_2023-08-29-454x514.jpg 454w" sizes="(max-width: 499px) 100vw, 499px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>

<figure data-wp-context="{&quot;imageId&quot;:&quot;6a302e5245e96&quot;}" data-wp-interactive="core/image" data-wp-key="6a302e5245e96" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="639" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_3V3_energy_consumption_test_1hour_with_buzzer_graph_2023-08-29-1024x639.jpg" alt="ggreg20_v3_at_3V3_energy_consumption_test_1hour_with_buzzer_graph_2023-08-29" class="wp-image-3820" srcset="https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_3V3_energy_consumption_test_1hour_with_buzzer_graph_2023-08-29-1024x639.jpg 1024w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_3V3_energy_consumption_test_1hour_with_buzzer_graph_2023-08-29-300x187.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_3V3_energy_consumption_test_1hour_with_buzzer_graph_2023-08-29-768x479.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_3V3_energy_consumption_test_1hour_with_buzzer_graph_2023-08-29-454x283.jpg 454w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_3V3_energy_consumption_test_1hour_with_buzzer_graph_2023-08-29.jpg 1500w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>

<h2 class="wp-block-heading">Power supply with a voltage of 3.7V</h2>

<figure data-wp-context="{&quot;imageId&quot;:&quot;6a302e5246114&quot;}" data-wp-interactive="core/image" data-wp-key="6a302e5246114" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="499" height="565" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_3_7V_energy_consumption_test_1hour_with_buzzer_2023-08-30.jpg" alt="ggreg20_v3_at_3_7V_energy_consumption_test_1hour_with_buzzer_2023-08-30" class="wp-image-3818" srcset="https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_3_7V_energy_consumption_test_1hour_with_buzzer_2023-08-30.jpg 499w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_3_7V_energy_consumption_test_1hour_with_buzzer_2023-08-30-265x300.jpg 265w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_3_7V_energy_consumption_test_1hour_with_buzzer_2023-08-30-454x514.jpg 454w" sizes="(max-width: 499px) 100vw, 499px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>

<figure data-wp-context="{&quot;imageId&quot;:&quot;6a302e5246362&quot;}" data-wp-interactive="core/image" data-wp-key="6a302e5246362" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="638" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_3_7V_energy_consumption_test_1hour_with_buzzer_graph_2023-08-30-1024x638.jpg" alt="ggreg20_v3_at_3_7V_energy_consumption_test_1hour_with_buzzer_graph_2023-08-30" class="wp-image-3816" srcset="https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_3_7V_energy_consumption_test_1hour_with_buzzer_graph_2023-08-30-1024x638.jpg 1024w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_3_7V_energy_consumption_test_1hour_with_buzzer_graph_2023-08-30-300x187.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_3_7V_energy_consumption_test_1hour_with_buzzer_graph_2023-08-30-768x479.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_3_7V_energy_consumption_test_1hour_with_buzzer_graph_2023-08-30-454x283.jpg 454w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_3_7V_energy_consumption_test_1hour_with_buzzer_graph_2023-08-30.jpg 1500w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>

<h2 class="wp-block-heading">Power supply with a voltage of 5.0V</h2>

<figure data-wp-context="{&quot;imageId&quot;:&quot;6a302e52465dc&quot;}" data-wp-interactive="core/image" data-wp-key="6a302e52465dc" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="499" height="565" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_5V_energy_consumption_test_1hour_with_buzzer_2023-08-31.jpg" alt="ggreg20_v3_at_5V_energy_consumption_test_1hour_with_buzzer_2023-08-31" class="wp-image-3814" srcset="https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_5V_energy_consumption_test_1hour_with_buzzer_2023-08-31.jpg 499w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_5V_energy_consumption_test_1hour_with_buzzer_2023-08-31-265x300.jpg 265w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_5V_energy_consumption_test_1hour_with_buzzer_2023-08-31-454x514.jpg 454w" sizes="(max-width: 499px) 100vw, 499px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>

<figure data-wp-context="{&quot;imageId&quot;:&quot;6a302e524681e&quot;}" data-wp-interactive="core/image" data-wp-key="6a302e524681e" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="641" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_5V_energy_consumption_test_1hour_with_buzzer_graph_2023-08-31-1024x641.jpg" alt="ggreg20_v3_at_5V_energy_consumption_test_1hour_with_buzzer_graph_2023-08-31" class="wp-image-3824" srcset="https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_5V_energy_consumption_test_1hour_with_buzzer_graph_2023-08-31-1024x641.jpg 1024w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_5V_energy_consumption_test_1hour_with_buzzer_graph_2023-08-31-300x188.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_5V_energy_consumption_test_1hour_with_buzzer_graph_2023-08-31-768x481.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_5V_energy_consumption_test_1hour_with_buzzer_graph_2023-08-31-454x284.jpg 454w, https://iot-devices.com.ua/wp-content/uploads/2025/02/ggreg20_v3_at_5V_energy_consumption_test_1hour_with_buzzer_graph_2023-08-31.jpg 1499w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>

<h2 class="wp-block-heading">Summary of results</h2>

<p class="wp-block-paragraph">The power consumption of the GGreg20_V3 module was tested for 60 minutes at different voltages under normal conditions. INA219 measurement update cycle: 1 minute </p>

<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th></th><th>5 Volts</th><th>3.7 Volts</th><th>3.3 Volts</th></tr></thead><tbody><tr><td>Output voltage of the laboratory PSU, V </td><td>5,11</td><td>3,83</td><td>3,45</td></tr><tr><td>Supply voltage of the GGreg20_V3 (on the INA219 sensor), V</td><td>5,01</td><td>3,7</td><td>3,32</td></tr><tr><td>Power consumption during the test (LED blinks, buzzer beeps), A*h</td><td>0,03523</td><td>0,05174</td><td>0,05741</td></tr><tr><td>Instantaneous current at rest, A</td><td>0,0343</td><td>0,04880</td><td>0,05664</td></tr><tr><td>Peak bursts of instantaneous current (blink &amp; beep, duration 10 ms), A</td><td>0,051</td><td>0,064</td><td>0,093</td></tr></tbody></table></figure>

<p class="wp-block-paragraph">Test dates: 27.08. &#8211; 31.08.2023</p>

<p class="wp-block-paragraph">No deviations in radiation level measurements were observed during testing</p>

<p class="wp-block-paragraph">Testing was performed in the default settings of the GGreg20_V3 module. The buzzer is enabled. The Schottky protection diode is installed. Blue power supply LED lights constantly. The supply voltage remained unchanged throughout the test cycle.    </p>

<h2 class="wp-block-heading">Appendix. Theoretical battery discharge diagram </h2>

<p class="wp-block-paragraph">We also decided to show the theoretical discharge graph at three different voltages when the GGreg20_V3 module is powered by batteries of different chemistry and capacity.</p>

<p class="wp-block-paragraph">The basis for our calculations was the battery characteristics available on the Internet:</p>

<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Battery voltage level</th><th>Battery assembly</th><th>Example of a rechargeable battery</th></tr></thead><tbody><tr><td>3.2V</td><td>1 х</td><td>Soshine 18650 1800 mAh LiFePO4 3,2В</td></tr><tr><td>3.7V</td><td>1 х</td><td>Sony 18650 VTC6 3.7V 3120 mAh (30А)</td></tr><tr><td>4.8V</td><td>4 х in series</td><td>Videx NiMH AA HR6 1.2V 2100 mAh</td></tr></tbody></table></figure>

<p class="wp-block-paragraph">However, please note once again that this graph is a theoretical assumption and does not take into account the discharge of real batteries under load over time and changes in voltage and current consumption during discharge.</p>

<figure data-wp-context="{&quot;imageId&quot;:&quot;6a302e5246bb8&quot;}" data-wp-interactive="core/image" data-wp-key="6a302e5246bb8" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="599" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://iot-devices.com.ua/wp-content/uploads/2025/02/Estimated-battery-lifetime-under-normal-background-conditions-20-40-CPM-with-alarming-1024x599.png" alt="Estimated battery lifetime under normal background conditions (20-40 CPM) with alarming" class="wp-image-3832" srcset="https://iot-devices.com.ua/wp-content/uploads/2025/02/Estimated-battery-lifetime-under-normal-background-conditions-20-40-CPM-with-alarming-1024x599.png 1024w, https://iot-devices.com.ua/wp-content/uploads/2025/02/Estimated-battery-lifetime-under-normal-background-conditions-20-40-CPM-with-alarming-300x176.png 300w, https://iot-devices.com.ua/wp-content/uploads/2025/02/Estimated-battery-lifetime-under-normal-background-conditions-20-40-CPM-with-alarming-768x449.png 768w, https://iot-devices.com.ua/wp-content/uploads/2025/02/Estimated-battery-lifetime-under-normal-background-conditions-20-40-CPM-with-alarming-454x266.png 454w, https://iot-devices.com.ua/wp-content/uploads/2025/02/Estimated-battery-lifetime-under-normal-background-conditions-20-40-CPM-with-alarming.png 1104w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>

<h1 class="wp-block-heading">About GGreg20_V3</h1>

<p class="wp-block-paragraph">The Geiger counter module GGreg20_V3 manufactured by IoT-devices, LLC is the company&#8217;s flagship product, which has found its users in more than 30 countries. </p>

<p class="wp-block-paragraph">All over the world, radio amateurs use GGreg20_V3 to create their own DIY projects, learn and conduct experiments related to radiation measurement. </p>

<p class="wp-block-paragraph">When developing this product and improving it since 2020, we tried to make the module compact, ready-to-use, compatible with as many DIY platforms and systems as possible, undemanding in terms of power supply voltages, easy to program, and harmonized in terms of operating characteristics with various Geiger tubes. </p>

<p class="wp-block-paragraph">We have also developed a number of examples and posted them on GitHub for various hardware and software platforms such as Arduino UNO, ESP32, ESP8266, Raspberry Pi Pico W, NodeMCU, ESPHome, Tasmota, MicroPython, Home Assistant.</p>

<p class="wp-block-paragraph">And we, at IoT-devices Company, hope that our Customers will have a great user experience and real pleasure by implementing this module in their projects.</p>

<p class="wp-block-paragraph">We also thank everyone for supporting and choosing this product designed and manufactured in Ukraine. We really appreciate it! </p>

<h1 class="wp-block-heading">Keywords</h1>

<p class="wp-block-paragraph">Geiger counter </p>

<p class="wp-block-paragraph">GGreg20_V3</p>

<p class="wp-block-paragraph">Testing of energy consumption</p>

<p class="wp-block-paragraph">DIY-projects</p>

<p class="wp-block-paragraph">Home Assistant</p>

<p class="wp-block-paragraph">Raspberry Pi Pico W</p>

<p class="wp-block-paragraph">ESPHome</p>

<p class="wp-block-paragraph">INA219</p>

<p class="wp-block-paragraph">NodeMCU</p>

<p class="wp-block-paragraph">ESP8266</p>

<p class="wp-block-paragraph">I2C</p>

<p class="wp-block-paragraph">WiFi</p>

<p class="wp-block-paragraph">YAML</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>LM75 thermometer: connection to ESP12.OLED_V1 in ESPHome</title>
		<link>https://iot-devices.com.ua/en/lm75-thermometer-connection-to-esp12-oled_v1-in-esphome-en/</link>
		
		<dc:creator><![CDATA[iot-guru]]></dc:creator>
		<pubDate>Sun, 07 Jan 2024 11:21:20 +0000</pubDate>
				<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[ESP12.OLED]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[ESPHome]]></category>
		<category><![CDATA[Home Assistant]]></category>
		<category><![CDATA[I2CHUB_V1]]></category>
		<category><![CDATA[LM75]]></category>
		<category><![CDATA[yaml]]></category>
		<guid isPermaLink="false">https://iot-devices.com.ua/?p=3228</guid>

					<description><![CDATA[Everyone who is involved in DIY IoT projects is familiar with the LM75 temperature sensor. Termometer LM75 &#8211; it is a cheap and convenient sensor that has sufficient accuracy and measurement range. But its main advantage is that it works via the I2C bus. Why these thermometers are underrated Someone may say that LM75 is [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Everyone who is involved in DIY IoT projects is familiar with the LM75 temperature sensor. Termometer LM75 &#8211; it is a cheap and convenient sensor that has sufficient accuracy and measurement range. </p>

<p class="wp-block-paragraph">But its main advantage is that it works via the I2C bus. </p>

<figure class="wp-block-image"><img decoding="async" src="https://lh7-us.googleusercontent.com/2IO_QsYCPegb15n4XkZZsZDiHSr8LHAXmo0eJKCdHTLIiyRERwwLw8AZLHsOyJnZ_85ciPBnnY23iEOM8HTMqSwMHFZrgcqfWqxqIV2IVVB4kx3fCC8g7F9LLwW0iX_haE7DYUq38NYbpO8Er0IQdGw" alt=""/></figure>

<h1 class="wp-block-heading">Why these thermometers are underrated</h1>

<p class="wp-block-paragraph">Someone may say that LM75 is not the best sensor in terms of its technological features and design as a chip. Indeed, there are many other types of temperature sensors, such as <a href="https://esphome.io/components/sensor/dallas.html?highlight=wire#dallas-temperature-sensor" target="_blank" rel="noopener">1-Wire Dallas DS18b20</a>. These sensors have a one-wire connection and many other design advantages, such as waterproof metallized capsule-shaped housings, etc. It is possible to connect many thermometers to the 1-Wire bus on a single wire, 1-Wire supports error detection and device identification, etc.</p>

<p class="wp-block-paragraph">But the 1-Wire bus has one and the most important drawback &#8211; there are no other devices for this bus except thermometers. That&#8217;s not exactly true, they are produced, but it&#8217;s such an unpopular segment that they are impossible to buy.</p>

<p class="wp-block-paragraph">When we need to build a device of medium complexity, such as a weather station, several different sensors and other peripherals need to be connected to the main controller (a list, for example):</p>

<ul class="wp-block-list"><li>BME680 / BME280 I2C / SPI;</li><li>DS18b20 1-Wire;</li><li>SPI / I2C display;</li><li>Lightning sensor AS3935 SPI / I2C;</li><li>Light sensor MAX44009 I2C;</li><li>Temperature and humidity HDC1080 I2C;</li><li>CCS811 I2C sensor;</li><li>SCD4X I2C sensor.</li></ul>

<p class="wp-block-paragraph">And even with the powerful ESP32 (not to mention the ESP8266 and similar controllers, such as Arduino or RPI Pico W), we will have to solve the problem of optimizing the number of interfaces and protocols. After all, the processing of several different protocols will sooner or later affect our development and will require simplification not only on the hardware side (budget of free I/O ports), but also the software implementation of drivers for different protocols and interfaces that must run in parallel in the main loop of the controller.</p>

<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><em><strong>Note.</strong> We are not writing about SPI here, because it is a specialized protocol with a completely different purpose and strengths that apply only to exceptional situations when it comes to sensors.</em></p></blockquote>

<p class="wp-block-paragraph">Therefore, in our opinion, you should choose solutions that can be easily expanded and operated in the future. 1-Wire and SPI devices are not well suited for such requirements and therefore we recommend not considering them unless it is absolutely necessary (as in the SPI case for high-resolution displays or measuring values at near real-time speeds).</p>

<p class="wp-block-paragraph">It is worth trying to build an optimal hardware and software solution &#8211; we take a step towards the I2C bus. That is, since we will have an SSD1306 display with I2C on the main controller, an <a href="https://iot-devices.com.ua/en/product/i2cui4v1-user-interface-i2c-module-with-5keys-keypad-rgb-led-buzzer/">I2CUI4_V1</a> keypad with I2C, why would we need to install temperature sensors with any other interface? &#8211; So we decided to use only the I2C bus. All connections will be made through the <a href="https://iot-devices.com.ua/en/product/i2chub-v1-module-i2c-bus-interfaces-splitter/">I2CHUB_V1</a>, splitter/hub, which supports the connection of 5 devices to the controller at the same time.</p>

<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><em><strong>Note.</strong> As a reminder, I2C is a great bus &#8211; it not only allows you to connect many devices simultaneously, but also provides the ability to identify devices on the bus, control erroneous data, and hot-swap (connect and disconnect devices by the user on the go).</em></p></blockquote>

<h1 class="wp-block-heading">Built-in drivers in ESPHome</h1>

<p class="wp-block-paragraph">However, when we search on the ESPHome website, it turns out that the LM75 sensor, which we were going to use in the project as a thermometer, is not supported &#8211; there is no built-in driver.</p>

<p class="wp-block-paragraph">We begin to do our own little investigation into the available drivers in ESPHome for temperature sensors like the LM75 ($0.89 USD on Mouser). And we find out that there are two other thermometers for which a built-in driver is already written in ESPHome:</p>

<ul class="wp-block-list"><li><a href="https://esphome.io/components/sensor/mcp9808" target="_blank" rel="noopener">MCP9808</a> (1.39 USD on Mouser)</li><li><a href="https://esphome.io/components/sensor/tmp1075" target="_blank" rel="noopener">TMP1075</a> (0.74 USD on Mouser)</li></ul>

<p class="wp-block-paragraph">Both sensors would have suited us technically. They are available on Mouser and other similar platforms. But we could not find ready-made modules with these chips at a price that would be close to the price of modules with LM75. </p>

<p class="wp-block-paragraph">We thought that this was not acceptable to us, as it would not be to most of our readers. Given the similarity of these chips, no one wants to overpay 5-10 times for a thermometer module if you can buy an LM75-based module in every store.</p>

<p class="wp-block-paragraph">Interestingly, the TMP1075 sensor is compatible with the LM75 specification (this is clearly stated in the datasheet), which is de facto the industry standard. Therefore, we concluded that we could try to connect our LM75 thermometer with the drivers for TM1075 that are built into ESPHome.</p>

<p class="wp-block-paragraph">Unfortunately, we failed to make such a connection, even though the addressing on the bus and the internal registers are identical for the mentioned sensors. The only difference is that the TMP1075 also has a special identification register, which the LM75 sensor does not have. But even attempts to make changes to the sensor type checking at the CPP-code level of this driver did not allow us to use it with the LM75 chip.</p>

<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><em><strong>Note.</strong> To be honest, we still don&#8217;t understand why the developers and contributors of ESPHome haven&#8217;t made a built-in driver for the LM75 yet. We wouldn&#8217;t have to write this article and spend a lot of time doing strange experiments.</em></p></blockquote>

<p class="wp-block-paragraph">So we went back to the starting point and did what we should have done from the very beginning. </p>

<h1 class="wp-block-heading">Connecting the driver externally</h1>

<p class="wp-block-paragraph">As you probably know, ESPHome has at least two mechanisms for connecting custom device drivers from the outside: <a href="https://esphome.io/components/sensor/custom.html" target="_blank" rel="noopener">Custom Component</a> and <a href="https://esphome.io/components/external_components" target="_blank" rel="noopener">External Component</a>. </p>

<p class="wp-block-paragraph">Custom component is currently considered an obsolete integration option and is not recommended by the ESPHome documentation. </p>

<p class="wp-block-paragraph">Instead, the documentation recommends using another, alternative way, which in our opinion is currently the only, easiest and best way to perform driver integration yourself &#8211; External Component. </p>

<p class="wp-block-paragraph">The difference of the External Component is that the ESPHome user does not manually write interfaces for data flows from the sensor through low-code roundabouts, but uses fully defined mechanisms, which, by the way, are also used by all other ESPHome components:</p>

<figure class="wp-block-image"><img decoding="async" src="https://lh7-us.googleusercontent.com/fhNnFHCjYoYeeW3YgVORrZe0q2lyXcUaa4xA8T0t9_3djudr-Oh-DGAgBgDhDNXycpoDgDG9s8-TOZv4eebVcJ_4TYSi3_V_7k1PN8ohzUPVyY3GptHfUwkf9InA6ttQ86HDp9OkrFDhmrSe6FOTOlc" alt=""/></figure>

<p class="wp-block-paragraph">So, to connect an External Component, you first need to describe its mapping correctly. We won&#8217;t dive into the details of programming and configurations here, because we found a ready-made component for the LM75 on GitHub.</p>

<p class="wp-block-paragraph">To add LM75 sensors, you only need to add a few lines to the YAML configuration of the device in ESPHome:</p>

<ul class="wp-block-list"><li>connect an external component (External Component):</li></ul>

<figure class="wp-block-image"><img decoding="async" src="https://lh7-us.googleusercontent.com/GiggLaW8SoWJlEFXlWf7k0F6WK3AhbYfrN4R9S5W1FnR0UnApOTweIlfQ8pNje9f1YZFrwnXBVIoWiidj9D1r-9eVaScu6LnZc6xZvGNTWcdagqLFWJJDIXOGLf37IgnxLXaHlJa5sfalcPoYj0NQ_g" alt=""/></figure>

<ul class="wp-block-list"><li>add LM75 sensor entities:</li></ul>

<figure class="wp-block-image"><img decoding="async" src="https://lh7-us.googleusercontent.com/l7JbCPB76qDdLuZWnWDmjvXdPfJS0COrbhYlSTKwOD-kiEt7DxrkwiUMFcYOvfVGLgImvW9zC7h8X3J3ViYwVggYGbuqlPpwfuLTE8TPDJHVq1E67OW8PRd__e0lSMbPyPUV6RVn8_zN4vaUVps700A" alt=""/></figure>

<p class="wp-block-paragraph">For convenience, we have forked the esphome-lm75 repository provided by <a href="https://github.com/btomala" target="_blank" rel="noopener">https://github.com/btomala</a> on GitHub to our account <a href="https://github.com/iotdevicesdev/esphome-lm75" target="_blank" rel="noopener">https://github.com/iotdevicesdev/esphome-lm75</a></p>

<p class="wp-block-paragraph">An example of how the connection of LM75 drivers for the ESP12.OLED_V1 controller manufactured by IoT-devices, LLC looks like in ESPHome:</p>

<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># YAML Config Example
esphome:
  name: esp12oled-lm75
  friendly_name: esp12oled-lm75
  comment: "Configuration example of two LM75 for ESP12.OLED_V1 with ESPHome firmware"
  project:
    name: "iot-devices.esp12oled-lm75"
    version: "1.0.0"


external_components:
  - source: github://iotdevicesdev/esphome-lm75
    components: [ lm75 ]


esp8266:
  board: nodemcuv2


logger:


api:
  encryption:
    key: "8tDDLc3S5dnSjADItGR5+7KxoUBhUIqeOiJZIXy"


ota:
  password: "c15e9a44e1408352d945b8cd35b79"


wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password


  ap:
    ssid: "Test-Node Fallback Hotspot"
    password: "rtF1XxDZ9"


captive_portal:


i2c:
  sda: 4
  scl: 5
  id: i2c_bus


sensor:
  - platform: lm75
    id: temperature
    name: "LM75 temperature"
    update_interval: 30s
    address: 0x48


  - platform: lm75
    id: temperature2
    name: "LM75 temperature2"
    update_interval: 30s
    address: 0x49
# END YAML Config Example
</pre>

<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><em><strong>Note.</strong> This code is also available on our GitHub: <a href="https://github.com/iotdevicesdev/ESP12.OLED_V1-LM75-ESPHome" target="_blank" rel="noopener">github.com/iotdevicesdev/ESP12.OLED_V1-LM75-ESPHome</a> </em></p></blockquote>

<h1 class="wp-block-heading">Project components</h1>

<p class="wp-block-paragraph">1 x <a href="https://iot-devices.com.ua/en/product/esp12oled-universal-esp8266-mcuboard-oled-en/">ESP12.OLED_V1</a> module with ESPHome 2023.12.5 firmware;</p>

<p class="wp-block-paragraph">1 x <a href="https://iot-devices.com.ua/en/product/i2chub-v1-module-i2c-bus-interfaces-splitter/">I2CHUB_V1</a> module:</p>

<p class="wp-block-paragraph">1 x LM75 module (no brand);</p>

<p class="wp-block-paragraph">1 x CJMCU-75 module.</p>

<h1 class="wp-block-heading">Project results</h1>

<p class="wp-block-paragraph">This is the main thing we wanted to tell you in this text:</p>

<ol class="wp-block-list"><li>We have connected the LM75 via the External Component mechanism so easily and simply that we could not believe it ourselves after some complicated experiments with the TMP1075 driver.</li><li>The dependencies are pulled directly from GitHub, or can be linked from a local repository on your ESPHome/HomeAssistant drive. The External Component connected in this way is automatically included in the firmware during its compilation.</li><li>We have verified that there are no problems with addressing multiple LM75 sensors simultaneously with this component.</li><li>It&#8217;s as simple as connecting a sensor with a built-in driver like BME280 to ESPHome. The simplicity of using an off-the-shelf component via the External Component method is nothing compared to using the obsolete Custom Component method that we used to do for our other applications with the VEML6070 UV sensor. </li></ol>

<p class="wp-block-paragraph">As you can see in the following screenshots, our project has been successfully completed:</p>

<ul class="wp-block-list"><li>LM75 is connected to the ESP12.OLED_V1 controller with ESPHome firmware;</li><li>Two LM75 sensors work simultaneously with the main controller. Where two sensors work, eight can work (if necessary, the LM75 has three I2C address pins, which allows you to work with eight sensors on each I2C bus at the same time);</li><li>The data from the sensors is sent to Home Assistant and displayed on the Dashboard;</li><li>Further, the sensor values can either be displayed independently on the ESP12.OLED_V1 controller display using the ESPHome firmware, and/or can be used in Home Assistant automation scenarios.</li></ul>

<h2 class="wp-block-heading">LM75 sensor values on the Home Assistant server Dashboard:</h2>

<figure class="wp-block-image"><img decoding="async" src="https://lh7-us.googleusercontent.com/acaO4mGBATm3R6jzes0mGzzjmRyzUxaL-6iyqv6N8WU7OFE9OMSp491EVcjqcoUL2GHRmAxIZWZJD9XeAB4dOspKdLGxDZWCB3UIDyG3vkJV7-xwE7sH3eahGRzSWIz3SupGSo_-pjFTKhunHcEo9EI" alt=""/></figure>

<h2 class="wp-block-heading">Graphs from the Home Assistant server&#8217;s Logbook:</h2>

<figure class="wp-block-image"><img decoding="async" src="https://lh7-us.googleusercontent.com/ptCieHiX5fvP03Sls1EwV4lyliuggL_4NYJglhDjCkdg91jMyGi3wF-6hKYWzKgxDSWx8MRz1lAyHZNT9OI7g0krtebesXDgHHKJJUjNtEahWW_jL2xIx7jqzUDsyAudWB-GPFNB6tc6LTBZlw1dKKU" alt=""/></figure>

<h2 class="wp-block-heading">LM75 sensor values in the Developer Tools menu of the Home Assistant server:</h2>

<figure class="wp-block-image"><img decoding="async" src="https://lh7-us.googleusercontent.com/D6khohe5sku1MkzapvAicnvyQcwPRACHO-GXe5PQARDyUtOy0FIlymy-ood33FKdA-Amjys9B9mMLQ8hot69UCZd6449YPOR1PjAHGc6ICtuCZt51_j-XG7l9hJSPqvOvQ9b_0GwdtUWBTTEqpms8vQ" alt=""/></figure>

<h2 class="wp-block-heading">Screenshots of the ESPHome console:</h2>

<ul class="wp-block-list"><li>Devices found during I2C bus scan (display and two thermometers)</li></ul>

<figure class="wp-block-image"><img decoding="async" src="https://lh7-us.googleusercontent.com/NJerrlBsGoKpzLNQ5Pbv-erEZkMrZNETE3dMAzkqdfoCPEukPqyjZ8Qb9c7Kpx4pNYH1HSO9vxPxJJkdm5mp-aGXt1DtQK4-MZklgLQOiRsd83zjYum4m9UeYDY4IcFsnflwP-mbxyCiokCRWt0bbVI" alt=""/></figure>

<ul class="wp-block-list"><li>Drivers for LM75 sensors initialized</li></ul>

<figure class="wp-block-image"><img decoding="async" src="https://lh7-us.googleusercontent.com/Y7ulzeeq0M9KBePJRl0vvtU-EVObTNn3n-RDIPB-lsAx9rVp_xdmsYoW5_bpZKXzwm08S5ZVoeTRvkq7NZiFMph-ojmhF2yqRL0wJe4d5-wZwFr8yaTsQp0LINUNUIZBo_niNpuNh_BNlyaAY6-ybKU" alt=""/></figure>

<ul class="wp-block-list"><li>ESPHome receives sensor data and transmits it to Home Assistant</li></ul>

<figure class="wp-block-image"><img decoding="async" src="https://lh7-us.googleusercontent.com/pySE4l9JF_jNWySJ03bDw-1hr8PlL6w6rLtDvjQY6HAwzeB0JFCVAF_7vR5Ypxn7K6Ccm4zrnKLoQqJmCiKCKPPzzfuQFCAB9ouBUG_m2V_R4u7-QxvvxcnrxD9CnVZvCGSb4RvcW2_K9EpbD3tFrw8" alt=""/></figure>

<p class="wp-block-paragraph">That&#8217;s all we have planned to discuss on this topic for now.</p>

<p class="wp-block-paragraph">Thank you for your attention!</p>

<p class="wp-block-paragraph">Good luck!</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Geiger counter emulator of GGreg20_V3 module by means of ESP8266 Part 3: Testing and Conclusion</title>
		<link>https://iot-devices.com.ua/en/geiger-counter-emulator-ggreg20_v3-module-by-means-of-esp8266-part3/</link>
		
		<dc:creator><![CDATA[iot-guru]]></dc:creator>
		<pubDate>Fri, 31 Mar 2023 12:58:07 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[emulator]]></category>
		<category><![CDATA[ESP12.OLED]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[Expressive]]></category>
		<category><![CDATA[Geiger]]></category>
		<category><![CDATA[geiger-counter]]></category>
		<category><![CDATA[GGreg20_V3]]></category>
		<category><![CDATA[GPIO]]></category>
		<category><![CDATA[iot]]></category>
		<category><![CDATA[LUA]]></category>
		<category><![CDATA[NodeMCU]]></category>
		<category><![CDATA[SBM20]]></category>
		<category><![CDATA[tindie]]></category>
		<category><![CDATA[unit test]]></category>
		<guid isPermaLink="false">https://iot-devices.com.ua/?p=2867</guid>

					<description><![CDATA[Testing the emulator After we&#8217;ve built the emulator and programmed the ESP8266, we can test it to make sure it&#8217;s working correctly. Having made the physical diagram and developed and loaded/compiled the Lua code into the controllers, we run the emulator and the main controller to check how our testbed works. As you can see, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"><a></a> Testing the emulator</h2>

<p class="wp-block-paragraph">After we&#8217;ve built the emulator and programmed the ESP8266, we can test it to make sure it&#8217;s working correctly.</p>

<p class="wp-block-paragraph">Having made the physical diagram and developed and loaded/compiled the Lua code into the controllers, we run the emulator and the main controller to check how our testbed works.</p>

<figure class="wp-block-image size-large"><a href="https://iot-devices.com.ua/wp-content/uploads/2023/01/esp12_oled_we_disp_ggreg20_hwemu-scaled.jpg"><img loading="lazy" decoding="async" width="1024" height="768" src="https://iot-devices.com.ua/wp-content/uploads/2023/01/esp12_oled_we_disp_ggreg20_hwemu-1024x768.jpg" alt="" class="wp-image-2589" srcset="https://iot-devices.com.ua/wp-content/uploads/2023/01/esp12_oled_we_disp_ggreg20_hwemu-1024x768.jpg 1024w, https://iot-devices.com.ua/wp-content/uploads/2023/01/esp12_oled_we_disp_ggreg20_hwemu-300x225.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2023/01/esp12_oled_we_disp_ggreg20_hwemu-768x576.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2023/01/esp12_oled_we_disp_ggreg20_hwemu-1536x1152.jpg 1536w, https://iot-devices.com.ua/wp-content/uploads/2023/01/esp12_oled_we_disp_ggreg20_hwemu-2048x1536.jpg 2048w, https://iot-devices.com.ua/wp-content/uploads/2023/01/esp12_oled_we_disp_ggreg20_hwemu-454x341.jpg 454w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption>Fig. GGreg20_V3 emulator testbed based on ESP12.OLED (MCU_B) connected to NodeMCU dev.board (MCU_A, not pictured)</figcaption></figure>

<p class="wp-block-paragraph">As you can see, the connection of the emulator is very simple: the micro USB power cable and the pulse output signal wires, and you can also connect the debug console via UART if desired.</p>

<p class="wp-block-paragraph">The following screenshots show the diagnostic data and their measurements. We also show an example of event distribution at the emulator output, that we built to clearly show how the random number generator of the ESP8266 controller works according to our proposed implementation via timers.</p>

<figure class="wp-block-image size-large"><a href="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_log_2022-12-01_222323.jpg"><img loading="lazy" decoding="async" width="1024" height="631" src="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_log_2022-12-01_222323-1024x631.jpg" alt="" class="wp-image-2591" srcset="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_log_2022-12-01_222323-1024x631.jpg 1024w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_log_2022-12-01_222323-300x185.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_log_2022-12-01_222323-768x473.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_log_2022-12-01_222323-454x280.jpg 454w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_log_2022-12-01_222323.jpg 1421w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption>Fig. GGreg20_V3 emulator testbed based on ESP12.OLED (MCU_B) connected to NodeMCU dev.board (MCU_A, not pictured)</figcaption></figure>

<figure class="wp-block-image size-large"><a href="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_distribution_2022-12-01_222323.jpg"><img loading="lazy" decoding="async" width="1024" height="397" src="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_distribution_2022-12-01_222323-1024x397.jpg" alt="" class="wp-image-2593" srcset="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_distribution_2022-12-01_222323-1024x397.jpg 1024w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_distribution_2022-12-01_222323-300x116.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_distribution_2022-12-01_222323-768x298.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_distribution_2022-12-01_222323-1536x595.jpg 1536w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_distribution_2022-12-01_222323-454x176.jpg 454w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_distribution_2022-12-01_222323.jpg 1610w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption>Fig. Console output of the emulator (MCU B, left) and main controller (MCU A, right) working together.</figcaption></figure>

<p class="wp-block-paragraph">As we can see, the events that the emulator generates at the output are chaotic, that is, they have a character where a cursory examination does not show a certain graphical pattern.</p>

<p class="wp-block-paragraph">Here is another graph of a test set of 175 events per minute, but in a slightly different format. Note the horizontal axis. The value of the initial sequence numbers of events in the loop are arranged chaotically on this graph, as they happened in reality at the output of the emulator:</p>

<figure class="wp-block-image size-large"><a href="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_random_distribution_2022-12-07.jpg"><img loading="lazy" decoding="async" width="1024" height="476" src="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_random_distribution_2022-12-07-1024x476.jpg" alt="" class="wp-image-2595" srcset="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_random_distribution_2022-12-07-1024x476.jpg 1024w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_random_distribution_2022-12-07-300x139.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_random_distribution_2022-12-07-768x357.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_random_distribution_2022-12-07-454x211.jpg 454w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_random_distribution_2022-12-07.jpg 1529w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption>Fig. Graphical representation of 175 random events at the emulator output (left axis) and free memory (right axis) of the ESP8266 controller during a 60-second cycle</figcaption></figure>

<p class="wp-block-paragraph">Of course, the verification of true randomness of events is not the goal of this publication and is far beyond its scope. We simply rely on the thesis that the ESP8266 has a hardware true random number generator.</p>

<h2 class="wp-block-heading"><a></a>Known limitations</h2>

<p class="wp-block-paragraph">Among the known limitations of this method of creating a Geiger counter emulator is the memory size of the ESP826 controller, in which we create in a loop the required number of one-shot timers with random times of firing. Each timer, in fact, is a function that takes a certain amount of RAM.</p>

<p class="wp-block-paragraph">When the timers are fired, the memory is immediately released. The execution of the code we developed resembles a spring, which in a cycle once a minute is sharply compressed and slowly uncompressed within the available memory of the controller.</p>

<p class="wp-block-paragraph">Thus, the maximum possible number of events generated by our chosen method of generating random events at the emulator output directly depends on the amount of free RAM and the speed of the controller.</p>

<p class="wp-block-paragraph">Experimentally we found that ESP8266 with NodeMCU firmware and Lua language can confidently generate about 260 events per minute. This is more than enough pulses per minute for the emulator project and the radiation levels it supposedly registers.</p>

<p class="wp-block-paragraph">That is all we planned to tell you about. Now you know our version of how you can make your own Geiger counter emulator, as well as what and who can benefit from such a device. However, if you want to buy a ready-made emulator, you can do it on our website or on Tindie.</p>

<p class="wp-block-paragraph">Site IoT-devices.com.ua: <a href="https://iot-devices.com.ua/en/product/gcemu20_v1-geiger-counter-emulator/">GCcemu20_V1</a></p>

<p class="wp-block-paragraph">tindie.com: <a href="https://www.tindie.com/products/iotdev/gcemu20_v1-geiger-counter-emulator/" target="_blank" rel="noreferrer noopener">GCcemu20_V1</a></p>

<p class="wp-block-paragraph">Overall, building a Geiger counter module emulator can be a fun and educational project. It allows you to simulate the readings of a Geiger counter module without the need for radioactive sources. We hope this guide has been helpful, and we encourage you to experiment with different components and programming techniques to customize your emulator further.</p>

<p class="wp-block-paragraph">The beginning of the article:</p>

<p class="wp-block-paragraph"><a href="https://iot-devices.com.ua/en/geiger-counter-emulator-ggreg20_v3-module-by-means-of-esp8266-part1/">Geiger counter emulator of GGreg20_V3 module by means of ESP8266 Part 1: Introduction and Overview</a></p>

<p class="wp-block-paragraph"><a href="http://%D0%95%D0%BC%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80%20%D0%BB%D1%96%D1%87%D0%B8%D0%BB%D1%8C%D0%BD%D0%B8%D0%BA%D0%B0%20%D0%93%D0%B5%D0%B9%D0%B3%D0%B5%D1%80%D0%B0%20GGreg20_V3%20%D0%B7%D0%B0%D1%81%D0%BE%D0%B1%D0%B0%D0%BC%D0%B8%20ESP8266">Geiger counter emulator of GGreg20_V3 module by means of ESP8266 Part 2 Building the Emulator</a></p>

<p class="wp-block-paragraph">Good luck!</p>

<p class="wp-block-paragraph">IoT-devices LLC Team.</p>

<p class="wp-block-paragraph"> </p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Geiger counter emulator of GGreg20_V3 module by means of ESP8266 Part 2 Building the Emulator</title>
		<link>https://iot-devices.com.ua/en/geiger-counter-emulator-ggreg20_v3-module-by-means-of-esp8266-part2/</link>
		
		<dc:creator><![CDATA[iot-guru]]></dc:creator>
		<pubDate>Wed, 29 Mar 2023 11:50:27 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[emulator]]></category>
		<category><![CDATA[ESP12.OLED]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[Expressive]]></category>
		<category><![CDATA[Geiger]]></category>
		<category><![CDATA[geiger-counter]]></category>
		<category><![CDATA[GGreg20_V3]]></category>
		<category><![CDATA[GPIO]]></category>
		<category><![CDATA[iot]]></category>
		<category><![CDATA[LUA]]></category>
		<category><![CDATA[NodeMCU]]></category>
		<category><![CDATA[SBM20]]></category>
		<category><![CDATA[tindie]]></category>
		<category><![CDATA[unit test]]></category>
		<guid isPermaLink="false">https://iot-devices.com.ua/?p=2822</guid>

					<description><![CDATA[Geiger counter emulator: what we need To build the Geiger counter module emulator, we&#8217;ll need the following parts and materials: ESP8266 #1 as the main one (MCU_A, NodeMCU module); ESP8266 #2 as GGreg20_V3 emulator (MCU_B, ESP12.OLED module); Jumper wires; USB cable for programming and power. Next, we&#8217;ll need to program the main controller MCU_A and [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="block-786c35cc-31be-43f0-a658-40945e2c73d7">Geiger counter emulator: what we need</h2>

<p class="wp-block-paragraph">To build the Geiger counter module emulator, we&#8217;ll need the following parts and materials:</p>

<ul class="wp-block-list"><li>ESP8266 #1 as the main one (MCU_A, NodeMCU module);</li><li>ESP8266 #2 as GGreg20_V3 emulator (MCU_B, ESP12.OLED module);</li><li>Jumper wires;</li><li>USB cable for programming and power.</li></ul>

<p class="wp-block-paragraph">Next, we&#8217;ll need to program the main controller MCU_A and emulation software script code GGreg20_V3 for MCU_B.</p>

<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Note 3</strong>. We will give examples in this publication with our own <a href="https://iot-devices.com.ua/en/product/esp12oled-universal-esp8266-mcuboard-oled-en/">ESP12.OLED</a> modules. However, if you do not have an ESP12.OLED module, you can also use an ESP8266-based development board such as the NodeMCU and develop the software yourself, following the examples in the text. If you wish to use an off-the-shelf device please read the rest of this article because we have provided a link to our ready-to-use emulator module which you can buy further on.</p></blockquote>

<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Note 4.</strong> In this, as in other publications, we will give examples using the simple and powerful Lua scripting language available in the popular NodeMCU firmware.</p></blockquote>

<h2 class="wp-block-heading" id="block-fa9009c2-5b8c-41b0-bb8a-10108721c789">The budget of the inputs/outputs we need</h2>

<p class="wp-block-paragraph" id="block-72e01d54-951b-4117-8327-b53872654d3a">On the main layout controller, we must define the input/output ports that will perform the task of recording input pulses from the Geiger counter emulator module.</p>

<p class="wp-block-paragraph" id="block-dc43f265-c4cd-4a94-8940-0af029bf502d">On the Geiger counter emulator module we need a bit more ports. Here we need I/O ports: for emulation of output pulses, for RGB LED and for the switch button of the emulator operation mode.</p>

<figure class="wp-block-table"><table><tbody><tr><td><br/></td><td>MCU_A role (Main Contr.)</td><td>MCU_B role (GC emulator)</td></tr><tr><td>1 х GPIO of input pulse counter</td><td>NodeMCU</td><td>&#8211;</td></tr><tr><td>1 х GGreg20_V3 output emulation GPIO</td><td>&#8211;</td><td>ESP12.OLED</td></tr><tr><td>3 х RGB LED GPIO for GGreg20_V3 output pulses indication</td><td>&#8211;</td><td>ESP12.OLED</td></tr><tr><td>1х GPIO of the emulator mode switch button</td><td>&#8211;</td><td>ESP12.OLED</td></tr></tbody></table></figure>

<p class="wp-block-paragraph">Wiring diagram</p>

<p class="wp-block-paragraph" id="block-c6b2cc85-b3fb-4407-a53a-677106212716">To make the interaction between the main controller and the GGreg20_V3 module emulator look realistic, we suggest taking advantage of the built-in properties of some I/O ports of the ESP12.OLED board and select the following GPIOs on the MCU_B emulator controller:</p>

<ul class="wp-block-list" id="block-f010198d-685b-4fee-b4d6-3e1d8f38aeb3"><li>we recommend using GPIO4/D2 (GPIO D-index in Lua) to emulate the pulse output of GGreg20_V3;</li><li>we can use the Flash button (GPIO0/D3) built into the ESP12.OLED board to switch the emulator operation modes;</li><li>the built-in RGB LED on the ESP12.OLED module takes GPIO14/D5; GPIO12/D6; GPIO13/D7;</li></ul>

<p class="wp-block-paragraph" id="block-2527070a-42a1-48e0-983b-6cfc16e216fc">On the main module of the MCU_A controller we propose to select the following port for the input pulse counter:</p>

<ul class="wp-block-list" id="block-c8feffc1-6e34-42d2-b70e-3b3631fb85fb"><li>GPIO14 / D5.</li></ul>

<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Note 5</strong>. We recommend the following materials as background information on port numbering: </p><p>The standard for planning and applying pins was developed by alterstrategy.lab: <a href="https://alterstrategy.com/recommended-pin-use-standard/" target="_blank" rel="noopener">https://alterstrategy.com/recommended-pin-use-standard/</a> </p><p>NodeMCU firmware documentation: <a href="https://nodemcu.readthedocs.io/en/latest/modules/gpio/" target="_blank" rel="noopener">https://nodemcu.readthedocs.io/en/latest/modules/gpio/</a> </p><p>Documentation for the ESP12.OLED module is on the website: <a href="https://iot-devices.com.ua/en/product/esp12oled-universal-esp8266-mcuboard-oled-en/">https://iot-devices.com.ua/en/product/esp12oled-universal-esp8266-mcuboard-oled-en/</a> </p><p>and on Tindie: <a href="https://www.tindie.com/products/iotdev/esp12oled-universal-esp8266096oled-mcu-board/" target="_blank" rel="noopener">https://www.tindie.com/products/iotdev/esp12oled-universal-esp8266096oled-mcu-board/</a></p></blockquote>

<p class="wp-block-paragraph" id="block-0017d8d7-e663-4e4b-8d4e-d20072cdf305">Let&#8217;s update the table with the specific I/O ports we selected:</p>

<figure class="wp-block-table"><table><tbody><tr><td><br/></td><td>MCU_A role</td><td>MCU_B role</td></tr><tr><td>1 х GPIO of input pulse counter</td><td>NodeMCU GPIO14/ D5</td><td>&#8211;</td></tr><tr><td>1 х GGreg20_V3 output emulation GPIO</td><td>&#8211;</td><td>ESP12.OLED GPIO4 / D2</td></tr><tr><td>3 х RGB LED GPIO for GGreg20_V3 output pulses indication</td><td>&#8211;</td><td>ESP12.OLED GPIO14 / D5 GPIO12 / D6 GPIO13 / D7</td></tr><tr><td>1х GPIO of the emulator mode switch button</td><td>&#8211;</td><td>ESP12.OLED GPIO0 / D3</td></tr></tbody></table></figure>

<p class="wp-block-paragraph">﻿</p>

<figure class="wp-block-image size-full" id="block-3e816c74-b488-4f9c-af8a-46e7b768c80c"><a href="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-the-esp12.oled-geiger-counter-emulator-and-nodemcu-wiring-diagram.jpg"><img loading="lazy" decoding="async" width="960" height="540" src="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-the-esp12.oled-geiger-counter-emulator-and-nodemcu-wiring-diagram.jpg" alt="" class="wp-image-2587" srcset="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-the-esp12.oled-geiger-counter-emulator-and-nodemcu-wiring-diagram.jpg 960w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-the-esp12.oled-geiger-counter-emulator-and-nodemcu-wiring-diagram-300x169.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-the-esp12.oled-geiger-counter-emulator-and-nodemcu-wiring-diagram-768x432.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-the-esp12.oled-geiger-counter-emulator-and-nodemcu-wiring-diagram-800x450.jpg 800w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-the-esp12.oled-geiger-counter-emulator-and-nodemcu-wiring-diagram-454x255.jpg 454w" sizes="(max-width: 960px) 100vw, 960px" /></a><figcaption>Fig. Connection of modules using two ESP8266 hardware controllers. As MCU_B &#8211; ESP12.OLED module. As MCU_A &#8211; NodeMCU module.</figcaption></figure>

<h2 class="wp-block-heading" id="block-cb422977-8184-4a88-9c04-66d8e4c95e9d"><br/>Emulator operating modes</h2>

<p class="wp-block-paragraph" id="block-4228e826-79a4-4376-aad4-045e96815dc7">In order for our GGreg20_V3 emulator to be able to simulate operation under conditions of different radiation levels, we propose to implement the possibility to switch the radiation power range, which is as if measured by the device and fed to the pulse output.</p>

<p class="wp-block-paragraph" id="block-4e0350bb-494c-480f-b831-a6e3d0c4b3ce">By pressing the Flash button (D3), the user can alternately switch modes to select the desired one.</p>

<p class="wp-block-paragraph" id="block-8566cf3a-6d34-494a-a1c4-9783454ba6ad">To make the emulator easy to use, the ESP12.OLED&#8217;s RGB LED flashes in different colors that can be easily distinguished by the human eye. Each emulator operating mode has its own color assigned to it. Therefore, when the emulator gives the pulse output a signal about a simulated detection the LED will also blink in the color of the current mode of operation.</p>

<h2 class="wp-block-heading" id="block-63c378b0-b723-4c14-a913-697192337a31">Radiation level ranges</h2>

<p class="wp-block-paragraph" id="block-d791023e-f3f0-4cb0-a8d6-56b4f2d848c6">We propose to implement the emulation of the following ranges of ambient radiation, which MCU_B will simulate:</p>

<p class="wp-block-paragraph" id="block-b19d8848-2821-488d-9731-af30f8d6a932">Mode 0. No pulses (sensor error simulation);</p>

<p class="wp-block-paragraph" id="block-b78e9cf4-f0ce-4bb5-a037-2e465dbc7279">Mode 1. Natural background radiation: 0.1 &#8211; 0.2 µSv/h;</p>

<p class="wp-block-paragraph" id="block-fcdb4d5e-1a51-47d4-b7eb-656d53f9f600">Mode 2. Acceptable level: 0.2 &#8211; 0.3 µSv/h;</p>

<p class="wp-block-paragraph" id="block-2b79a053-b8bb-4548-ad17-d8f31bb58219">Mode 3. Increased level: 0.3 &#8211; 0.6 µSv/hour;</p>

<p class="wp-block-paragraph" id="block-555eda96-59ee-425b-b6bb-29b4d1775ecf">Mode 4. Dangerous level: 0.6 µSv/hour &#8211; 1.5 µSv/hour.</p>

<p class="wp-block-paragraph" id="block-636beefb-1875-4800-b434-371a282b0432">By default, the module will start after applying power, from &#8220;Mode 1&#8221;. We chose this mode as the initial one only because it is convenient when, after applying power, we immediately receive pulses at the level of background radiation.</p>

<p class="wp-block-paragraph" id="block-e688333a-52ff-469c-b8f4-9f9559f976a6">The real GGreg20_V3 module is equipped with a Soviet-made SBM-20 Geiger tube. This tube has the following conversion factor of pulses per minute to microsieverts per hour:</p>

<p class="has-text-align-center wp-block-paragraph" id="block-57d145ae-f971-436c-9dc2-ea5b1f3946aa">μSv per hour = CPM * 0.0057</p>

<p class="wp-block-paragraph" id="block-5f2d88d1-fa2a-4c1c-b998-6c2d35b5188d">Let’s perform the reverse operation to calculate for the radiation ranges the appropriate number of pulses per hour that the emulator would have to generate while operating in a certain mode:</p>

<p class="has-text-align-center wp-block-paragraph" id="block-1a1a2729-0148-4991-a7c5-b8d7190e5969">CPM = μSv per hour/ 0.0057</p>

<p class="wp-block-paragraph" id="block-939c0593-7e19-41fe-940b-0d34f5a5af24">We make a rough calculation so as to form power ranges which do not overlap in value:</p>

<p class="wp-block-paragraph" id="block-a0935c72-ddee-4500-92dd-caa443833e00">Mode 0. 0 CPM;</p>

<p class="wp-block-paragraph" id="block-bfbf37c0-e77a-40bb-a524-aecffb2f5ffc">Mode 1. 18 CPM to 35 CPM;</p>

<p class="wp-block-paragraph" id="block-9b5a7549-1217-4a21-862e-6123d5f1fcc0">Mode 2. 36 CPM to 52 CPM;</p>

<p class="wp-block-paragraph" id="block-a28b6f7b-2535-426d-97c5-289e31330abe">Mode 3. 53 CPM to 105 CPM;</p>

<p class="wp-block-paragraph" id="block-4d52fbd2-bff2-4f66-b1a7-44a17677efb3">Mode 4. від 106 CPM до 264 CPM.</p>

<p class="wp-block-paragraph" id="block-0761ad79-1104-4eb4-8586-2b413119bad9">The correlation of the color of the RGB LED flashes to a certain mode of operation is as follows:</p>

<figure class="wp-block-table"><table><tbody><tr><td><strong>Operation mode</strong></td><td><strong>Flash color</strong></td><td><strong>R</strong></td><td><strong>G</strong></td><td><strong>B</strong></td></tr><tr><td>Mode 0</td><td>no flashes black</td><td>0</td><td>0</td><td>0</td></tr><tr><td>Mode 1</td><td>cyan</td><td>0</td><td>1</td><td>1</td></tr><tr><td>Mode 2</td><td>green</td><td>0</td><td>1</td><td>0</td></tr><tr><td>Mode 3</td><td>red</td><td>1</td><td>0</td><td>0</td></tr><tr><td>Mode 4</td><td>magenta</td><td>1</td><td>0</td><td>1</td></tr></tbody></table></figure>

<p class="wp-block-paragraph">Now we have to write the appropriate Lua-code for the MCU_A role and for the MCU_B role.</p>

<h2 class="wp-block-heading" id="block-f6fa38ba-c4f6-4484-9e32-cb4c380574d4"><strong>Example</strong>. Geiger counter code for the main controller (MCU_A role)</h2>

<p class="wp-block-paragraph" id="block-923bc983-837f-4384-9148-96385e6b3e3b">We take this code from GitHub here:</p>

<p class="wp-block-paragraph"><a href="https://github.com/iotdevicesdev/ggreg20-v3-nodemcu-lua-example" target="_blank" rel="noopener">https://github.com/iotdevicesdev/ggreg20-v3-nodemcu-lua-example</a></p>

<p class="wp-block-paragraph" id="block-0979654a-2651-4027-abcd-2ff33ce599d4">The code from GitHub is completely ready to use. To run the code, you need to download it from the Internet and upload it to the controller, for example to the NodeMCU module, as in our case. You also need to write another Lua-script and load it into the controller as well:</p>

<pre class="wp-block-code"><code>-- filename: mcu_a.lua
-- MCU_A Lua code example
-- Copyright 2022 IoT-devices LLC, Kyiv, Ukraine
dofile('ggreg20_v3_nodemcu_firmware_lua_example.lua')
init(5, 1, 60000)

function snsrUpd()
ma5_rad_lvl, cpm, minutes = read()
print(ma5_rad_lvl, cpm, minutes)
end

snsrUpd_tmr = tmr.create()
snsrUpd_tmr:register(60000, tmr.ALARM_AUTO, function() snsrUpd() end)
snsrUpd_tmr:start()</code></pre>

<h2 class="wp-block-heading" id="block-245d7efc-1d20-42e3-b2d1-14d29e6b7cb1"><strong>Example</strong>. Code for the GGreg20_V3 module emulator (MCU_B role)</h2>

<p class="wp-block-paragraph" id="block-6f398d6f-0323-4900-81bf-fb082b4bb006">The Lua documentation tells us that in high-speed tasks we need to reassign global identifiers to local identifiers, which increases execution speed by a factor of ten. Therefore, we will do it as follows:</p>

<pre class="wp-block-code"><code>local gpio = gpio
local mode = gpio.mode
local trig = gpio.trig
local write = gpio.write
local read = gpio.read
local INT = gpio.INT
local OUTPUT = gpio.OUTPUT
local FLOAT = gpio.FLOAT
local HIGH = gpio.HIGH
local LOW = gpio.LOW
local PULLUP = gpio.PULLUP
local print = print

local tmr = tmr
local create = tmr.create
local now = tmr.now
local delay = tmr.delay
local alarm = tmr.alarm
local ALARM_SINGLE = tmr.ALARM_SINGLE
local ALARM_SEMI = tmr.ALARM_SEMI
local ALARM_AUTO = tmr.ALARM_AUTO
local register = tmr.register
local start = tmr.start
local stop = tmr.stop

local node = node
local heap = node.heap
local random = node.random</code></pre>

<p class="wp-block-paragraph" id="block-02068264-0668-452a-a175-d7f2197ecf05">We also need to configure the GPIOs that will be responsible for their functions (see above):</p>

<pre class="wp-block-code"><code>mode(3,INT,FLOAT)
mode(4,OUTPUT, PULLUP)
write(4, HIGH)</code></pre>

<p class="wp-block-paragraph" id="block-67fa4fe3-dab6-44c3-b317-89d685a65809">To generate pulses that simulate the output interface of GGreg20_V3, we need to randomly run the following function:</p>

<pre class="wp-block-code"><code>local function pulseOut()
	write(4, LOW)
	delay(10)
	write(4, HIGH)
end</code></pre>

<p class="wp-block-paragraph" id="block-76bde581-ad02-443e-9b0e-1b0b5a802151">But in order to fully emulate the Geiger counter, it is not enough to just run <code>pulseOut()</code> a certain number of times per minute. In fact it is more complicated and we need to run<code>pulseOut()</code>, in such a way that the real randomness of the appearance of pulses on the ESP8266 output is performed.</p>

<p class="wp-block-paragraph" id="block-45dc16f8-88b4-48cc-b315-92da5ffdc8af">Given the extensive capabilities of the platform, we could even suggest several ways to implement this functionality, but we will limit ourselves to one of them, the one that, in our opinion, reproduces the pulse randomness of the real Geiger counter module as much as possible.</p>

<p class="wp-block-paragraph" id="block-0b0c2c3e-e7e7-4aaf-a30c-395557aa8674">To do that we need to use a random number generator, which, according to the NodeMCU firmware documentation, is capable of generating real random numbers. The firmware has a ready-made method node.random() for this purpose. <code>node.random().</code></p>

<p class="wp-block-paragraph" id="block-c0c54a29-d8c5-4824-896e-cc3ce2eae785">To distribute a chosen number of pulses chaotically for one minute, we will use timers, which can be created in a theoretically unlimited number:</p>

<pre class="wp-block-code"><code>create():alarm(timer timeout, timer type, callback function)</code></pre>

<p class="wp-block-paragraph" id="block-a4766066-59e9-40ea-9b6e-8cfbb48c83e8">The only limitation is the amount of free RAM of the controller. Experimentally, we found that we can easily create about 260 pulses per minute in this way, which fits into our requirements for the maximum level of virtual radiation that our emulator can reproduce.</p>

<p class="wp-block-paragraph" id="block-cc004032-5661-4186-9c8c-e28b279f3726">Thus, the function that creates random<code>pulseOut(),</code> start timeouts in the loop looks like this</p>

<pre class="wp-block-code"><code>local t_start = 0
local count = 0
local function randGen(pulses)
	for i = 1, pulses do -- pulses
			create():alarm(random(60000), ALARM_SINGLE, 
				function()
						print(heap(), count, i, (now() - t_start)/1000000)
						pulseOut()
				end
			)
	end
end</code></pre>

<p class="wp-block-paragraph" id="block-2b32df03-eab1-4d84-b60f-00e71a4c3ead">Working together, our developed functions <code>randGen(<em>pulses</em>)</code> and <code>pulseOut()</code> create on the ESP8266 output the necessary number of absolutely random pulses of 10 microseconds each per one minute.</p>

<p class="wp-block-paragraph" id="block-70e9c748-19dd-4028-bbb7-5fe1f0280797">We set the number of pulses per minute with the parameter <em><code>pulses</code></em>.</p>

<p class="wp-block-paragraph" id="block-4a90ceb2-c169-4711-9d49-5b43bb34435e">In order for the emulator to work in different power modes of simulated radiation it is necessary to provide a random value of the number of impulses <code><em>pulses</em>,</code> falling as a task at the input of the randGen() function <code>randGen().</code> . This can be done as follows:</p>

<pre class="wp-block-code"><code>radMode = 1
rand_tmr = create()
rand_tmr:register(1000, ALARM_AUTO, 
	function()
		if radMode == 0 and running == 0 then 
			print(heap(), 'Mode0:Snsr Err emu')
			return 0
		end
		local num = 0
		if radMode == 1 then 
			num = random(math.ceil(18),math.ceil(35))
		elseif radMode == 2 then
			num = random(math.ceil(36),math.ceil(52))
		elseif radMode == 3 then
			num = random(math.ceil(53),math.ceil(105))
		elseif radMode == 4 then
			num = random(math.ceil(106),math.ceil(264))
		end
		if num ~= 0 then print('count:',count + 1,'mode:',radMode, 'num:',num); randGen(num) end
	end
)

rand_tmr:start()</code></pre>

<p class="wp-block-paragraph" id="block-e5b05b89-d43b-4a2d-8e18-2bffffe503be">By setting the value of the global variable <em><code>radMode</code></em>, the user can specify one of five modes of ionizing radiation power reproduced at the emulator output.</p>

<p class="wp-block-paragraph" id="block-601d0a86-27e4-4066-a9a4-61d3770b1b94">The last thing we need to provide in the emulator is to switch the radiation power mode using the built-in Flash/GPIO0/D3 button:</p>

<pre class="wp-block-code"><code>trig(3, 'down', 
	function(lvl, ts, cnt)
		if radMode &lt; 4 then radMode = radMode + 1 else radMode = 0 end
		print ('New radMode:', radMode)
	end
)</code></pre>

<h3 class="wp-block-heading" id="block-1b688a62-cea2-48b8-811d-2e5cde4c87b1">Full emulator software code</h3>

<p class="wp-block-paragraph" id="block-be1e5721-a28c-4eb4-9552-eb301bf23577">We don&#8217;t have a ready-made example for this controller role, as was the case with the main controller (MCU_A). So we will write the necessary code from scratch. Here is the minimum required code capable of emulating Geiger counter pulses.</p>

<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Note 6.</strong> The code in this section is an example. You can download and set up this example yourself in your own Geiger counter emulator, or purchase a ready-to-use hardware module with firmware and fully functional software from our shop or Tindie at the following links:</p><p>IoT-devices.com.ua: <a href="https://iot-devices.com.ua/en/product/gcemu20_v1-geiger-counter-emulator/">GCcemu20_V1</a></p><p>Tindie: <a href="https://www.tindie.com/products/iotdev/gcemu20_v1-geiger-counter-emulator/" target="_blank" rel="noopener">GCcemu20_V1</a></p></blockquote>

<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Warning!</strong> This example code has its own limitations and differs significantly from the code we have developed for commercial use and sell as part of the emulator product on our website and other commercial sites.</p></blockquote>

<pre class="wp-block-code"><code>-- filename: mcu_b.lua
-- MCU_B Lua code example
-- Copyright 2022 IoT-devices LLC, Kyiv, Ukraine
local t_start = 0
local count = 0
radMode = 0

local gpio = gpio
local mode = gpio.mode
local trig = gpio.trig
local write = gpio.write
local read = gpio.read
local INT = gpio.INT
local OUTPUT = gpio.OUTPUT
local FLOAT = gpio.FLOAT
local HIGH = gpio.HIGH
local LOW = gpio.LOW
local PULLUP = gpio.PULLUP
local print = print

local tmr = tmr
local create = tmr.create
local now = tmr.now
local delay = tmr.delay
local alarm = tmr.alarm
local ALARM_SINGLE = tmr.ALARM_SINGLE
local ALARM_SEMI = tmr.ALARM_SEMI
local ALARM_AUTO = tmr.ALARM_AUTO
local register = tmr.register
local start = tmr.start
local stop = tmr.stop

local node = node
local heap = node.heap
local random = node.random

mode(3,INT,FLOAT)
mode(4,OUTPUT, PULLUP)
write(4, HIGH)

local function pulseOut()
	write(4, LOW)
	delay(10)
	write(4, HIGH)
end

local function randGen(pulses)
	for i = 1, pulses do -- pulses
			create():alarm(random(60000), ALARM_SINGLE, 
				function()
						print(heap(), count, i, (now() - t_start)/1000000)
						pulseOut()
				end
			)
	end
end

rand_tmr = create()
rand_tmr:register(1000, ALARM_AUTO, 
	function()
		if radMode == 0 and running == 0 then 
			print(heap(), 'Mode0:Snsr Err emu')
			return 0
		end
		local num = 0
		if radMode == 1 then 
			num = random(math.ceil(18),math.ceil(35))
		elseif radMode == 2 then
			num = random(math.ceil(36),math.ceil(52))
		elseif radMode == 3 then
			num = random(math.ceil(53),math.ceil(105))
		elseif radMode == 4 then
			num = random(math.ceil(106),math.ceil(264))
		end
		if num ~= 0 then print('count:',count + 1,'mode:',radMode, 'num:',num); randGen(num) end
	end
)

rand_tmr:start()

trig(3, 'down', 
	function(lvl, ts, cnt)
		if radMode &lt; 4 then radMode = radMode + 1 else radMode = 0 end
		print ('New radMode:', radMode)
	end
)</code></pre>

<p class="wp-block-paragraph">Початок статті: <a href="https://iot-devices.com.ua/en/geiger-counter-emulator-ggreg20_v3-module-by-means-of-esp8266-part1/">Geiger counter emulator of GGreg20_V3 module by means of ESP8266: Part 1. Introduction and Overview </a></p>

<p class="wp-block-paragraph">The conclusion of the article will be in the next publication in a few days:<br/>Geiger counter emulator of GGreg20_V3 module by means of ESP8266: Part 3. Testing and Conclusion</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Geiger counter emulator of GGreg20_V3 module by means of ESP8266</title>
		<link>https://iot-devices.com.ua/en/geiger-counter-emulator-ggreg20_v3-module-by-means-of-esp8266-part1/</link>
		
		<dc:creator><![CDATA[iot-guru]]></dc:creator>
		<pubDate>Mon, 27 Mar 2023 18:55:25 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[emulator]]></category>
		<category><![CDATA[ESP12.OLED]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[Expressive]]></category>
		<category><![CDATA[Geiger]]></category>
		<category><![CDATA[geiger-counter]]></category>
		<category><![CDATA[GGreg20_V3]]></category>
		<category><![CDATA[GPIO]]></category>
		<category><![CDATA[iot]]></category>
		<category><![CDATA[LUA]]></category>
		<category><![CDATA[NodeMCU]]></category>
		<category><![CDATA[SBM20]]></category>
		<category><![CDATA[tindie]]></category>
		<category><![CDATA[unit test]]></category>
		<guid isPermaLink="false">https://iot-devices.com.ua/?p=2799</guid>

					<description><![CDATA[Welcome to our guide on building a hardware-software Geiger counter emulator of GGreg20_V3 module based on ESP8266 This emulator can be useful for testing and tuning Geiger counters or for educational purposes. Let&#8217;s get started! Updated: When writing this article, we decided to make a separate commercial product &#8211; the Geiger counter emulator GCemu20_V1. Part [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Welcome to our guide on building a hardware-software Geiger counter emulator of <a href="https://iot-devices.com.ua/en/product/ggreg20_v3-ionizing-radiation-detector-with-geiger-tube-sbm-20/">GGreg20_V3</a> module based on ESP8266 This emulator can be useful for testing and tuning Geiger counters or for educational purposes. Let&#8217;s get started!</p>

<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Updated: </strong> When writing this article, we decided to make a separate commercial product &#8211; the Geiger counter emulator <a href="https://iot-devices.com.ua/en/product/gcemu20_v1-geiger-counter-emulator/">GCemu20_V1</a>.</p></blockquote>

<h2 class="wp-block-heading">Part 1: Introduction and Overview</h2>

<p class="wp-block-paragraph">It is known that the Espressif ESP8266 module has a very high quality random number generator. We could not find any official details about the actual implementation of this generator, so we propose to read the material on this subject, published by a radio amateur and saved on the Internet:</p>

<p class="wp-block-paragraph"><a href="https://web.archive.org/web/20170321162556/http://esp8266-re.foogod.com/wiki/Random_Number_Generator" target="_blank" rel="noopener">https://web.archive.org/web/20170321162556/http://esp8266-re.foogod.com/wiki/Random_Number_Generator</a></p>

<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Warning</strong>. Two different concepts with the same name are used in the text. Historically, there is a NodeMCU hardware module on the market as well as NodeMCU software firmware. </p><p>The NodeMCU firmware is a compilable, open-source microprogram that can be written to hardware modules with Espressif&#8217;s ESP8266 controller. One of the many products based on the ESP8266 controller, is the NodeMCU hardware module. </p><p>Thus the NodeMCU firmware can be written to the NodeMCU hardware module. Later in this article we will try, if possible, to clarify what is meant by the name NodeMCU: module or firmware.</p></blockquote>

<h2 class="wp-block-heading"><a></a>What is a Geiger counter emulator for</h2>

<p class="wp-block-paragraph">Before proceeding to create a Geiger counter emulator, it is necessary to consider what for and who may need such a hardware-software device.</p>

<p class="wp-block-paragraph">The main idea of any emulator in the field of DIY electronics is to temporarily, at certain stages, use a virtual substitute component instead of a real module in the process of IoT device development or experimenting / learning to reproduce the operation and characteristics of a real device with high accuracy. The emulator should simplify and speed up development, as well as add convenience in the initial stages of a planned project or performing unit tests.</p>

<p class="wp-block-paragraph">Below we present some theses explaining our motives for developing the GGreg20_V3 Geiger counter module emulator.</p>

<h3 class="wp-block-heading">1.No high voltage</h3>

<p class="wp-block-paragraph">The GGreg20_V3 emulator, unlike the real module, has no high voltage on the board, so it is very convenient to use when developing on the table without fear of accidental electrocution.</p>

<p class="wp-block-paragraph">At the same time, in terms of the electrical interface of the outgoing pulses, the emulator is a completely similar radiation sensor module, generating random pulses of the same shape and duration as the genuine GGreg20_V3.</p>

<h3 class="wp-block-heading">2. Simplified learning process</h3>

<p class="wp-block-paragraph">The Geiger counter emulator is suitable for educational institutions. The instructor can gradually deepen practical lessons with students.</p>

<p class="wp-block-paragraph">First, all classes can be conducted using safe and cheap Geiger counter emulators, and then with real modules with Geiger tubes and high voltage on the tube side. Just like in the Army: familiarization and training is done first with blank cartridges, and only then with live ones.</p>

<p class="wp-block-paragraph">The emulator fully reproduces the results of the real GGreg20_V3 module, so there is no problem of insufficient number of real modules in the classroom: each student can work with his module independently and complete the learning process without dividing into groups or queues, as it usually happens when resources of training devices and stands in the lab are limited.</p>

<h3 class="wp-block-heading">3. Lower cost</h3>

<p class="wp-block-paragraph">The emulator has a lower cost than the real GGreg20_V3 module, so it is convenient to use it primarily for debugging and harmonizing the circuit or software of the system being designed or studied.</p>

<p class="wp-block-paragraph">Debugging a test bench or a project with such an emulator can be performed without the need for specially qualified personnel.</p>

<p class="wp-block-paragraph">If the emulators are used by students, then the teacher will not need to control the work with the devices, as would be necessary to do with the real Geiger counter module.</p>

<p class="wp-block-paragraph">Low-cost emulators can be purchased in large quantities and given to students for the duration of their studies, not just for the time they work in the school&#8217;s laboratory.</p>

<h3 class="wp-block-heading">4. No real source of radiation is needed</h3>

<p class="wp-block-paragraph">When we work with a real GGreg20_V3, we need a true source of radiation to reproduce the various situations that need to be considered in the software of the measurement system that is being designed or tested. In order to buy a test radiation source, the radio amateur must first solve a number of problems:</p>

<ul class="wp-block-list"><li>to determine by physical and chemical parameters which source is needed;</li><li>to find a supplier and buy a test source;</li><li>some countries require customs notification and an import permit;</li><li>the test source can only be of a certain power;</li><li>you must properly store and dispose of the radioactive source;</li><li>the price of the radiation source and its storage system exceeds many times the price of the Geiger counter.</li></ul>

<p class="wp-block-paragraph">With the emulator, none of these problems will occur. T he device can simulate 5 different modes of ionizing radiation power. The Geiger counter emulator generates output pulses similar to those of the real GGreg20_V3 module in the range from 0 to 1.5 µSv/h (taking the SBM-20 tube as a similar reference). At the output are generated chaotic (using a true random number generator ESP8266) pulses of the same amplitude with a total pulse period of 10 microseconds each.</p>

<h3 class="wp-block-heading">5. Emulator resource cannot be depleted</h3>

<p class="wp-block-paragraph">SBM-20 tube, installed in GGreg20_V3, has a relatively large, but still limited resource of particles, which it can detect during its lifetime.</p>

<p class="wp-block-paragraph">The resource of the SBM-20 tube declared in the documentation is at least 2*10<sup>10</sup> pulses.</p>

<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Note 1</strong>. With a background radiation of 0.15 μSv/h with a coefficient of 0.0057, the SBM-20 tube detects about 27 pulses per minute.</p></blockquote>

<p class="wp-block-paragraph">Thus, under normal conditions, the resource of the tube will be enough for 2*10<sup>10</sup> / (27 * 60 * 24) = 20 000 000 000 / (26 * 60 * 24) = 514403 days. And it would seem that this is quite a sufficient potential life of one tube.</p>

<p class="wp-block-paragraph">A completely different picture is observed when it comes to operating a tube with a test source of radiation.</p>

<p class="wp-block-paragraph">Here&#8217;s an example:</p>

<p class="wp-block-paragraph">On its website, Images Scientific Instruments provides a list of the radiation limits allowed for import for test sources:</p>

<p class="wp-block-paragraph"><a href="https://www.imagesco.com/geiger/radioactive-sources-int.html" target="_blank" rel="noopener">https://www.imagesco.com/geiger/radioactive-sources-int.html</a></p>

<p class="wp-block-paragraph">Let&#8217;s take two sources from the list at the link:</p>

<ol class="wp-block-list"><li>Co-60 1.00 uCi, 37000 Bq;</li><li>Cs-137 0.25 uCi, 9250 Bq;</li></ol>

<p class="wp-block-paragraph">If we assume that under the influence of such a test source, half of the particles from radioactive decays enter the Geiger tube SBM-20 then the lifetime of such a tube would be:</p>

<ol class="wp-block-list"><li>20 000 000 000 / (37000 / 2 * 60 * 60 * 24) = 12 days (for Co-60);</li><li>20 000 000 000 / (9250 / 2 * 60 * 60 * 24) = 50 days (for Cs-137).</li></ol>

<p class="wp-block-paragraph">As you can see, if we want to experiment (or test our devices that include a Geiger counter) on a real tube, then we deplete its available resource with a true source of radiation rather quickly.</p>

<p class="wp-block-paragraph">There is no such problem with the emulator. Using the emulator first instead of the tube is economically feasible.</p>

<h3 class="wp-block-heading">  6. Debugging data in the UART</h3>

<p class="wp-block-paragraph">The emulator of GGreg20_V3 module outputs operational data (pulses, time, counts, cycles, etc.) to the UART console port during operation, which, if necessary, can be recorded and processed by the student, developer or radio amateur for training or comparison with the measurements of his tested or developed system.</p>

<p class="wp-block-paragraph">Genuine GGreg20_V3 counter modules and similar modules of other manufacturers do not and cannot have such a built-in feature.</p>

<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Note 2</strong>. To connect to the UART console, the <a href="https://iot-devices.com.ua/product-uk/esp12-oled-komplekt-2-kontroler-iot-bez-displeya-na-osnovi-esp8266-12f/">ESP12.OLED module</a> , on which the emulator is based, has separately led UART interface lines (2.54 mm pitch holes for soldering) on the PCB. To connect the emulator to the computer the user additionally needs to have his own USB-UART converter. Further in the text the connection diagram will be given.</p></blockquote>

<p class="wp-block-paragraph">The article will be continued in the following publications:<br/><a href="https://iot-devices.com.ua/en/?p=2822">Geiger counter emulator of GGreg20_V3 module by means of ESP8266 Part 2 Building the Emulator</a><br/>Geiger counter emulator of GGreg20_V3 module by means of ESP8266 Part 3: Testing and Conclusion</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Geiger counter emulator with pulse output GCemu20_V1</title>
		<link>https://iot-devices.com.ua/en/gcemu20_v1-geiger-counter-emulator-with-pulse-output-en/</link>
		
		<dc:creator><![CDATA[iot-guru]]></dc:creator>
		<pubDate>Thu, 23 Mar 2023 19:56:30 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[Geiger]]></category>
		<category><![CDATA[GGreg20_V3]]></category>
		<category><![CDATA[LUA]]></category>
		<category><![CDATA[NodeMCU]]></category>
		<guid isPermaLink="false">https://iot-devices.com.ua/?p=2769</guid>

					<description><![CDATA[Kyiv, Ukraine &#8211; IoT-devices, LLC, a leading provider of innovative IoT solutions, is thrilled to announce the launch of its latest product, the GCemu20_V1 Geiger Counter Emulator with Pulse Output. This device&#8217;s key feature is its ability to simulate radiation levels using a built-in generator of true random numbers. Additionally, the product offers five different [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Kyiv, Ukraine &#8211; IoT-devices, LLC, a leading provider of innovative IoT solutions, is thrilled to announce the launch of its latest product, the GCemu20_V1 Geiger Counter Emulator with Pulse Output. This device&#8217;s key feature is its ability to simulate radiation levels using a built-in generator of true random numbers. Additionally, the product offers five different radiation power modes that can be simulated, along with the ability to simulate a sensor error in one of its modes. The GCemu20_V1 is a product designed for radio amateurs and professionals, students and DIY enthusiasts.</p>

<div class="wp-block-image"><figure class="aligncenter size-large"><a href="https://iot-devices.com.ua/wp-content/uploads/2023/03/gcemu20_v1_eng_press-release-1024x683.png"><img loading="lazy" decoding="async" width="1024" height="683" src="https://iot-devices.com.ua/wp-content/uploads/2023/03/gcemu20_v1_eng_press-release-1024x683.png" alt="" class="wp-image-2765" srcset="https://iot-devices.com.ua/wp-content/uploads/2023/03/gcemu20_v1_eng_press-release-1024x683.png 1024w, https://iot-devices.com.ua/wp-content/uploads/2023/03/gcemu20_v1_eng_press-release-300x200.png 300w, https://iot-devices.com.ua/wp-content/uploads/2023/03/gcemu20_v1_eng_press-release-768x512.png 768w, https://iot-devices.com.ua/wp-content/uploads/2023/03/gcemu20_v1_eng_press-release-454x303.png 454w, https://iot-devices.com.ua/wp-content/uploads/2023/03/gcemu20_v1_eng_press-release.png 1500w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure></div>

<p class="wp-block-paragraph">The GCemu20_V1 is a compact device that simulates radiation sensors compared to real Geiger counter radiation sensors. Its advanced features make it ideal for testing various radiation detection applications.</p>

<p class="wp-block-paragraph">The GCemu20_V1 Geiger Counter Emulator with Pulse Output is not only a great tool for radio amateurs and DIY enthusiasts but also an ideal device for those involved in radiation detector development, tuning, testing, and studying.</p>

<p class="wp-block-paragraph">The GCemu20_V1 Geiger Counter Emulator with Pulse Output is a perfect choice for anyone needing to simulate radiation levels in their projects or for hobbyists interested in experimenting with radiation detection.</p>

<p class="wp-block-paragraph">&#8220;We are excited to introduce our latest product, the GCemu20_V1 Geiger Counter Emulator, to the B2C market,&#8221; said a company representative. &#8220;This device is designed specifically for radio amateurs and DIY enthusiasts who need to simulate radiation levels in their projects, and we are confident it will meet their unique needs.&#8221;</p>

<p class="wp-block-paragraph">The GCemu20_V1 Geiger Counter Emulator with Pulse Output is now available for purchase.</p>

<p class="wp-block-paragraph"></p>

<figure class="wp-block-table is-style-stripes"><table><tbody><tr><td>Tindie:</td><td><a href="https://www.tindie.com/products/iotdev/gcemu20_v1-geiger-counter-emulator/" target="_blank" rel="noopener">GCemu20_V1</a></td></tr><tr><td>iot-devices.com.ua:</td><td><a href="https://iot-devices.com.ua/en/product/gcemu20_v1-geiger-counter-emulator/">GCemu20_V1</a></td></tr></tbody></table></figure>

<p class="wp-block-paragraph">For more information, please visit the IoT-devices, LLC website.</p>

<h3 class="wp-block-heading">About IoT-devices,</h3>

<p class="wp-block-paragraph">LLC IoT-devices, LLC is a leading provider of innovative IoT solutions. Based in Kyiv, Ukraine, the company offers a wide range of products designed to help their clients to improve their Internet of Things knowledge and DIY experience and achieve their goals.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>A new end-user IoT product series are now developed in our Kyiv Lab</title>
		<link>https://iot-devices.com.ua/en/new-enduser-iot-product-series-are-now-developed-in-our-kyivlab-en/</link>
		
		<dc:creator><![CDATA[iot-guru]]></dc:creator>
		<pubDate>Sun, 18 Dec 2022 17:39:29 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[ESP32]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[ESPHome]]></category>
		<category><![CDATA[Home Assistant]]></category>
		<guid isPermaLink="false">https://iot-devices.com.ua/new-enduser-iot-product-series-are-now-developed-in-our-kyivlab/</guid>

					<description><![CDATA[We are not revealing the new line of our devices yet, but we are already demonstrating how the firmware code is being developed. For now, to satisfy curiosity, we can only say that these will be software and hardware IoT devices that have the following properties: dual purpose devices: stock and custom firmware; absence of [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">We are not revealing the new line of our devices yet, but we are already demonstrating how the firmware code is being developed.</p>

<p class="wp-block-paragraph">For now, to satisfy curiosity, we can only say that these will be software and hardware IoT devices that have the following properties:</p>

<ul class="wp-block-list"><li>dual purpose devices: stock and custom firmware;</li><li>absence of rigid binding to IoT-devices LLC as a vendor;</li><li>easy configuration and quick start of use;</li><li>Plug &amp; Play connection of additional sensors;</li><li>data proxy by nodes, as mesh networks do;</li><li>connectionless and serverless architecture;</li><li>component compatibility with ESPHome;</li><li>and thus support in Home Assistant.</li></ul>

<p class="wp-block-paragraph">On the screenshot, we solve the problem of connecting various sensors to the ESP8266 controller. More precisely, the task of compact and meaningful coding of measurement data into sensor packages so that they are useful for a mobile application that will process them on a smartphone and are readable enough for the users if they don&#8217;t want to use the app.</p>

<figure class="wp-block-image size-full"><a href="https://iot-devices.com.ua/wp-content/uploads/2022/12/iot-devices-llc-humanreadable_sensordata_2022-10-25_124527.jpg"><img loading="lazy" decoding="async" width="569" height="988" src="https://iot-devices.com.ua/wp-content/uploads/2022/12/iot-devices-llc-humanreadable_sensordata_2022-10-25_124527.jpg" alt="" class="wp-image-2536" srcset="https://iot-devices.com.ua/wp-content/uploads/2022/12/iot-devices-llc-humanreadable_sensordata_2022-10-25_124527.jpg 569w, https://iot-devices.com.ua/wp-content/uploads/2022/12/iot-devices-llc-humanreadable_sensordata_2022-10-25_124527-173x300.jpg 173w, https://iot-devices.com.ua/wp-content/uploads/2022/12/iot-devices-llc-humanreadable_sensordata_2022-10-25_124527-454x788.jpg 454w" sizes="(max-width: 569px) 100vw, 569px" /></a></figure>

<figure class="wp-block-image size-full"><a href="https://iot-devices.com.ua/wp-content/uploads/2022/12/iot-devices-llc-humanreadable_sensordata_2022-10-27.jpg"><img loading="lazy" decoding="async" width="483" height="776" src="https://iot-devices.com.ua/wp-content/uploads/2022/12/iot-devices-llc-humanreadable_sensordata_2022-10-27.jpg" alt="" class="wp-image-2539" srcset="https://iot-devices.com.ua/wp-content/uploads/2022/12/iot-devices-llc-humanreadable_sensordata_2022-10-27.jpg 483w, https://iot-devices.com.ua/wp-content/uploads/2022/12/iot-devices-llc-humanreadable_sensordata_2022-10-27-187x300.jpg 187w, https://iot-devices.com.ua/wp-content/uploads/2022/12/iot-devices-llc-humanreadable_sensordata_2022-10-27-454x729.jpg 454w" sizes="(max-width: 483px) 100vw, 483px" /></a></figure>

<p class="wp-block-paragraph"><br/>Most importantly, the new devices will have a dual purpose. The user can turn on the device he just bought with the firmware ready and immediately use its functions without complicated setup and connection procedures. Or he can develop his own firmware, because the well-known ESP8266 will be inside the devices.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>They write about our GGreg20_v3 module on Twitter</title>
		<link>https://iot-devices.com.ua/en/ggreg20_v3-twitter_en/</link>
		
		<dc:creator><![CDATA[iot-guru]]></dc:creator>
		<pubDate>Sun, 06 Nov 2022 20:10:55 +0000</pubDate>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[ESP12.OLED]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[ESPHome]]></category>
		<category><![CDATA[GGreg20_V3]]></category>
		<category><![CDATA[Home Assistant]]></category>
		<category><![CDATA[Twitter]]></category>
		<guid isPermaLink="false">https://iot-devices.com.ua/ggreg20_v3-twitter/</guid>

					<description><![CDATA[Our clients spoke about the features of using the GGreg20_v3 module. We are grateful for the high rating:]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Our clients spoke about the features of using the <a href="https://iot-devices.com.ua/en/product/ggreg20_v3-ionizing-radiation-detector-with-geiger-tube-sbm-20/">GGreg20_v3</a> module. We are grateful for the high rating:</p>

<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
<div class="oceanwp-oembed-wrap clr"><blockquote class="twitter-tweet" data-width="550" data-dnt="true"><p lang="en" dir="ltr">Absolutely brilliant <a href="https://twitter.com/hashtag/DIY?src=hash&amp;ref_src=twsrc%5Etfw" target="_blank" rel="noopener">#DIY</a> connected <a href="https://twitter.com/hashtag/Geiger?src=hash&amp;ref_src=twsrc%5Etfw" target="_blank" rel="noopener">#Geiger</a> counter, <a href="https://twitter.com/iotdevicescomua?ref_src=twsrc%5Etfw" target="_blank" rel="noopener">@iotdevicescomua</a>. Also appreciate the free <a href="https://twitter.com/home_assistant?ref_src=twsrc%5Etfw" target="_blank" rel="noopener">@home_assistant</a>/<a href="https://twitter.com/esphome_?ref_src=twsrc%5Etfw" target="_blank" rel="noopener">@esphome_</a> code. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f1fa-1f1e6.png" alt="🇺🇦" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://t.co/QoblsKuclB">pic.twitter.com/QoblsKuclB</a></p>&mdash; Manic Pixie Dream Grandpa (@sboger) <a href="https://twitter.com/sboger/status/1588745017497358336?ref_src=twsrc%5Etfw" target="_blank" rel="noopener">November 5, 2022</a></blockquote><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></div>
</div></figure>

<figure data-wp-context="{&quot;imageId&quot;:&quot;6a302e5254316&quot;}" data-wp-interactive="core/image" data-wp-key="6a302e5254316" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="952" height="911" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://iot-devices.com.ua/wp-content/uploads/2022/11/twitter_sboger_GGreg20_V3_HA-ESPHome.png" alt="" class="wp-image-4312" srcset="https://iot-devices.com.ua/wp-content/uploads/2022/11/twitter_sboger_GGreg20_V3_HA-ESPHome.png 952w, https://iot-devices.com.ua/wp-content/uploads/2022/11/twitter_sboger_GGreg20_V3_HA-ESPHome-300x287.png 300w, https://iot-devices.com.ua/wp-content/uploads/2022/11/twitter_sboger_GGreg20_V3_HA-ESPHome-768x735.png 768w, https://iot-devices.com.ua/wp-content/uploads/2022/11/twitter_sboger_GGreg20_V3_HA-ESPHome-454x434.png 454w" sizes="(max-width: 952px) 100vw, 952px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Connecting the GGreg20_V3 Radiation Sensor to the Home Assistant Server via ESP Home Integration – part 3</title>
		<link>https://iot-devices.com.ua/en/pidklyuchennya-sensora-radiacziyi-ggreg20_v3-do-servera-home-assistant-cherez-integracziyu-esp-home-3/</link>
		
		<dc:creator><![CDATA[iot-guru]]></dc:creator>
		<pubDate>Sat, 17 Sep 2022 05:39:21 +0000</pubDate>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[application-note]]></category>
		<category><![CDATA[ESP32]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[ESPHome]]></category>
		<category><![CDATA[GGreg20_V3]]></category>
		<category><![CDATA[Home Assistant]]></category>
		<guid isPermaLink="false">https://iot-devices.com.ua/pidklyuchennya-sensora-radiacziyi-ggreg20_v3-do-servera-home-assistant-cherez-integracziyu-esp-home-3/</guid>

					<description><![CDATA[We offer you the the last, third part of the description of the procedure of connecting the detector (sensor) GGreg20 in combination with the main controller ESP8266 or ESP32 to the Home Assistant server via the ESP Home plug-in. Second part of the description, see the link: Connecting the GGreg20_V3 Radiation Sensor to the Home [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">We offer you the the last, <strong>third part of the description</strong> of the procedure of connecting the detector (sensor) GGreg20 in combination with the main controller ESP8266 or ESP32 to the Home Assistant server via the ESP Home plug-in.</p>

<p class="wp-block-paragraph"><strong>Second part of the description,</strong> see the link: <strong><a href="https://iot-devices.com.ua/en/connecting-ggreg20_v3-radiation-sensor-to-home-assistant-server-via-esp-home-integration-part2/" class="rank-math-link">Connecting the GGreg20_V3 Radiation Sensor to the Home Assistant Server via ESP Home Integration &#8211; part 2</a></strong></p>

<p class="wp-block-paragraph"> </p>

<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Note</strong> . This publication is suitable for all versions of the ionizing radiation detector manufactured by IoT-devices: GGreg20_V1, GGreg20_V2, GGreg20_V3 <br/>Since the entire line of these detectors is focused on the SBM-20 tube, all versions of the devices have the same algorithm and coefficients for calculating the power level and dose of ionizing radiation.<br/>The accuracy of the measurement is affected only by the individual properties of the SBM-20 tube installed in each GGreg20_V3 detector. The specifications of the tube manufacturer indicate a limit range of measurement accuracy of <a rel="noreferrer noopener" href="https://zapadpribor.com/sbm20/" target="_blank">20%</a> . On practice, this means that two identical GGreg20 devices, but with different SBM-20 tubes, can give results (not more than) with the specified deviation in the number of pulses.</p></blockquote>

<h2 class="wp-block-heading">Steps to connect GGreg20 to Home Assistant – continued.</h2>

<h5 class="wp-block-heading">Step 8. Check the log of the new ESP8266 controller with GGreg20 connected<br/>Step 9. Check for new entities on the server side<br/>Step 10. Add GGreg20 radiation sensor widgets to the Dashboard<br/>Step 11. Add a push notification automation script to the Home Assistant application for crossing thresholds</h5>

<h3 class="wp-block-heading">Entities and values of the device on the server</h3>

<h4 class="wp-block-heading"><strong>Step 8</strong> . Check the log of the new ESP8266 controller with GGreg20 connected</h4>

<p class="wp-block-paragraph">Here is an example of an active device console with GGreg20 and yaml settings similar to the ones we developed above.</p>

<figure class="wp-block-image size-large"><a href="https://iot-devices.com.ua/wp-content/uploads/2021/07/image-13-1024x661.png"><img loading="lazy" decoding="async" width="1024" height="661" src="https://iot-devices.com.ua/wp-content/uploads/2021/07/image-13-1024x661.png" alt="" class="wp-image-1097" srcset="https://iot-devices.com.ua/wp-content/uploads/2021/07/image-13-1024x661.png 1024w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-13-454x293.png 454w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-13-300x194.png 300w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-13-768x496.png 768w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-13.png 1393w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>

<p class="wp-block-paragraph">Fig. Output to the device console (Logs) via the ESP Home interface</p>

<h4 class="wp-block-heading"><strong>Step 9</strong> . Check for new entities on the server side</h4>

<p class="wp-block-paragraph">There are two ways to verify that the corresponding GGreg20 entities are formed in the ESP Home plug-in and that the Home Assistant server sees them:</p>

<ul class="wp-block-list"><li>go to the Developer Tools menu on the sidebar of the Home Assistant interface and search for the relevant data as shown in Fig.</li></ul>

<figure class="wp-block-image size-large"><a href="https://iot-devices.com.ua/wp-content/uploads/2021/07/image-15-1024x778.png"><img loading="lazy" decoding="async" width="1024" height="778" src="https://iot-devices.com.ua/wp-content/uploads/2021/07/image-15-1024x778.png" alt="" class="wp-image-1100" srcset="https://iot-devices.com.ua/wp-content/uploads/2021/07/image-15-1024x778.png 1024w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-15-454x345.png 454w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-15-300x228.png 300w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-15-768x584.png 768w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-15.png 1104w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>

<p class="wp-block-paragraph">Fig. Find the right entities through the Developer Tools menu</p>

<ul class="wp-block-list"><li>or go to the menu Configuration -&gt; Integration and search as shown in the following figures.</li></ul>

<figure class="wp-block-image size-large"><a href="https://iot-devices.com.ua/wp-content/uploads/2021/07/image-17-1024x514.png"><img loading="lazy" decoding="async" width="1024" height="514" src="https://iot-devices.com.ua/wp-content/uploads/2021/07/image-17-1024x514.png" alt="" class="wp-image-1102" srcset="https://iot-devices.com.ua/wp-content/uploads/2021/07/image-17-1024x514.png 1024w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-17-454x228.png 454w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-17-300x151.png 300w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-17-768x385.png 768w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-17-1536x771.png 1536w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-17.png 1670w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>

<p class="wp-block-paragraph">Fig. Search for the desired entities through the menu Configuration -&gt; Integration</p>

<figure class="wp-block-image size-large"><a href="https://iot-devices.com.ua/wp-content/uploads/2021/07/image-18-1024x475.png"><img loading="lazy" decoding="async" width="1024" height="475" src="https://iot-devices.com.ua/wp-content/uploads/2021/07/image-18-1024x475.png" alt="" class="wp-image-1104" srcset="https://iot-devices.com.ua/wp-content/uploads/2021/07/image-18-1024x475.png 1024w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-18-454x211.png 454w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-18-300x139.png 300w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-18-768x356.png 768w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-18-1536x712.png 1536w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-18.png 1673w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>

<p class="wp-block-paragraph">Fig. Search for the required entities through the menu Configuration -&gt; Integration : Devices / Entities</p>

<h3 class="wp-block-heading">Visualization and Automation</h3>

<h4 class="wp-block-heading"><strong>Step 10</strong> . Add GGreg20 radiation sensor widgets to the Dashboard</h4>

<p class="wp-block-paragraph">Here is an example of a demo tab from an active server for two devices GGreg20_V1 and GGreg20_V3 located in different coordinate axes. Each device uses the same yaml file as we created above.</p>

<figure class="wp-block-image size-large"><a href="https://iot-devices.com.ua/wp-content/uploads/2021/07/image-14-1024x547.png"><img loading="lazy" decoding="async" width="1024" height="547" src="https://iot-devices.com.ua/wp-content/uploads/2021/07/image-14-1024x547.png" alt="" class="wp-image-1098" srcset="https://iot-devices.com.ua/wp-content/uploads/2021/07/image-14-1024x547.png 1024w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-14-454x243.png 454w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-14-300x160.png 300w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-14-768x410.png 768w, https://iot-devices.com.ua/wp-content/uploads/2021/07/image-14.png 1415w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>

<p class="wp-block-paragraph">Fig. The dashboard shows widgets with radiation level data from two sensors GGreg20_V1 and GGreg20_V3 located on different coordinate axes.</p>

<h4 class="wp-block-heading"><strong>Step 11</strong> . Add a push notification automation script to the Home Assistant application for crossing thresholds</h4>

<p class="wp-block-paragraph">Once we have made sure that the new device works and sends reliable data, it is possible to move on to the main task &#8211; Automation. This powerful tool is available to the administrator through the menu Configuration -&gt; Automation.</p>

<p class="wp-block-paragraph">Because the entities with the power and dose of ionizing radiation created by ESP Home are available through all components and functions of Home Assistant, the administrator can create any events, functions, scenarios with their use.</p>

<p class="wp-block-paragraph">For example, it is possible to create an automated exceeding notification of the normal power threshold of ionizing radiation with a message on a smartphone. And so on.</p>

<p class="wp-block-paragraph">However, these topics go far beyond this publication and we do not have the opportunity to consider them here.</p>

<h2 class="wp-block-heading">Conclusions</h2>

<p class="wp-block-paragraph">In parts <strong><a href="https://iot-devices.com.ua/en/connecting-ggreg20-radiation-sensor-to-home-assistant-server-via-esp-home-integration/" class="rank-math-link">one</a></strong> and <strong><a href="https://iot-devices.com.ua/en/connecting-ggreg20_v3-radiation-sensor-to-home-assistant-server-via-esp-home-integration-part2/" class="rank-math-link">two</a></strong> , we covered the steps</p>

<p class="wp-block-paragraph">Server<br/>Step 1. Install (or start) the Home Assistant server<br/><br/>ESP Home plugin for Home Assistant<br/>Step 2. Connect the ESP Home extension for the Home Assistant server via the Supervisor -&gt; Add-on Store menu<br/><br/>YAML-config of the new ESP device with GGreg<br/>Step 3. Download the ready example of a batch yaml-configuration file of the GGreg20_V3 device for ESP8266 from our website<br/>Step 4. Create (based on the example) in ESP Home the appropriate yaml configuration file<br/><br/>Hardware connection GGreg20_V3 and controller<br/>Step 5. Select the GPIO pin on the controller that will register the pulses from GGreg20<br/>Step 6. Connect the GGreg20_V3 radiation detector to the ESP8266 controller via the Out connector to the selected GPIO of the controller<br/><br/>Flashing the ESP device with GGreg<br/>Step 7. Build and write firmware for the controller</p>

<p class="wp-block-paragraph">Next, we performed the following steps to connect GGreg20 to Home Assistant:</p>

<h5 class="wp-block-heading">Step 8. Check the log of the new ESP8266 controller with GGreg20 connected<br/>Step 9. Check for new entities on the server side<br/>Step 10. Add GGreg20 radiation sensor widgets to the Dashboard<br/>Step 11. Add a push notification automation script to the Home Assistant application for crossing thresholds</h5>

<p class="wp-block-paragraph">We have considered in detail the easiest way to connect the GGreg20 detector with the ESP8266 controller to the Home Assistant server with the ESP Home plug-in.</p>

<p class="wp-block-paragraph">And we made sure that it is not difficult at all, because all the work for us is performed by :</p>

<ul class="wp-block-list"><li>Detector GGreg20_V3 &#8211; Immediately registers the pulses and transmits them to ESP8266;</li><li>ESP Home plugin &#8211; provides an interface for building firmware and programming ESP8266;</li><li>Ready-to-use yaml-file frees us from self-writing guidelines for sensor GGreg20;</li><li>The Home Assistant server allows us to conveniently connect, administer and receive information from any of our devices.</li></ul>

<p class="wp-block-paragraph">That&#8217;s all. Good luck!</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
