<?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/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Featured &#8211; Squix &#8211; TechBlog</title>
	<atom:link href="https://blog.squix.org/category/featured/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.squix.org</link>
	<description></description>
	<lastBuildDate>Sun, 16 Jul 2023 07:39:06 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5.8</generator>
<site xmlns="com-wordpress:feed-additions:1">121913304</site>	<item>
		<title>The ESP32 Color Kit Grande is here</title>
		<link>https://blog.squix.org/2023/07/the-esp32-color-kit-grande-is-here.html</link>
					<comments>https://blog.squix.org/2023/07/the-esp32-color-kit-grande-is-here.html#respond</comments>
		
		<dc:creator><![CDATA[Daniel Eichhorn]]></dc:creator>
		<pubDate>Sun, 16 Jul 2023 06:55:21 +0000</pubDate>
				<category><![CDATA[Common]]></category>
		<category><![CDATA[ESP32]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[WeatherStation]]></category>
		<guid isPermaLink="false">https://blog.squix.org/?p=8094</guid>

					<description><![CDATA[The Color Kit Grande is the latest update of the hardware kits which I started selling back in 2015. It started with the ESP8266 and a tiny B/W OLED display. A little later the ESP8266 Color Kit followed and added a bigger display with resistive touch screen to it. Buyers also had to do a bit of soldering to complete the kit.]]></description>
										<content:encoded><![CDATA[
<p>The Color Kit Grande is the latest update of the hardware kits which I started selling back in 2015. It started with the ESP8266 and a tiny B/W OLED display. A little later the ESP8266 Color Kit followed and added a bigger display with resistive touch screen to it. Buyers also had to do a bit of soldering to complete the kit.</p>



<span id="more-8094"></span>



<h2 class="wp-block-heading">The ePulse Feather </h2>



<p>The Color Kit Grande is the sum of many things Marcel and I learned in the last couple of years. We replaced the NodeMCU from the Classic Kit and the Wemos Mini from the Color Kit with our own ESP32 ePulse Feather. As the name indicates the ePulse Feather follows Adafruit&#8217;s Feather specification. The ePulse Feather is also very efficient when it comes power consumption: it only consumes down to 12uA when in deep sleep! A true IoT dev board should be powered by batteries and the ePulse Feather allows this with a LiPo charger and connector. And it uses the powerful ESP32 microcontroller which is a big upgrade compared to the ESP8266. More RAM, more flash, more cores, more possibilities!</p>



<iframe src="https://thingpulse.autodesk360.com/shares/public/SH35dfcQT936092f0e433233a4796e4fb61f?mode=embed" width="800" height="600" frameborder="0" allowfullscreen="allowfullscreen"></iframe>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">The Display Module</h2>



<p>But not only the microcontroller board got better compared the the older Color Kit. We also added a better display module. It communicates over SPI with the ePulse Feather to change the pixels on the display. The added PSRAM memory of the ePulse Feather allows us to write better looking programs with more colors!</p>



<p>We also replaced the (ancient) resistive touch screen with a capacitive module. This is the same technology that you know from modern smartphones and tablets and is much more precise and intuitive to use.</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" fetchpriority="high" decoding="async" width="730" height="279" data-attachment-id="8247" data-permalink="https://blog.squix.org/2023/07/the-esp32-color-kit-grande-is-here.html/image-3-6" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-3.png?fit=2166%2C826&amp;ssl=1" data-orig-size="2166,826" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image-3" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-3.png?fit=300%2C114&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-3.png?fit=730%2C279&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-3.png?resize=730%2C279&#038;ssl=1" alt="" class="wp-image-8247" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-3.png?resize=1024%2C391&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-3.png?resize=300%2C114&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-3.png?resize=768%2C293&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-3.png?resize=1536%2C586&amp;ssl=1 1536w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-3.png?resize=2048%2C781&amp;ssl=1 2048w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-3.png?w=1460&amp;ssl=1 1460w" sizes="(max-width: 730px) 100vw, 730px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">The Connector Board</h2>



<p>The ESP8266 Color Kit was the first of my kits to include a custom component and it required you to solder pin headers. The Color Kit Grande still has such a PCB which we call connector board. But this time we offer you various difficulties of soldering. There is a power switch with classic through hole soldering and a wide pin pitch with enough space for even a wide soldering tool.<br>The pin headers for the ePulse Feather are in 2.54mm pitch and are a bit more delicate but still not too hard for a beginner. We also added a Grove connector to connect to a wide range of sensors and actors using the same system. And the Grove connector is surface mounted which again is a bit more complicated to solder.</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" decoding="async" width="730" height="341" data-attachment-id="8241" data-permalink="https://blog.squix.org/2023/07/the-esp32-color-kit-grande-is-here.html/image-2-6" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-2.png?fit=3432%2C1602&amp;ssl=1" data-orig-size="3432,1602" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image-2" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-2.png?fit=300%2C140&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-2.png?fit=730%2C341&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-2.png?resize=730%2C341&#038;ssl=1" alt="" class="wp-image-8241" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-2.png?resize=1024%2C478&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-2.png?resize=300%2C140&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-2.png?resize=768%2C358&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-2.png?resize=1536%2C717&amp;ssl=1 1536w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-2.png?resize=2048%2C956&amp;ssl=1 2048w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-2.png?w=1460&amp;ssl=1 1460w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image-2.png?w=2190&amp;ssl=1 2190w" sizes="(max-width: 730px) 100vw, 730px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">The Kit Box</h2>



<p>Even with the kit box we learned from our older products: both the Classic Weather Station and the ESP8266 Color Kit came in a box which is 4cm high. This was sometimes problematic for shipping and added extra costs. The Color Kit Grande box is only 2cm high and everything fits neatly in it. The box even serves as a stand. How cool is that? </p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="653" data-attachment-id="8234" data-permalink="https://blog.squix.org/2023/07/the-esp32-color-kit-grande-is-here.html/image-90" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image.png?fit=2609%2C2333&amp;ssl=1" data-orig-size="2609,2333" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image.png?fit=300%2C268&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image.png?fit=730%2C653&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image.png?resize=730%2C653&#038;ssl=1" alt="" class="wp-image-8234" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image.png?resize=1024%2C916&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image.png?resize=300%2C268&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image.png?resize=768%2C687&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image.png?resize=1536%2C1374&amp;ssl=1 1536w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image.png?resize=2048%2C1831&amp;ssl=1 2048w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image.png?w=1460&amp;ssl=1 1460w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/07/image.png?w=2190&amp;ssl=1 2190w" sizes="(max-width: 730px) 100vw, 730px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">The New Weather App</h2>



<p>Not only the hardware is new, we also rewrote the popular weather app from scratch. More memory and more CPU power means that we have more colors to play with. To make setup of the development environment as easy as possible we decided to use platformio and Visual Studio Code. While the Arduino IDE is very good for beginners it makes it hard to ensure that every maker has the same setup on his/her machine. With platformio we can define the exact versions of libraries you use. No conflicts because of old and outdated dependencies! Just do the required changes in the settings.h file and upload the firmware!</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Where to buy</h2>



<p>The Color Kit Grande is available at the <a href="https://thingpulse.com/product/esp32-wifi-color-display-kit-grande/">ThingPulse web shop</a>. As you might know, I founded ThingPulse together with Marcel back in 2018 to professionalize the distribution of the projects posted on this blog. Since then we developed many new products together which are also available in the shop.</p>



<p><strong>Coupon</strong>: For the readers of my blog I have a special treat! Use the coupon code <strong>SQUIX-CKG </strong>to <strong>save USD $5</strong> when buying a Color Kit Grande in the <a rel="noreferrer noopener" href="https://thingpulse.com/product/esp32-wifi-color-display-kit-grande/" target="_blank">ThingPulse Shop</a>. Valid until July 31, 2023</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



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



<ul>
<li><a href="https://thingpulse.com/product/esp32-wifi-color-display-kit-grande/">Color Kit Grande Shop Page</a></li>



<li><a href="https://docs.thingpulse.com/guides/esp32-color-kit-grande/">Assembly and programming instructions</a></li>



<li><a href="https://github.com/ThingPulse/esp32-weather-station-touch">Weather Station Touch on Github</a></li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.squix.org/2023/07/the-esp32-color-kit-grande-is-here.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8094</post-id>	</item>
		<item>
		<title>ESP32: Cheap Sensor Network with OpenMQTTGateway</title>
		<link>https://blog.squix.org/2023/04/esp32-cheap-sensor-network-with-openmqttgateway.html</link>
					<comments>https://blog.squix.org/2023/04/esp32-cheap-sensor-network-with-openmqttgateway.html#respond</comments>
		
		<dc:creator><![CDATA[Daniel Eichhorn]]></dc:creator>
		<pubDate>Thu, 06 Apr 2023 07:29:43 +0000</pubDate>
				<category><![CDATA[Common]]></category>
		<category><![CDATA[Featured]]></category>
		<guid isPermaLink="false">https://blog.squix.org/?p=7976</guid>

					<description><![CDATA[perience of setting up an inexpensive room sensor network using an ESP32 and a couple of Xiaomi devices, with the help of the open source project OpenMQTTGateway.]]></description>
										<content:encoded><![CDATA[
<p>In this blog post, I will share my experience of setting up an inexpensive room sensor network using an ESP32 and a couple of Xiaomi devices, with the help of the open source project <a href="https://docs.openmqttgateway.com/">OpenMQTTGateway</a>.</p>



<span id="more-7976"></span>



<p>For a long time, I had been planning to build ESP32-based devices to measure the temperature in my apartment. In summer, visualizing the temperature helps in ventilating the apartment efficiently, while in winter, it helps to keep an eye on the humidity levels. However, more important projects kept taking precedence, and I never really got around to building the sensor network. That is until I discovered the <a href="https://docs.openmqttgateway.com/">OpenMQTTGateway</a> project.</p>



<p></p>



<h2 class="wp-block-heading">What is the OpenMQTTGateway?</h2>



<p>The OpenMQTTGateway is an open source project that may not seem like much, but it is incredibly effective. An ESP32 flashed with this firmware will scan for devices and read their values if possible. The gateway ESP32 will then publish the discovered devices to specific topics on a MQTT broker. If the firmware recognizes a device type and can communicate with it, it will also publish additional information. </p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="705" data-attachment-id="7977" data-permalink="https://blog.squix.org/2023/04/esp32-cheap-sensor-network-with-openmqttgateway.html/image-89" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/image.png?fit=1530%2C1478&amp;ssl=1" data-orig-size="1530,1478" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/image.png?fit=300%2C290&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/image.png?fit=730%2C705&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/image.png?resize=730%2C705&#038;ssl=1" alt="" class="wp-image-7977" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/image.png?resize=1024%2C989&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/image.png?resize=300%2C290&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/image.png?resize=768%2C742&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/image.png?w=1530&amp;ssl=1 1530w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/image.png?w=1460&amp;ssl=1 1460w" sizes="(max-width: 730px) 100vw, 730px" /></figure>



<p>The published information includes a plethora of data to play with, with each device having its own topic, and a JSON structure containing the collected information.</p>



<p></p>



<h2 class="wp-block-heading">Hardware: The Gateway</h2>



<p>To run OpenMQTTGateway, any ESP32 device can be used. However, to travel in style and maintain the aesthetics of my apartment, I opted for the <a href="https://thingpulse.com/product/espgateway/">ThingPulse ESPGateway</a>, which comes with a sleek enclosure and an external antenna that helps to communicate over a longer distance. For those who want to connect the gateway over Ethernet, the <a href="https://thingpulse.com/product/espgateway-ethernet-esp32-wifi-ble-gateway-with-rj45-ethernet-connector/">Ethernet the ESPGateway</a> is also a good choice.</p>



<figure class="wp-block-image"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/thingpulse.com/wp-content/uploads/2021/04/ESPGateway3-scaled.jpg?w=730&#038;ssl=1" alt=""/><figcaption>The ThingPulse ESPGateway looks nice in the apartment and the external antennas increase range</figcaption></figure>



<h2 class="wp-block-heading">Hardware: The Sensors</h2>



<p>For the room sensors, I used Xiaomi BLE sensors that are very affordable and measure temperature and humidity, communicating over Bluetooth LE. When purchased in bundles, these sensors can be found for <a href="https://s.click.aliexpress.com/e/_DdQuiI5">less than USD $5 on Aliexpress</a>. </p>



<p></p>



<figure class="wp-block-image"><img data-recalc-dims="1" height="411" width="730" decoding="async" src="https://i0.wp.com/thingpulse.com/wp-content/uploads/2021/04/XiaomiBLETempHum-1024x576.jpg?resize=730%2C411&#038;ssl=1" alt=""/></figure>



<p>By using a custom firmware that can be flashed using this <a href="https://github.com/atc1441/ATC_MiThermometer">GitHub project</a>, additional features can be added to the sensors.</p>



<p></p>



<h3 class="wp-block-heading">Plant Sensors</h3>



<p>Apart from the Xiaomi BLE Room sensors, there are many other devices that can communicate with the OpenMQTTGateway in my home. For instance, the <a href="https://s.click.aliexpress.com/e/_DFmtXnL">Xiaomi Flora Plant</a> sensors work exceptionally well to report soil humidity, temperature, and light. </p>



<p></p>



<figure class="wp-block-image"><img data-recalc-dims="1" height="411" width="730" decoding="async" src="https://i0.wp.com/thingpulse.com/wp-content/uploads/2021/04/BluetoothDevices-1024x576.jpg?resize=730%2C411&#038;ssl=1" alt="Xiaomi Flower Care Sensor"/></figure>



<h3 class="wp-block-heading">Presence Detection</h3>



<p>You can also use the OpenMQTTGateay to track the presence of devices in your apartment. For instance if you are wearing a Fit tracker like the <a href="https://s.click.aliexpress.com/e/_DCGCKbf">Xiaomi Mi Band</a> you can track the presence of the people wearing them. </p>



<h2 class="wp-block-heading">Storing, Controlling and Visualizing</h2>



<p>To store, control, and visualize the data, I have a Raspberry Pi 4 running the MQTT broker. A <a href="https://nodered.org/">Node-Red</a> instance takes the data and pushes it into an <a href="https://www.influxdata.com/">InfluxDB</a>. Then, <a href="https://grafana.com/">Grafana</a> is used to visualize the data over time. And this is how it looks for the Xiaomi room sensors:</p>



<p></p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="244" data-attachment-id="8005" data-permalink="https://blog.squix.org/2023/04/esp32-cheap-sensor-network-with-openmqttgateway.html/temperature" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Temperature.png?fit=2030%2C678&amp;ssl=1" data-orig-size="2030,678" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Temperature" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Temperature.png?fit=300%2C100&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Temperature.png?fit=730%2C244&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Temperature.png?resize=730%2C244&#038;ssl=1" alt="" class="wp-image-8005" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Temperature.png?resize=1024%2C342&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Temperature.png?resize=300%2C100&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Temperature.png?resize=768%2C257&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Temperature.png?resize=1536%2C513&amp;ssl=1 1536w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Temperature.png?w=2030&amp;ssl=1 2030w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Temperature.png?w=1460&amp;ssl=1 1460w" sizes="(max-width: 730px) 100vw, 730px" /></figure>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="244" data-attachment-id="8006" data-permalink="https://blog.squix.org/2023/04/esp32-cheap-sensor-network-with-openmqttgateway.html/humidity" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Humidity.png?fit=2028%2C678&amp;ssl=1" data-orig-size="2028,678" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Humidity" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Humidity.png?fit=300%2C100&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Humidity.png?fit=730%2C244&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Humidity.png?resize=730%2C244&#038;ssl=1" alt="" class="wp-image-8006" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Humidity.png?resize=1024%2C342&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Humidity.png?resize=300%2C100&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Humidity.png?resize=768%2C257&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Humidity.png?resize=1536%2C514&amp;ssl=1 1536w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Humidity.png?w=2028&amp;ssl=1 2028w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Humidity.png?w=1460&amp;ssl=1 1460w" sizes="(max-width: 730px) 100vw, 730px" /></figure>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="246" data-attachment-id="8007" data-permalink="https://blog.squix.org/2023/04/esp32-cheap-sensor-network-with-openmqttgateway.html/battery" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Battery.png?fit=2034%2C686&amp;ssl=1" data-orig-size="2034,686" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Battery" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Battery.png?fit=300%2C101&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Battery.png?fit=730%2C246&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Battery.png?resize=730%2C246&#038;ssl=1" alt="" class="wp-image-8007" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Battery.png?resize=1024%2C345&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Battery.png?resize=300%2C101&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Battery.png?resize=768%2C259&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Battery.png?resize=1536%2C518&amp;ssl=1 1536w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Battery.png?w=2034&amp;ssl=1 2034w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2023/04/Battery.png?w=1460&amp;ssl=1 1460w" sizes="(max-width: 730px) 100vw, 730px" /></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.squix.org/2023/04/esp32-cheap-sensor-network-with-openmqttgateway.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7976</post-id>	</item>
		<item>
		<title>Importing PCBs from EasyEDA into Fusion 360</title>
		<link>https://blog.squix.org/2022/05/importing-pcbs-from-easyeda-into-fusion-360.html</link>
					<comments>https://blog.squix.org/2022/05/importing-pcbs-from-easyeda-into-fusion-360.html#respond</comments>
		
		<dc:creator><![CDATA[Daniel Eichhorn]]></dc:creator>
		<pubDate>Thu, 05 May 2022 15:52:13 +0000</pubDate>
				<category><![CDATA[3D Printing]]></category>
		<category><![CDATA[Common]]></category>
		<category><![CDATA[Featured]]></category>
		<guid isPermaLink="false">https://blog.squix.org/?p=7559</guid>

					<description><![CDATA[I mostly use EasyEDA for PCB design: it is easy to use and ordering assembled PCBs from JLCPCB couldn&#8217;t be easier (and cheaper) with any other EDA tool. But exporting your PCB design from EasyEDA as a 3D object is really faulty. Often we want ... <p><a class="read-more btn btn-secondary" href="https://blog.squix.org/2022/05/importing-pcbs-from-easyeda-into-fusion-360.html">Read More</a></p>]]></description>
										<content:encoded><![CDATA[
<p>I mostly use EasyEDA for PCB design: it is easy to use and ordering assembled PCBs from JLCPCB couldn&#8217;t be easier (and cheaper) with any other EDA tool. But exporting your PCB design from EasyEDA as a 3D object is really faulty. Often we want to create an enclosure for a PCB and all connectors and buttons need to be in the right place. In this tutorial I show you my workflow from EasyEDA to Fusion 360.</p>



<span id="more-7559"></span>



<h2 class="wp-block-heading">Step by Step Instructions</h2>



<p>In EasyEDA:</p>



<ol><li>Export the layers as DXF file, File > Export > DXF&#8230;</li></ol>



<p>In Fusion 360:</p>



<ol><li>In a new design create a new component and activate it. </li><li>Import the DXF file: Insert > Insert DXF. In the dialog choose <em>One Sketch per Layer&#8230;</em></li><li>Create a new sketch on the same plane and call it PCB</li><li>Project (Shortcut &#8216;P&#8217;) all relevant and correct sketch features into the new sketch. <ul><li>Some elements might be wrong, in that case, import enough to fix them (see video).</li><li>Remove the checkbox behind &#8220;projection link&#8221;. This allows you to change projected lines independent from the imported sketches</li><li>Make sure the PCB outline is closed (the PCB in the sketch is light blue)</li></ul></li><li>Extrude (Shortcut &#8216;E&#8217;) the PCB downwards with the thickness you will order your PCBs with. <ul><li>In my case, I entered -1.6mm. </li><li>The sketch plane should be on top of the PCB. This will make it easier to align the electronic components later</li></ul></li><li>Create a new top-level component for every electronic part you wish to import. <ul><li>You don&#8217;t need to import every capacitor, chip, or resistor. You can of course, but this will be very tedious. </li><li>Only import parts that interact with the enclosure: plugs, buttons, sensor or the parts with the biggest height</li></ul></li></ol>



<p>In EasyEDA:</p>



<ol><li>Open the PCB view. Put your browser (e.g. Chrome) into inspect mode by right-clicking somewhere at the top of the browser window. </li><li>Open the tab to display network traffic (&#8220;Network&#8221; in Chrome).</li><li>In the PCB view select the component you want to export</li><li>In the right tab > Custom Properties > 3D Model click on the text field<ul><li>This will force EasyEDA to download the 3D model of this component.</li><li>In the inspect mode window two new lines appeared. </li></ul></li><li>Right-click on the last one and Choose &#8220;Open in new tab&#8221;. <ul><li>This will download the 3d model into your download folder</li></ul></li><li>Repeat this for every part you need in Fusion 360</li></ol>



<p>In the File Explorer/Finder</p>



<ol><li>Rename the file you just downloaded and add &#8220;.obj&#8221; as extension, e.g. &#8220;USB_C.obj&#8221;</li><li>Repeat this for every part</li></ol>



<p>In Fusion 360: </p>



<ol><li>Activate the component of the part you are going to import</li><li>Import the obj file: Insert > Insert Mesh<ul><li>Rotate the object in the correct direction</li><li>Place the object somewhere above its final location on the PCB</li></ul></li><li>If needed, repair the mesh: Mesh > Prepare > Repair&#8230;</li><li>Convert the Mesh: Modify > Convert Mesh&#8230;</li><li>Place the part: In the Solid workspace > Modify > Align<ul><li>Choose a feature on the part that you can also find on the PCB/ sketch</li><li>Use Flip/Angle to rotate the part until it fits</li><li>Sometimes you need several Align operations: e.g. first align x-axis and y-axis, then use another feature to align z-axis</li></ul></li><li>Repeat with all parts/ components</li></ol>



<p>Congratulations, you have successfully recreated the PCB and it&#8217;s most important components in Fusion 360. Now you can use this model to create your enclosure. But this is content for another post;-)</p>



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



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="EasyEDA to Fusion360" width="730" height="411" src="https://www.youtube.com/embed/zTzsuk3oeWc?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.squix.org/2022/05/importing-pcbs-from-easyeda-into-fusion-360.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7559</post-id>	</item>
		<item>
		<title>Ender 3 V2: 8 Reasons to Start with 3D Printing Now</title>
		<link>https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html</link>
					<comments>https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html#comments</comments>
		
		<dc:creator><![CDATA[Daniel Eichhorn]]></dc:creator>
		<pubDate>Thu, 21 Oct 2021 19:17:23 +0000</pubDate>
				<category><![CDATA[3D Printing]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[3d printing]]></category>
		<category><![CDATA[creality]]></category>
		<category><![CDATA[ender 3 v2]]></category>
		<category><![CDATA[review]]></category>
		<guid isPermaLink="false">https://blog.squix.org/?p=7024</guid>

					<description><![CDATA[If you are still looking for justifications to buy a 3D printer then this blog post is for you. Banggood recently sent me the Ender 3 V2 for review and wow, this is really a great printer! I had two other printers before but this ... <p><a class="read-more btn btn-secondary" href="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html">Read More</a></p>]]></description>
										<content:encoded><![CDATA[
<p>If you are still looking for justifications to buy a 3D printer then this blog post is for you. Banggood recently sent me the Ender 3 V2 for review and wow, this is really a great printer! I had two other printers before but this is the first printer I can wholeheartedly recommend for beginners with a small budget. And now let’s get started with the reasons why the Ender 3 V2 is the perfect beginner 3D printer and why you should start with 3D printing in the first place.</p>



<span id="more-7024"></span>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Ender 3 V2: 8 Reasons to Get Started With 3D Printing Now!" width="730" height="411" src="https://www.youtube.com/embed/dvazELDi0Fg?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Here is the transcript of the video above if you prefer reading over watching a video.</p>



<h2 class="wp-block-heading">Reason 1: Price</h2>



<p>Some years ago you had to pay thousands of dollars for a device like the Ultimaker 2 that would print in a reasonable quality. Today you can get 3D printers for less than 250$. The Creality Ender 3 V2 for instance costs only 215USD by using this link <a href="https://www.youtube.com/redirect?event=video_description&amp;redir_token=QUFFLUhqbUpHR3ZGemtDeER1dmp6RmpVUk9zeVF5V2ZjZ3xBQ3Jtc0tuSlRSNzVrb0VBQWhlSEJhVndiU2RZSmVpZTBuYXVQdzl5TnBBUDZZOXdBcjJIb0NqSFNuVWJhN3Y5S2llb3hUZDd1RzRhOWlDWm9iS0VpdDdkY0xOTHRnMFJNNzVOOEoxRkFYNHlNeVdYd05SbHo4UQ&amp;q=https%3A%2F%2Fban.ggood.vip%2F10cdb" rel="noreferrer noopener" target="_blank">https://ban.ggood.vip/10cdb</a> and with this coupon code: BG139c3c.</p>



<p></p>



<h2 class="wp-block-heading">Reason 2: Easy to Build</h2>



<p>It took me several hours to build my previous 3D printer. The Ender 3 V2 is much easier to build and all the tools are included. The base of the printer is already assembled and you only have to put together the upper part. It took me about 30minutes to assemble. There are many great assembly videos available, I used the one from Bryan Vines from youtube.</p>



<p>It’s a great video guide and Bryan shows the assembly step by step in a very structured way. Here is the link to his video: <a href="https://www.youtube.com/watch?v=L6FZjkWcW2g&amp;t=1492s">https://www.youtube.com/watch?v=L6FZjkWcW2g&amp;t=1492s</a></p>



<h2 class="wp-block-heading">Reason 3: Easy to Use</h2>



<p>Once you have built the 3D printer you want it to print as easily and reliable as possible. The Ender 3 V2 comes with a nice display and jog wheel to control all the settings. You copy the files for 3D printing on a mini SD card and insert it into the Ender 3. Then you select the file with the jog wheel and off you go!</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="411" data-attachment-id="7027" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/ender3v2_controller" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Ender3V2_Controller.jpg?fit=1280%2C720&amp;ssl=1" data-orig-size="1280,720" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Ender3V2_Controller" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Ender3V2_Controller.jpg?fit=300%2C169&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Ender3V2_Controller.jpg?fit=730%2C411&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Ender3V2_Controller.jpg?resize=730%2C411&#038;ssl=1" alt="" class="wp-image-7027" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Ender3V2_Controller.jpg?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Ender3V2_Controller.jpg?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Ender3V2_Controller.jpg?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Ender3V2_Controller.jpg?w=1280&amp;ssl=1 1280w" sizes="(max-width: 730px) 100vw, 730px" /></figure>



<h2 class="wp-block-heading">Reason 4: Great Quality</h2>



<p>To me, the quality of a 3D-printed object is important. While my previous low-cost printer produced mixed results I’m absolutely stoked by the quality of the objects printed with the Ender 3. It’s absolutely amazing, especially considering the price of this 3D printer! Objects from my old 3D printer had many artifacts called ghosting or ringing.</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="411" data-attachment-id="7028" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/ender3v2_xyzcube" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Ender3V2_XYZCube.jpg?fit=1280%2C720&amp;ssl=1" data-orig-size="1280,720" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Ender3V2_XYZCube" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Ender3V2_XYZCube.jpg?fit=300%2C169&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Ender3V2_XYZCube.jpg?fit=730%2C411&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Ender3V2_XYZCube.jpg?resize=730%2C411&#038;ssl=1" alt="" class="wp-image-7028" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Ender3V2_XYZCube.jpg?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Ender3V2_XYZCube.jpg?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Ender3V2_XYZCube.jpg?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Ender3V2_XYZCube.jpg?w=1280&amp;ssl=1 1280w" sizes="(max-width: 730px) 100vw, 730px" /></figure>



<p>Here you can see an example of ringing. The shapes continue to be visible due to the inertia of the print head. But my first print with the Ender 3 was just perfect!</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="411" data-attachment-id="7029" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/ringing" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/ringing.jpeg?fit=1284%2C722&amp;ssl=1" data-orig-size="1284,722" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="ringing" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/ringing.jpeg?fit=300%2C169&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/ringing.jpeg?fit=730%2C411&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/ringing.jpeg?resize=730%2C411&#038;ssl=1" alt="" class="wp-image-7029" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/ringing.jpeg?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/ringing.jpeg?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/ringing.jpeg?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/ringing.jpeg?w=1284&amp;ssl=1 1284w" sizes="(max-width: 730px) 100vw, 730px" /></figure>



<h2 class="wp-block-heading">What to print?</h2>



<p>You might say, that’s all good, but why do I need a 3D printer in the first place?</p>



<h2 class="wp-block-heading">Reason 5: It’s Good For The Environment and your Wallet</h2>



<p>How many devices end up in a landfill because a plastic part is broken? Two years ago my parents asked me for help. The handle to the freezer compartment of their fridge was broken. I drew the part in a program called Fusion 360 and printed it out. And it has been in good use since then. This saved my parents a ton of money and is much better for the environment.</p>



<figure data-carousel-extra='{"blog_id":1,"permalink":"https:\/\/blog.squix.org\/2021\/10\/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html"}'  class="wp-block-gallery columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="411" data-attachment-id="7030" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/freezerfusion360" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/FreezerFusion360.jpg?fit=1280%2C720&amp;ssl=1" data-orig-size="1280,720" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="FreezerFusion360" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/FreezerFusion360.jpg?fit=300%2C169&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/FreezerFusion360.jpg?fit=730%2C411&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/FreezerFusion360.jpg?resize=730%2C411&#038;ssl=1" alt="" data-id="7030" data-full-url="https://blog.squix.org/wp-content/uploads/2021/10/FreezerFusion360.jpg" data-link="https://blog.squix.org/?attachment_id=7030" class="wp-image-7030" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/FreezerFusion360.jpg?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/FreezerFusion360.jpg?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/FreezerFusion360.jpg?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/FreezerFusion360.jpg?w=1280&amp;ssl=1 1280w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="411" data-attachment-id="7031" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/freezerbrokenannew" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/FreezerBrokenAnNew.jpg?fit=1280%2C720&amp;ssl=1" data-orig-size="1280,720" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="FreezerBrokenAnNew" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/FreezerBrokenAnNew.jpg?fit=300%2C169&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/FreezerBrokenAnNew.jpg?fit=730%2C411&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/FreezerBrokenAnNew.jpg?resize=730%2C411&#038;ssl=1" alt="" data-id="7031" data-full-url="https://blog.squix.org/wp-content/uploads/2021/10/FreezerBrokenAnNew.jpg" data-link="https://blog.squix.org/?attachment_id=7031" class="wp-image-7031" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/FreezerBrokenAnNew.jpg?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/FreezerBrokenAnNew.jpg?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/FreezerBrokenAnNew.jpg?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/FreezerBrokenAnNew.jpg?w=1280&amp;ssl=1 1280w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li></ul></figure>



<p>Here is another example of saving money and tears. A plastic part of my daughter’s Mickey Mouse watch broke and she was very sad about it. I designed a replacement and printed it out.</p>



<figure data-carousel-extra='{"blog_id":1,"permalink":"https:\/\/blog.squix.org\/2021\/10\/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html"}'  class="wp-block-gallery columns-2 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="548" data-attachment-id="7032" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/img_7130" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7130-scaled.jpg?fit=2560%2C1920&amp;ssl=1" data-orig-size="2560,1920" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;2.2&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 6s&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1453497622&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.15&quot;,&quot;iso&quot;:&quot;250&quot;,&quot;shutter_speed&quot;:&quot;0.058823529411765&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="IMG_7130" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7130-scaled.jpg?fit=300%2C225&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7130-scaled.jpg?fit=730%2C548&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7130.jpg?resize=730%2C548&#038;ssl=1" alt="" data-id="7032" data-full-url="https://blog.squix.org/wp-content/uploads/2021/10/IMG_7130-scaled.jpg" data-link="https://blog.squix.org/?attachment_id=7032" class="wp-image-7032" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7130-scaled.jpg?resize=1024%2C768&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7130-scaled.jpg?resize=300%2C225&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7130-scaled.jpg?resize=768%2C576&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7130-scaled.jpg?resize=1536%2C1152&amp;ssl=1 1536w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7130-scaled.jpg?resize=2048%2C1536&amp;ssl=1 2048w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7130-scaled.jpg?resize=100%2C75&amp;ssl=1 100w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7130-scaled.jpg?resize=935%2C700&amp;ssl=1 935w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7130-scaled.jpg?w=1460&amp;ssl=1 1460w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7130-scaled.jpg?w=2190&amp;ssl=1 2190w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="548" data-attachment-id="7033" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/img_7131" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7131-scaled.jpg?fit=2560%2C1920&amp;ssl=1" data-orig-size="2560,1920" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;2.2&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 6s&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1453498001&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.15&quot;,&quot;iso&quot;:&quot;320&quot;,&quot;shutter_speed&quot;:&quot;0.058823529411765&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="IMG_7131" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7131-scaled.jpg?fit=300%2C225&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7131-scaled.jpg?fit=730%2C548&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7131.jpg?resize=730%2C548&#038;ssl=1" alt="" data-id="7033" data-full-url="https://blog.squix.org/wp-content/uploads/2021/10/IMG_7131-scaled.jpg" data-link="https://blog.squix.org/?attachment_id=7033" class="wp-image-7033" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7131-scaled.jpg?resize=1024%2C768&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7131-scaled.jpg?resize=300%2C225&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7131-scaled.jpg?resize=768%2C576&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7131-scaled.jpg?resize=1536%2C1152&amp;ssl=1 1536w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7131-scaled.jpg?resize=2048%2C1536&amp;ssl=1 2048w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7131-scaled.jpg?resize=100%2C75&amp;ssl=1 100w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7131-scaled.jpg?resize=935%2C700&amp;ssl=1 935w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7131-scaled.jpg?w=1460&amp;ssl=1 1460w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_7131-scaled.jpg?w=2190&amp;ssl=1 2190w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li></ul></figure>





<p>The axle of the cable car broke. Design a replacement and print it out. And the kids can keep playing.</p>



<figure data-carousel-extra='{"blog_id":1,"permalink":"https:\/\/blog.squix.org\/2021\/10\/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html"}'  class="wp-block-gallery columns-3 is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="730" data-attachment-id="7034" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/cablecar4" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar4.jpeg?fit=2048%2C2048&amp;ssl=1" data-orig-size="2048,2048" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="CableCar4" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar4.jpeg?fit=300%2C300&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar4.jpeg?fit=730%2C730&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar4.jpeg?resize=730%2C730&#038;ssl=1" alt="" data-id="7034" data-full-url="https://blog.squix.org/wp-content/uploads/2021/10/CableCar4.jpeg" data-link="https://blog.squix.org/?attachment_id=7034" class="wp-image-7034" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar4.jpeg?resize=1024%2C1024&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar4.jpeg?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar4.jpeg?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar4.jpeg?resize=768%2C768&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar4.jpeg?resize=1536%2C1536&amp;ssl=1 1536w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar4.jpeg?w=2048&amp;ssl=1 2048w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar4.jpeg?resize=120%2C120&amp;ssl=1 120w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar4.jpeg?w=1460&amp;ssl=1 1460w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="973" data-attachment-id="7035" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/cablecar2" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar2.jpeg?fit=1536%2C2048&amp;ssl=1" data-orig-size="1536,2048" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="CableCar2" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar2.jpeg?fit=225%2C300&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar2.jpeg?fit=730%2C973&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar2.jpeg?resize=730%2C973&#038;ssl=1" alt="" data-id="7035" data-full-url="https://blog.squix.org/wp-content/uploads/2021/10/CableCar2.jpeg" data-link="https://blog.squix.org/?attachment_id=7035" class="wp-image-7035" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar2.jpeg?resize=768%2C1024&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar2.jpeg?resize=225%2C300&amp;ssl=1 225w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar2.jpeg?resize=1152%2C1536&amp;ssl=1 1152w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar2.jpeg?w=1536&amp;ssl=1 1536w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar2.jpeg?w=1460&amp;ssl=1 1460w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="973" data-attachment-id="7036" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/cablecar1" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar1.jpeg?fit=1536%2C2048&amp;ssl=1" data-orig-size="1536,2048" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="CableCar1" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar1.jpeg?fit=225%2C300&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar1.jpeg?fit=730%2C973&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar1.jpeg?resize=730%2C973&#038;ssl=1" alt="" data-id="7036" data-full-url="https://blog.squix.org/wp-content/uploads/2021/10/CableCar1.jpeg" data-link="https://blog.squix.org/?attachment_id=7036" class="wp-image-7036" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar1.jpeg?resize=768%2C1024&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar1.jpeg?resize=225%2C300&amp;ssl=1 225w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar1.jpeg?resize=1152%2C1536&amp;ssl=1 1152w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar1.jpeg?w=1536&amp;ssl=1 1536w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/CableCar1.jpeg?w=1460&amp;ssl=1 1460w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li></ul></figure>



<h2 class="wp-block-heading">Reason 6: Education</h2>



<p>You can also use drawing on the computer and 3D printing for education. I designed several projects together with my daughter. She wanted to have another hat for the second snowman in her winter diorama. I told her we could do it, but only if she helped me design it. We had lots of fun together! Of course, you have to adapt the challenge to your kid’s age.</p>



<figure data-carousel-extra='{"blog_id":1,"permalink":"https:\/\/blog.squix.org\/2021\/10\/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html"}'  class="wp-block-gallery columns-3 is-cropped wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="411" data-attachment-id="7038" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/snowmanhatfusionoriginalandclone" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatFusionOriginalAndClone.jpg?fit=1280%2C720&amp;ssl=1" data-orig-size="1280,720" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="SnowManHatFusionOriginalAndClone" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatFusionOriginalAndClone.jpg?fit=300%2C169&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatFusionOriginalAndClone.jpg?fit=730%2C411&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatFusionOriginalAndClone.jpg?resize=730%2C411&#038;ssl=1" alt="" data-id="7038" data-full-url="https://blog.squix.org/wp-content/uploads/2021/10/SnowManHatFusionOriginalAndClone.jpg" data-link="https://blog.squix.org/?attachment_id=7038" class="wp-image-7038" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatFusionOriginalAndClone.jpg?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatFusionOriginalAndClone.jpg?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatFusionOriginalAndClone.jpg?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatFusionOriginalAndClone.jpg?w=1280&amp;ssl=1 1280w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="411" data-attachment-id="7039" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/snowmanhatfusion" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatFusion.jpg?fit=1280%2C720&amp;ssl=1" data-orig-size="1280,720" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="SnowManHatFusion" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatFusion.jpg?fit=300%2C169&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatFusion.jpg?fit=730%2C411&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatFusion.jpg?resize=730%2C411&#038;ssl=1" alt="" data-id="7039" data-full-url="https://blog.squix.org/wp-content/uploads/2021/10/SnowManHatFusion.jpg" data-link="https://blog.squix.org/?attachment_id=7039" class="wp-image-7039" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatFusion.jpg?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatFusion.jpg?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatFusion.jpg?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatFusion.jpg?w=1280&amp;ssl=1 1280w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="411" data-attachment-id="7040" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/snowmanhatdiorama" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatDiorama.jpg?fit=1280%2C720&amp;ssl=1" data-orig-size="1280,720" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="SnowManHatDiorama" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatDiorama.jpg?fit=300%2C169&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatDiorama.jpg?fit=730%2C411&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatDiorama.jpg?resize=730%2C411&#038;ssl=1" alt="" data-id="7040" data-full-url="https://blog.squix.org/wp-content/uploads/2021/10/SnowManHatDiorama.jpg" data-link="https://blog.squix.org/?attachment_id=7040" class="wp-image-7040" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatDiorama.jpg?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatDiorama.jpg?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatDiorama.jpg?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/SnowManHatDiorama.jpg?w=1280&amp;ssl=1 1280w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li></ul></figure>



<h2 class="wp-block-heading">Reason 7: Customization</h2>



<p>You can use 3D printing to fix items or create copies of existing objects. But you can also create objects that just didn’t exist yet. Here are some examples. This is a 3D-printed hanger for the lamps on our balcony.</p>



<figure data-carousel-extra='{"blog_id":1,"permalink":"https:\/\/blog.squix.org\/2021\/10\/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html"}'  class="wp-block-gallery columns-2 is-cropped wp-block-gallery-5 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="730" data-attachment-id="7041" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/balconyhanger2" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/BalconyHanger2.jpeg?fit=1024%2C1024&amp;ssl=1" data-orig-size="1024,1024" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="BalconyHanger2" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/BalconyHanger2.jpeg?fit=300%2C300&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/BalconyHanger2.jpeg?fit=730%2C730&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/BalconyHanger2.jpeg?resize=730%2C730&#038;ssl=1" alt="" data-id="7041" data-full-url="https://blog.squix.org/wp-content/uploads/2021/10/BalconyHanger2.jpeg" data-link="https://blog.squix.org/?attachment_id=7041" class="wp-image-7041" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/BalconyHanger2.jpeg?w=1024&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/BalconyHanger2.jpeg?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/BalconyHanger2.jpeg?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/BalconyHanger2.jpeg?resize=768%2C768&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/BalconyHanger2.jpeg?resize=120%2C120&amp;ssl=1 120w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="411" data-attachment-id="7042" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/balconyhanger" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/BalconyHanger.jpg?fit=1280%2C720&amp;ssl=1" data-orig-size="1280,720" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="BalconyHanger" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/BalconyHanger.jpg?fit=300%2C169&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/BalconyHanger.jpg?fit=730%2C411&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/BalconyHanger.jpg?resize=730%2C411&#038;ssl=1" alt="" data-id="7042" data-full-url="https://blog.squix.org/wp-content/uploads/2021/10/BalconyHanger.jpg" data-link="https://blog.squix.org/?attachment_id=7042" class="wp-image-7042" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/BalconyHanger.jpg?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/BalconyHanger.jpg?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/BalconyHanger.jpg?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/BalconyHanger.jpg?w=1280&amp;ssl=1 1280w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li></ul></figure>



<p><br></p>



<p>Here we have a holder for the razor in the shower.</p>



<figure data-carousel-extra='{"blog_id":1,"permalink":"https:\/\/blog.squix.org\/2021\/10\/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html"}'  class="wp-block-gallery columns-2 is-cropped wp-block-gallery-6 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="730" data-attachment-id="7043" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/razor-holder2" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder2.jpeg?fit=1536%2C1536&amp;ssl=1" data-orig-size="1536,1536" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Razor-Holder2" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder2.jpeg?fit=300%2C300&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder2.jpeg?fit=730%2C730&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder2.jpeg?resize=730%2C730&#038;ssl=1" alt="" data-id="7043" data-full-url="https://blog.squix.org/wp-content/uploads/2021/10/Razor-Holder2.jpeg" data-link="https://blog.squix.org/?attachment_id=7043" class="wp-image-7043" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder2.jpeg?resize=1024%2C1024&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder2.jpeg?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder2.jpeg?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder2.jpeg?resize=768%2C768&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder2.jpeg?w=1536&amp;ssl=1 1536w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder2.jpeg?resize=120%2C120&amp;ssl=1 120w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder2.jpeg?w=1460&amp;ssl=1 1460w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="730" data-attachment-id="7044" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/razor-holder" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder.jpeg?fit=1536%2C1536&amp;ssl=1" data-orig-size="1536,1536" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Razor-Holder" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder.jpeg?fit=300%2C300&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder.jpeg?fit=730%2C730&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder.jpeg?resize=730%2C730&#038;ssl=1" alt="" data-id="7044" data-full-url="https://blog.squix.org/wp-content/uploads/2021/10/Razor-Holder.jpeg" data-link="https://blog.squix.org/?attachment_id=7044" class="wp-image-7044" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder.jpeg?resize=1024%2C1024&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder.jpeg?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder.jpeg?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder.jpeg?resize=768%2C768&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder.jpeg?w=1536&amp;ssl=1 1536w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder.jpeg?resize=120%2C120&amp;ssl=1 120w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/Razor-Holder.jpeg?w=1460&amp;ssl=1 1460w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li></ul></figure>



<p>A customized iPhone enclosure printed with flexible TPU filament.</p>



<p></p>



<figure data-carousel-extra='{"blog_id":1,"permalink":"https:\/\/blog.squix.org\/2021\/10\/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html"}'  class="wp-block-gallery columns-2 is-cropped wp-block-gallery-7 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="411" data-attachment-id="7045" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/iphonecasetpu" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/iPhoneCaseTPU.jpg?fit=1280%2C720&amp;ssl=1" data-orig-size="1280,720" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="iPhoneCaseTPU" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/iPhoneCaseTPU.jpg?fit=300%2C169&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/iPhoneCaseTPU.jpg?fit=730%2C411&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/iPhoneCaseTPU.jpg?resize=730%2C411&#038;ssl=1" alt="" data-id="7045" data-full-url="https://blog.squix.org/wp-content/uploads/2021/10/iPhoneCaseTPU.jpg" data-link="https://blog.squix.org/?attachment_id=7045" class="wp-image-7045" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/iPhoneCaseTPU.jpg?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/iPhoneCaseTPU.jpg?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/iPhoneCaseTPU.jpg?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/iPhoneCaseTPU.jpg?w=1280&amp;ssl=1 1280w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="973" data-attachment-id="7046" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/img_5234" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_5234-scaled.jpg?fit=1920%2C2560&amp;ssl=1" data-orig-size="1920,2560" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;2.4&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone XS&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1545659651&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;6&quot;,&quot;iso&quot;:&quot;500&quot;,&quot;shutter_speed&quot;:&quot;0.025&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="IMG_5234" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_5234-scaled.jpg?fit=225%2C300&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_5234-scaled.jpg?fit=730%2C973&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_5234.jpg?resize=730%2C973&#038;ssl=1" alt="" data-id="7046" data-full-url="https://blog.squix.org/wp-content/uploads/2021/10/IMG_5234-scaled.jpg" data-link="https://blog.squix.org/?attachment_id=7046" class="wp-image-7046" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_5234-scaled.jpg?resize=768%2C1024&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_5234-scaled.jpg?resize=225%2C300&amp;ssl=1 225w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_5234-scaled.jpg?resize=1152%2C1536&amp;ssl=1 1152w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_5234-scaled.jpg?resize=1536%2C2048&amp;ssl=1 1536w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_5234-scaled.jpg?w=1920&amp;ssl=1 1920w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/IMG_5234-scaled.jpg?w=1460&amp;ssl=1 1460w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li></ul></figure>



<h2 class="wp-block-heading">Reason 8: Available Models</h2>



<p>If you are not interested in designing your own objects there are platforms where you can download many ready-to-print models, often without extra costs. I found this lift for my daughter’s Gravitrax lift on <a href="https://www.thingiverse.com/thing:4178353">Thingiverse</a> and printed it out.</p>



<figure data-carousel-extra='{"blog_id":1,"permalink":"https:\/\/blog.squix.org\/2021\/10\/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html"}'  class="wp-block-gallery columns-2 is-cropped wp-block-gallery-8 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="411" data-attachment-id="7047" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/gravitraxlift1" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/GravitraxLift1.jpg?fit=1280%2C720&amp;ssl=1" data-orig-size="1280,720" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="GravitraxLift1" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/GravitraxLift1.jpg?fit=300%2C169&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/GravitraxLift1.jpg?fit=730%2C411&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/GravitraxLift1.jpg?resize=730%2C411&#038;ssl=1" alt="" data-id="7047" data-full-url="https://blog.squix.org/wp-content/uploads/2021/10/GravitraxLift1.jpg" data-link="https://blog.squix.org/?attachment_id=7047" class="wp-image-7047" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/GravitraxLift1.jpg?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/GravitraxLift1.jpg?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/GravitraxLift1.jpg?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/GravitraxLift1.jpg?w=1280&amp;ssl=1 1280w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="411" data-attachment-id="7048" data-permalink="https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/gravitraxlift2" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/GravitraxLift2.jpg?fit=1280%2C720&amp;ssl=1" data-orig-size="1280,720" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="GravitraxLift2" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/GravitraxLift2.jpg?fit=300%2C169&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/GravitraxLift2.jpg?fit=730%2C411&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/GravitraxLift2.jpg?resize=730%2C411&#038;ssl=1" alt="" data-id="7048" data-full-url="https://blog.squix.org/wp-content/uploads/2021/10/GravitraxLift2.jpg" data-link="https://blog.squix.org/?attachment_id=7048" class="wp-image-7048" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/GravitraxLift2.jpg?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/GravitraxLift2.jpg?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/GravitraxLift2.jpg?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/10/GravitraxLift2.jpg?w=1280&amp;ssl=1 1280w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li></ul></figure>



<p>It requires a couple of additional items like a battery pack and a geared motor, but you can buy them for only a few dollars online. It was such a success that I printed more lifts for other kids with a Gravitrax track. And the best: you can’t even buy something similar from the original Gravitrax manufacturer off the shelf!</p>



<h2 class="wp-block-heading">Pros &amp; Cons</h2>



<p>Is everything just perfect with the Ender 3 V2? No, there is room for improvement. I really like the print quality and that the printer is so easy to build. Adjusting settings with the new controller is very convenient. And you also have to put this into the context of the price.</p>



<p>But the fans of the printer are very loud and I will try to replace them soon with something more silent. I don’t like the glass bed and will put a magnetic steel sheet instead. Another upgrade will be the BLTouch to automatically level the bed. But besides all that, I’m really happy with the Ender 3 V2!</p>



<p>If you liked this text or video and if you are planning to buy an Ender 3 V2 soon then please consider using <a href="https://ban.ggood.vip/10cdb">this link</a>. You help me to create more videos like this. With the coupon (BG139c3c) you can save 10% if you can order from one of Banggood’s European warehouses.</p>



<p>Do you have questions about the Ender 3 or 3D printing in general? Leave a comment below.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.squix.org/2021/10/ender-3-v2-8-reasons-to-start-with-3d-printing-now.html/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7024</post-id>	</item>
		<item>
		<title>How to use the LHT00SU1 Logic Analyzer on Mac OS X</title>
		<link>https://blog.squix.org/2021/09/how-to-use-the-lht00su1-logic-analyzer-on-mac-os-x.html</link>
					<comments>https://blog.squix.org/2021/09/how-to-use-the-lht00su1-logic-analyzer-on-mac-os-x.html#respond</comments>
		
		<dc:creator><![CDATA[Daniel Eichhorn]]></dc:creator>
		<pubDate>Thu, 23 Sep 2021 12:17:14 +0000</pubDate>
				<category><![CDATA[Common]]></category>
		<category><![CDATA[ESP32]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[IoT Products]]></category>
		<guid isPermaLink="false">https://blog.squix.org/?p=6981</guid>

					<description><![CDATA[Logic Analyzers can be quite useful to test and analyze hardware. In this short video I explain how to use the cheap LHT00SU1 logic analyzer together with PulseView on Mac OS X to test a new ESP32 development board. Here is the code used to ... <p><a class="read-more btn btn-secondary" href="https://blog.squix.org/2021/09/how-to-use-the-lht00su1-logic-analyzer-on-mac-os-x.html">Read More</a></p>]]></description>
										<content:encoded><![CDATA[
<p>Logic Analyzers can be quite useful to test and analyze hardware. In this short video I explain how to use the cheap LHT00SU1 logic analyzer together with PulseView on Mac OS X to test a new ESP32 development board.</p>



<span id="more-6981"></span>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="How to use the LHT00SU1 Logic Analyzer on Mac OS X" width="730" height="411" src="https://www.youtube.com/embed/PHADbXs1rJQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Here is the code used to create the signals</p>



<pre class="wp-block-code"><code>#include &lt;Arduino.h>

uint8_t pins &#91;] = {21, 19, 18, 5, 4, 34, 25, 26};

void setup() {
  Serial.begin(115200);
  for (uint8_t i = 0; i &lt; 7; i++) {
    pinMode(pins&#91;i], OUTPUT);
  }
}

void loop() {
  for (uint8_t pin = 0; pin &lt;= 7; pin++) {
    digitalWrite(pins&#91;pin], HIGH);
    delay(50);
    digitalWrite(pins&#91;pin], LOW);
    delay(50);
  }
  delay(500);
}</code></pre>



<p>And this is the recorded output:</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="297" data-attachment-id="6986" data-permalink="https://blog.squix.org/2021/09/how-to-use-the-lht00su1-logic-analyzer-on-mac-os-x.html/image-88" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/09/image.png?fit=3360%2C1364&amp;ssl=1" data-orig-size="3360,1364" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/09/image.png?fit=300%2C122&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/09/image.png?fit=730%2C297&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/09/image.png?resize=730%2C297&#038;ssl=1" alt="" class="wp-image-6986" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/09/image.png?resize=1024%2C416&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/09/image.png?resize=300%2C122&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/09/image.png?resize=768%2C312&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/09/image.png?resize=1536%2C624&amp;ssl=1 1536w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/09/image.png?resize=2048%2C831&amp;ssl=1 2048w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/09/image.png?w=1460&amp;ssl=1 1460w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/09/image.png?w=2190&amp;ssl=1 2190w" sizes="(max-width: 730px) 100vw, 730px" /></figure>



<p>There is one step missing. The area for this is marked. This behavior can be easily explained because GPIO35 (element 5 in the array) is a input-only pin. Therefore no state can be written to it by my program.</p>



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



<p>Link to LHT00SU1 Logic Analyzer on Banggood (~35USD): <br><a href="https://www.banggood.com/custlink/DmmY0l4fpW ">https://www.banggood.com/custlink/DmmY0l4fpW </a></p>



<p>Link to SigRok/ PulseView Open Source Software: <br><a href="https://sigrok.org/wiki/Downloads">https://sigrok.org/wiki/Downloads</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.squix.org/2021/09/how-to-use-the-lht00su1-logic-analyzer-on-mac-os-x.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6981</post-id>	</item>
		<item>
		<title>Alexa-Home, Node-Red and Docker</title>
		<link>https://blog.squix.org/2021/07/alexa-home-node-red-and-docker.html</link>
					<comments>https://blog.squix.org/2021/07/alexa-home-node-red-and-docker.html#respond</comments>
		
		<dc:creator><![CDATA[Daniel Eichhorn]]></dc:creator>
		<pubDate>Wed, 14 Jul 2021 20:29:58 +0000</pubDate>
				<category><![CDATA[Common]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[IoT Products]]></category>
		<category><![CDATA[alexa]]></category>
		<category><![CDATA[home-automation]]></category>
		<category><![CDATA[node-red]]></category>
		<guid isPermaLink="false">https://blog.squix.org/?p=6841</guid>

					<description><![CDATA[How do you add new virtual devices/commands in Node-Red so that Alexa can control them? There are great Node-Red extensions but things get more complicated if Node-Red is running in a docker container. In this blog post I share my take-aways from setting this up. ... <p><a class="read-more btn btn-secondary" href="https://blog.squix.org/2021/07/alexa-home-node-red-and-docker.html">Read More</a></p>]]></description>
										<content:encoded><![CDATA[
<p>How do you add new virtual devices/commands in Node-Red so that Alexa can control them? There are great Node-Red extensions but things get more complicated if Node-Red is running in a docker container. In this blog post I share my take-aways from setting this up.</p>



<span id="more-6841"></span>



<p>Voice assistants and smart home applications go together really well. For several years now we have an Echo Dot with Alexa running at home and I have connected more and more devices to it. Another important factor in my smart home setup is a Node-Red instance running in a docker container on a RaspberryPi 4. </p>



<h2 class="wp-block-heading">Why Running Node-Red in Docker?</h2>



<p>I probably could save myself some trouble if I would just install Node-Red as regular service on the base system on my Raspberry Pi. Especially where Node-Red needs direct access to RPi hardware resources. It took me quite some time to figure out how I can use the RPi Bluetooth device from within the docker container. In a nutshell: you have to use <em>network_mode: host</em> to share the BLE hardware between host and container.</p>



<p>But I believe that the benefits of running such applications like Node-Red in a docker container outweigh the trouble. Updating or trying out different configurations is super easy. And all the resources are cleanly separated from other containers running on the same machine.</p>



<h2 class="wp-block-heading">The Alexa-Home Node</h2>



<p>I have a couple of Tasmota powered Shelly devices, allowing me to control lights either with a regular light switch over WiFi. You can set up Tasmota devices to be discoverable by Alexa. Then with a simple &#8220;Alexa, turn on the corridor&#8221; you can control the lights in your corridor. But what if you want to make a new command accessible to Alexa that is not represented by a physical device?</p>



<p>This is where the Alexa-Home node comes in. The official name is <a href="https://flows.nodered.org/node/node-red-contrib-alexa-home">node-red-contrib-alexa-home</a> and this extension comes with two nodes: a controller and a device node. The controller lets you do some basic settings like the network port used for discovery while the device node lets you setup a virtual device.</p>



<p>So for instance I created a node called &#8220;Everything&#8221; and now I can turn off all lights by calling &#8220;Alexa, turn off Everything&#8221;. Nice, eh? But sadly this didn&#8217;t work right away. Once more I suspected the docker setup and I was correct.</p>



<h2 class="wp-block-heading">The Solution</h2>



<p>No matter what I tried, the virtual devices from Node-Red did not show up in Alexa&#8217;s device list. So I assumed some kind of networking issue. According to this <a href="https://github.com/vintlabs/fauxmoESP">github project</a> the device needs to listen on a certain port, for generation 3 devices this has to be port 80. Alexa must be able to download the file /alexa-home/setup.xml from the RPi. This file contains the device description.</p>



<p>That means we have to make sure that a request to the RPi is forwarded to our Node-Red container. Now the next steps depends on your setup. I&#8217;m running Node-Red together with MQTT from a docker-compose command. And as mentioned earlier this setup is using &#8220;network_mode: host&#8221;:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Setting <strong>network_mode</strong> to <strong>host</strong> allows the container to share the same network namespace as the <strong>host</strong> OS. When this is set, any ports exposed on the container will be exposed locally on the device. This is necessary for features such as bluetooth.</p><cite>Source: <a href="https://www.balena.io/docs/learn/develop/multicontainer/" target="_blank" rel="noreferrer noopener">https://www.balena.io/docs/learn/develop/multicontainer/</a></cite></blockquote>



<p>This means that I cannot do port mapping in the docker-compose file because host-mode together with port-mapping is not allowed. That means that the port which uses Alexa-Home to publish it&#8217;s setup.xml must be exposed from the Dockerfile. </p>



<p>I set my Alexa-Home controller node to port 80:</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="480" height="212" data-attachment-id="6849" data-permalink="https://blog.squix.org/2021/07/alexa-home-node-red-and-docker.html/image-7-4" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-7.png?fit=480%2C212&amp;ssl=1" data-orig-size="480,212" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image-7" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-7.png?fit=300%2C133&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-7.png?fit=480%2C212&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-7.png?resize=480%2C212&#038;ssl=1" alt="" class="wp-image-6849" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-7.png?w=480&amp;ssl=1 480w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-7.png?resize=300%2C133&amp;ssl=1 300w" sizes="(max-width: 480px) 100vw, 480px" /><figcaption>Alexa Home Controller Node, set to port 80</figcaption></figure>



<p>And in the Dockerfile I added</p>



<pre class="wp-block-code"><code>EXPOSE 80</code></pre>



<p>And that&#8217;s it! Rebuild the docker container and restart both containers with docker-compose. Now add an Alexa-Home node in your Node-Red web interface and set the device name in the node configuration. This is the name you will use to give commands for that virtual device. Then tell Alexa to &#8220;Discover devices&#8221;. After about 20 seconds she will tell you that she discovered your new device.</p>



<p>Now you can create nodes just like this one:</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="443" data-attachment-id="6852" data-permalink="https://blog.squix.org/2021/07/alexa-home-node-red-and-docker.html/image-8-4" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-8.png?fit=1802%2C1094&amp;ssl=1" data-orig-size="1802,1094" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image-8" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-8.png?fit=300%2C182&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-8.png?fit=730%2C443&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-8.png?resize=730%2C443&#038;ssl=1" alt="" class="wp-image-6852" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-8.png?resize=1024%2C622&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-8.png?resize=300%2C182&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-8.png?resize=768%2C466&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-8.png?resize=1536%2C933&amp;ssl=1 1536w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-8.png?w=1802&amp;ssl=1 1802w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-8.png?w=1460&amp;ssl=1 1460w" sizes="(max-width: 730px) 100vw, 730px" /><figcaption>The &#8220;Everything&#8221; node allows you to tell &#8220;Alexa, turn off everything&#8221;</figcaption></figure>



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



<p>Alexa and Node-Red can be a powerful team. You can create powerful commands in Node-Red which Alexa can understand. While you are limited to simple commands like &#8220;Turn On XXX&#8221; or &#8220;Dim XXX to 50%&#8221; you can get a long way with this. </p>



<p>Running Node-Red in a container is a powerful thing and has many benefits. But it also complicates things every once in a while. And connecting Alexa and Node-Red over the device discovery is such a thing. But if you are in this situation you&#8217;ll hopefully find this blog post and have it up and running in no time!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.squix.org/2021/07/alexa-home-node-red-and-docker.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6841</post-id>	</item>
		<item>
		<title>ESP32: Adding a Spectrum Analyzer to Bluetooth Audio</title>
		<link>https://blog.squix.org/2020/12/esp32-adding-a-spectrum-analyzer-to-bluetooth-audio.html</link>
					<comments>https://blog.squix.org/2020/12/esp32-adding-a-spectrum-analyzer-to-bluetooth-audio.html#comments</comments>
		
		<dc:creator><![CDATA[Daniel Eichhorn]]></dc:creator>
		<pubDate>Sun, 06 Dec 2020 18:30:22 +0000</pubDate>
				<category><![CDATA[Common]]></category>
		<category><![CDATA[ESP32]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[a2dp]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[fft]]></category>
		<category><![CDATA[Icon64]]></category>
		<guid isPermaLink="false">https://blog.squix.org/?p=6297</guid>

					<description><![CDATA[The ESP32 platform offers a wide range of functionality almost out of the box. For instance you can turn a ESP32 with little effort into a Bluetooth Audio speaker. In this article I describing how I tapped into the digital data stream coming from a ... <p><a class="read-more btn btn-secondary" href="https://blog.squix.org/2020/12/esp32-adding-a-spectrum-analyzer-to-bluetooth-audio.html">Read More</a></p>]]></description>
										<content:encoded><![CDATA[
<div style="height:26px" aria-hidden="true" class="wp-block-spacer"></div>



<p>The ESP32 platform offers a wide range of functionality almost out of the box. For instance you can turn a ESP32 with little effort into a Bluetooth Audio speaker. In this article I describing how I tapped into the digital data stream coming from a smartphone to visualize the music with a 8 band VU meter. The code is also a nice example how to you can use the full power of the two Tensilica Xtensa cores in the ESP32. </p>



<span id="more-6297"></span>



<p>The ESP32 is an amazing piece of hardware. It is very affordable, easy to use and comes with great libraries. One of those is the <a href="https://github.com/pschatzmann/ESP32-A2DP">esp32-a2dp library </a>by fellow Swiss Phil Schatzmann. With this library you can turn any ESP32 into a bluetooth sink or source. Using it as a sink effectively turns it into a Bluetooth speaker, using it as a source you can send music to a Bluetooth speaker. </p>



<p>Depending on your hardware, this is the minimal code to use the ESP32 as a bluetooth speaker, announcing its services as &#8220;MyMusic&#8221;:</p>



<pre class="wp-block-preformatted">#include "BluetoothA2DPSink.h"

BluetoothA2DPSink a2dp_sink;

void setup() {
    a2dp_sink.start("MyMusic");
}

void loop() {
}</pre>



<p>Wouldn&#8217;t it be nice to visualize the music you receive over Bluetooth? I always loved the spectrum analyzers which split the available frequency spectrum in several bands and displayed the intensity in those bands. In August 2019 <a href="https://blog.squix.org/2019/08/esp32-esp-eye-browser-based-spectrum-analyzer.html">I wrote a post</a> about how to do that in the browser with sound recorded on the ESP32. </p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



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



<p>Is it possible to get access the digital data stream received over Bluetooth? The A2DP library has a hook to register on events like &#8220;stream started&#8221; or &#8220;stream paused&#8221;. But there is no callback to tap into the audio data. </p>



<p>The library is actually a conveniency wrapper around the A2DP functionality in Espressif&#8217;s Audio Development Framework (ADF). It uses the <em>esp_a2d_sink_register_data_callback(..)</em> method to get the Bluetooth data stream. </p>



<p>By registering my own callback I could &#8220;slip in&#8221; between ADF and the A2DP library! Now my method with the signature </p>



<pre class="wp-block-preformatted"><em>void audio_data_callback(const uint8_t *data, uint32_t len)</em></pre>



<p>will be called from time to time with a pointer to the current music data package.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Not Enough Horsepower!</h2>



<p>A common method to visualize music is to take slices  and convert those into the frequency domain. Blocks with a length of a couple of milliseconds will then show which frequencies are currently active. The process to convert data from the time domain into the frequency domain requires quite a lot of calculations. One algorithm which can do this relatively efficiently is the Fast Fourier Transformation or short FFT.</p>



<p>So just like in my previous project I wrote code which would collect music data until a buffer was full. Then the code would run the FFT algorithm to get the content of the buffer as an array of discrete frequencies. This worked, but the music started to sound awful! Apparently the FFT algorithm took too much time to process the data and the output would stutter.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">If One Horse Can&#8217;t Do It&#8230;</h2>



<p>&#8230;two can! The ESP32 has two Tensilica Xtensa cores. Until now I never really had a use case where I needed to use the other core. I was also under the impression that you should leave that core alone since all the WiFi processing and other system tasks run on it. But why not give it a shot and do the Fast Fourier processing on the other core?</p>



<p>The revised code fills the buffer as before on core 0. But once the buffer is full it stops collecting data and notifies a task running on core 1 that it can start running the FFT processing on the buffer. Once the FFT processing is completed the code clusters the frequency information into 8 bands.</p>



<p>At this time the task on core 1 will tell the other task on core 0 that it can start again to fill the buffer. Core 1 doesn&#8217;t need the data in the buffer anymore. Now core 1 only needs to visualize the intensity of the 8 bands. </p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Multicore Programming</h2>



<p>The data collecting task and the FFT processing task have to communicate with each other. This has to happen thread-safe and if possible without blocking each other unnecessarily. I used a RTOS queue where the data collecting task places a message when the buffer is ready for processing. The FFT task on core 1 starts once it detects a message in the queue. When the buffer is ready for more data it removes the message from the queue. </p>



<p>I have to admit that I&#8217;m not sure if my solution is the correct or best way to solve this problem in RTOS. I tried with semaphores but always ended up that all tasks were blocked. Please let me know in the comments below how you would have implemented this. </p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



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



<p>The code I wrote should theoretically run with all DACs supported by the esp32-a2dp library with minor changes, even the internal ESP32 DAC. I wrote the code as a stock firmware for the <a href="https://thingpulse.com/product/icon64/">ThingPulse Icon64</a> device. You can see it in action in the video below.</p>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Icon64 Bluetooth Speaker and Spectrum analyzer" width="730" height="411" src="https://www.youtube.com/embed/1UpbtE98OBA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading">Get the Code</h2>



<p>I published the code for this project on <a href="https://github.com/thingpulse/esp32-icon64-a2dp">Github</a>. I hope you can profit from it! As I mentioned before, if you have suggestions how to improve the multi-tasking code or other aspects please let me know either in the comments below or on github!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.squix.org/2020/12/esp32-adding-a-spectrum-analyzer-to-bluetooth-audio.html/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6297</post-id>	</item>
		<item>
		<title>Creating Fritzing Parts from Eagle CAD .brd files</title>
		<link>https://blog.squix.org/2020/05/creating-fritzing-parts-from-eagle-cad-brd-files.html</link>
					<comments>https://blog.squix.org/2020/05/creating-fritzing-parts-from-eagle-cad-brd-files.html#respond</comments>
		
		<dc:creator><![CDATA[Daniel Eichhorn]]></dc:creator>
		<pubDate>Sun, 10 May 2020 07:06:43 +0000</pubDate>
				<category><![CDATA[Common]]></category>
		<category><![CDATA[Featured]]></category>
		<guid isPermaLink="false">https://blog.squix.org/?p=5010</guid>

					<description><![CDATA[Fritzing is a wonderful tool to document your electronic projects, if &#8211; and only if &#8211; the parts you use are available in the parts library. If you are designing parts yourself you can help the community by creating Fritzing parts for your designs. When ... <p><a class="read-more btn btn-secondary" href="https://blog.squix.org/2020/05/creating-fritzing-parts-from-eagle-cad-brd-files.html">Read More</a></p>]]></description>
										<content:encoded><![CDATA[
<p>Fritzing is a wonderful tool to document your electronic projects, if &#8211; and only if &#8211; the parts you use are available in the parts library. If you are designing parts yourself you can help the community by creating Fritzing parts for your designs.</p>



<span id="more-5010"></span>



<p>When we designed the <a href="https://blog.squix.org/2020/01/designing-the-esp32-dev-board-i-always-wanted.html">ThingPulse ePulse</a> board I knew I wanted to have a Fritzing part to document new projects with it. I had already designed parts for Fritzing before, but it was very consuming: you start with a similar component available in Fritzing and then modify it until it looks and behave the way you want it.</p>



<p>But there is an easier way. If you want to create a Fritzing Part for a component you design in Eagle CAD you can use a tool to do most of the conversion for you. It took me hours to compile that tool and work around some issues. The tools was original written by the Fritzing team, then improved by Adafruit. But it just wouldn&#8217;t compile on my Mac. </p>



<p>So I fixed some of the issues, simplified the setup and documented everything in the README file of the <a href="https://blog.squix.org/go/gh-eagle2fritzing">github repository</a>.</p>



<p>I hope this saves you a lot of time and creates lots of new parts!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.squix.org/2020/05/creating-fritzing-parts-from-eagle-cad-brd-files.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5010</post-id>	</item>
		<item>
		<title>ESP32 Low Power Device Design &#8211; Part 1</title>
		<link>https://blog.squix.org/2020/04/esp32-door-sensor-part-1.html</link>
					<comments>https://blog.squix.org/2020/04/esp32-door-sensor-part-1.html#comments</comments>
		
		<dc:creator><![CDATA[Daniel Eichhorn]]></dc:creator>
		<pubDate>Sun, 19 Apr 2020 13:27:05 +0000</pubDate>
				<category><![CDATA[ESP32]]></category>
		<category><![CDATA[Featured]]></category>
		<guid isPermaLink="false">https://blog.squix.org/?p=4938</guid>

					<description><![CDATA[The ESP32 is a remarkable chip. It has many peripherals, lots of processing power. With built-in WiFi und BLE support it offers two widely adopted communication protocols. And with the right circuitry and programming it can ran from batteries for a very long time. In ... <p><a class="read-more btn btn-secondary" href="https://blog.squix.org/2020/04/esp32-door-sensor-part-1.html">Read More</a></p>]]></description>
										<content:encoded><![CDATA[
<p>The ESP32 is a remarkable chip. It has many peripherals, lots of processing power. With built-in WiFi und BLE support it offers two widely adopted communication protocols. And with the right circuitry and programming it can ran from batteries for a very long time. In this post I&#8217;d like to share some lessons learned from designing a simple IoT application.</p>



<span id="more-4938"></span>



<p>In this post we will be designing a typical but simple IoT application: a mailbox sensor. Building a mailbox sensor might not be the most exciting project you will ever build. But it is a good example to show a couple of concepts. In this first part we will build a mailbox sensor which wakes up when the state of the mailbox door sensor changes. It then connects to WiFi and to an MQTT broker, sends the state of the door and goes back to sleep.</p>



<p>In the second part we will further improve battery lifetime by using the ESPNow protocol. This proprietary protocol allows the ESP32 to be awake only for a short time. This safes energy and also sends the door state notification much faster.</p>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Hardware Requirements</h2>



<p>This project is built around the ThingPulse ePulse dev board. This board is designed with battery driven projects in mind and consumes only 25uA in deep sleep. I was involved in designing this board. In <a href="https://blog.squix.org/2020/01/designing-the-esp32-dev-board-i-always-wanted.html">this post</a> I describe why this is the dev board I always wanted.</p>



<p>Further you will need a reed switch to sense the state of the mailbox door. Reed switches are mechanical contacts which change their state in the presence of a magnet. You can buy them either in their bare form as little glass tube or built into a plastic enclosure to be used as door sensor.</p>



<p>As power supply we will use a battery pack with 3xAAA batteries. You can also use a LiPo/Li-Ion battery pack or the smaller AA batteries. </p>



<div class="wp-block-media-text alignwide" style="grid-template-columns:31% auto"><figure class="wp-block-media-text__media"><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="730" data-attachment-id="4665" data-permalink="https://blog.squix.org/2020/01/esp32-epulse-taking-pre-orders.html/esp32_dev_board_front" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/01/ESP32_DEV_Board_Front.jpg?fit=1000%2C1000&amp;ssl=1" data-orig-size="1000,1000" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="ESP32_DEV_Board_Front" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/01/ESP32_DEV_Board_Front.jpg?fit=300%2C300&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/01/ESP32_DEV_Board_Front.jpg?fit=730%2C730&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/01/ESP32_DEV_Board_Front.jpg?resize=730%2C730&#038;ssl=1" alt="" class="wp-image-4665" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/01/ESP32_DEV_Board_Front.jpg?w=1000&amp;ssl=1 1000w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/01/ESP32_DEV_Board_Front.jpg?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/01/ESP32_DEV_Board_Front.jpg?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/01/ESP32_DEV_Board_Front.jpg?resize=768%2C768&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/01/ESP32_DEV_Board_Front.jpg?resize=120%2C120&amp;ssl=1 120w" sizes="(max-width: 730px) 100vw, 730px" /></figure><div class="wp-block-media-text__content">
<p>ThingPulse ePulse ESP32 Dev Board, consuming only 25uA in deep sleep. <br>USD $16.90 at <a href="https://blog.squix.org/go/tp-esp32-epulse">ThingPulse</a></p>
</div></div>



<div class="wp-block-media-text alignwide is-vertically-aligned-center" style="grid-template-columns:31% auto"><figure class="wp-block-media-text__media"><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="696" data-attachment-id="4942" data-permalink="https://blog.squix.org/2020/04/esp32-door-sensor-part-1.html/image-1-4" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/image-1.png?fit=1064%2C1014&amp;ssl=1" data-orig-size="1064,1014" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image-1" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/image-1.png?fit=300%2C286&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/image-1.png?fit=730%2C696&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/image-1.png?resize=730%2C696&#038;ssl=1" alt="" class="wp-image-4942" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/image-1.png?resize=1024%2C976&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/image-1.png?resize=300%2C286&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/image-1.png?resize=768%2C732&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/image-1.png?w=1064&amp;ssl=1 1064w" sizes="(max-width: 730px) 100vw, 730px" /></figure><div class="wp-block-media-text__content">
<p>3xAAA Battery Pack<br>USD $1.50 at <a href="https://www.banggood.com/3-Slots-AAA-Battery-Box-Battery-Holder-Board-for-3xAAA-Batteries-DIY-kit-Case-p-1472901.html?p=0P21061109440201501M">Banggood</a><br>(Affiliate Link)</p>
</div></div>



<div class="wp-block-media-text alignwide is-vertically-aligned-center" style="grid-template-columns:31% auto"><figure class="wp-block-media-text__media"><img data-recalc-dims="1" loading="lazy" decoding="async" width="730" height="727" data-attachment-id="4941" data-permalink="https://blog.squix.org/2020/04/esp32-door-sensor-part-1.html/image-85" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/image.png?fit=980%2C976&amp;ssl=1" data-orig-size="980,976" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/image.png?fit=300%2C300&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/image.png?fit=730%2C727&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/image.png?resize=730%2C727&#038;ssl=1" alt="" class="wp-image-4941" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/image.png?w=980&amp;ssl=1 980w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/image.png?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/image.png?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/image.png?resize=768%2C765&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/image.png?resize=120%2C120&amp;ssl=1 120w" sizes="(max-width: 730px) 100vw, 730px" /></figure><div class="wp-block-media-text__content">
<p>Door sensor<br>USD $1.80 at <a href="https://www.banggood.com/Recessed-Door-Window-Contacts-Magnetic-Reed-Security-Alarm-Switch-p-976715.html?p=0P21061109440201501M">Banggood</a><br>(Affiliate Link)</p>
</div></div>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Connecting Components</h2>



<p>Connecting the components is easy. Either you use a bread board to set everything up or you solder the battery pack and the door sensor directly to the ePulse dev board. When you get the ePulse dev board the male header pins are not soldered yet, so it is very easy to connect other components to it.</p>



<p>Connect the door sensor to GPIO15 and GND and the battery pack to VIN and GND. Make sure you get the polarity right!</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1160" height="1200" data-attachment-id="4943" data-permalink="https://blog.squix.org/2020/04/esp32-door-sensor-part-1.html/schema" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/schema.png?fit=1160%2C1200&amp;ssl=1" data-orig-size="1160,1200" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="schema" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/schema.png?fit=290%2C300&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/schema.png?fit=730%2C755&amp;ssl=1" src="https://i2.wp.com/blog.squix.org/wp-content/uploads/2020/04/schema.png?fit=730%2C755&amp;ssl=1" alt="" class="wp-image-4943" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/schema.png?w=1160&amp;ssl=1 1160w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/schema.png?resize=290%2C300&amp;ssl=1 290w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/schema.png?resize=990%2C1024&amp;ssl=1 990w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/schema.png?resize=768%2C794&amp;ssl=1 768w" sizes="(max-width: 730px) 100vw, 730px" /></figure>



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



<p>The software project I prepared here for this post assumes that you have a MQTT broker setup and available in the same network that the ESP32 will be connected to. In my setup the ePulse publishes the message to a MQTT broker running on a Raspberry Pi. The excellent Node-Red software also running on the Raspberry Pi is subscribed to the MQTT topic and forwards the message to the Pushbullet API. I then get a notification on my smartphone that the door has been opened.</p>



<p>MQTT is a good solution for this project because messages can be quickly pushed into a queue and the ESP32 can go back to sleep fast. In average one message push takes between 1.5s- 2s before the ESP32 enters deep sleep mode. </p>



<p>If you have git installed then do a</p>



<pre class="wp-block-code"><code>git clone https://github.com/squix78/esp32-door-sensor</code></pre>



<p>Alternatively you can also just download a zip file from github containing the project.  I&#8217;m using for most of my advanced project the platformio development platform with the Visual Studio Code editor. If you haven&#8217;t done so already head over to <a href="https://platformio.org/platformio-ide">https://platformio.org/platformio-ide</a> and download the Platformio IDE (which is VSCode + Platformio plugins). </p>



<p>Platformio offers many advantages over the Arduino IDE. The later was designed for beginners but as a professional software developer I am missing many features, such as dependency management. In this project I have already defined which libraries we need in the platformio.ini file. If we were to use the Arduino IDE you&#8217;d have to download the libraries manually.</p>



<p>Before we connect the ePulse to your computer and upload the firmware we have to make a few adjustments to your local setup. Open the settings.h file and change your WiFi and MQTT settings.</p>



<pre class="wp-block-code"><code>#define REED_PIN 15

#define WIFI_SSID "yourssid"
#define WIFI_PASSWORD "yourpassw0rd"

#define MQTT_HOST IPAddress(192, 168, 0, 100)
#define MQTT_PORT 1883

#define MQTT_TOPIC "ESPNOW/1"</code></pre>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Attention!: Programming the ePulse</h2>



<p>Every time you connect the ePulse to your computer make sure that the <strong>battery pack is empty</strong>. If you don&#8217;t you might either destroy your USB port, the ePulse or overheat the batteries. So: just make sure the battery pack is empty!</p>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Understanding the Code</h2>



<p>The code uses some interesting concepts which you might not be familiar with. This program is entirely event driven. This means that methods get called when certain events occur. Let&#8217;s have a look at the WiFi connection:</p>



<pre class="wp-block-code"><code>void setup() {
   ...
   WiFi.onEvent(WiFiEvent);
   ...
}</code></pre>



<p>This sets a callback method called WiFiEvent. This method get&#8217;s called whenever something happens to the WiFi connection:</p>



<pre class="wp-block-code"><code>void WiFiEvent(WiFiEvent_t event) {
    Serial.printf("[WiFi-event] event: %d\n", event);
    switch(event) {
    case SYSTEM_EVENT_STA_GOT_IP:
        Serial.println("WiFi connected");
        Serial.println("IP address: ");
        Serial.println(WiFi.localIP());
        connectToMqtt();
        break;
    }
}</code></pre>



<p>Here we are only handling the SYSTEM_EVENT_STA_GOT_IP. As soon as we have an IP we can connect to the MQTT broker. In many existing WiFi examples you have a loop which checks if the state of the WiFi is connected.</p>



<p> In software development we call this a &#8220;polling loop&#8221; which might cost more time (and energy) than necessary. By using a call back we get informed when the system is ready to proceed. </p>



<p>This pattern continues throughout the code: when the device is connected to the MQTT broker we publish the door state. When the message has been successfully sent we tell the device to sleep.</p>



<p>Once you get the hang of it this pattern is very convenient. </p>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Lessons Learned &#8211; Energy Consumption</h2>



<p>After I had the code running I wanted to make sure, that the door sensor really is as efficient as I expected it to be. I attached the excellent <a href="https://lowpowerlab.com/guide/currentranger/">CurrentRanger</a> device to measure the sleep consumption of the device. It turned out that it wasn&#8217;t efficient at all! </p>



<figure class="wp-block-image"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/lowpowerlab.com/wp-content/uploads/2018/09/Current_Ranger_R3_OLED.jpg?w=730&#038;ssl=1" alt="Current Ranger | LowPowerLab"/><figcaption>The CurrentRanger by <a href="https://lowpowerlab.com/guide/currentranger/">LowPowerLab</a> is an excellent device to measure deep sleep current of IoT devices. While your average multimeter will cause issues when measuring deep sleep current the CurrentRanger can handle it.</figcaption></figure>



<p>It consumed sometimes up to 1.5mA in deep sleep! This is about 60 worse than the 25uA I hoped for. So what caused this consumption? I tried many combinations: using the ext1 wakeup component rather than the ext0. Without setting the wakeup at all. Without WiFi. Many combinations used exactly the same high 1.5mA!</p>



<p>After many experiments I finally found <a href="https://github.com/espressif/arduino-esp32/issues/1113#issuecomment-494132709">this issue</a> on github which suggested to use </p>



<p><code>adc_power_off();</code></p>



<p>to power off the adc block before deep sleep. This finally fixed the issue. </p>



<p>Thanks to the CurrentRanger I discovered another problem. The internal pull up resistor consumes about 75uA in deep sleep when the door is closed. When the door is open the device only consumes 25uA in deep sleep. </p>



<p>Because of this I will probably install the sensor in the mailbox so that it triggers when the lid is moved. For this particular application I&#8217;m more interested, that there was movement rather than the actual state of the door/lid.</p>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">3D Printed Enclosure</h2>



<p>Dangling wires above your door frame are not really family friendly. So I  designed a simple box which fits all components neatly. The lid and the box have snap-fit design and close without screws. You can download the STL files <a href="https://blog.squix.org/go/tv-door-sensor-box">from thingiverse</a>. </p>



<figure data-carousel-extra='{"blog_id":1,"permalink":"https:\/\/blog.squix.org\/2020\/04\/esp32-door-sensor-part-1.html"}'  class="wp-block-gallery columns-3 is-cropped wp-block-gallery-9 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="2560" height="1920" data-attachment-id="4958" data-permalink="https://blog.squix.org/2020/04/esp32-door-sensor-part-1.html/img_9958-2" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9958-2-scaled.jpg?fit=2560%2C1920&amp;ssl=1" data-orig-size="2560,1920" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;1.8&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone XS&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1587310084&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.25&quot;,&quot;iso&quot;:&quot;160&quot;,&quot;shutter_speed&quot;:&quot;0.016666666666667&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="IMG_9958-2" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9958-2-scaled.jpg?fit=300%2C225&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9958-2-scaled.jpg?fit=730%2C548&amp;ssl=1" src="https://i2.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9958-2-scaled.jpg?fit=730%2C548&amp;ssl=1" alt="" data-id="4958" data-link="https://blog.squix.org/2020/04/esp32-door-sensor-part-1.html/img_9958-2" class="wp-image-4958" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9958-2-scaled.jpg?w=2560&amp;ssl=1 2560w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9958-2-scaled.jpg?resize=300%2C225&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9958-2-scaled.jpg?resize=1024%2C768&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9958-2-scaled.jpg?resize=768%2C576&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9958-2-scaled.jpg?resize=1536%2C1152&amp;ssl=1 1536w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9958-2-scaled.jpg?resize=2048%2C1536&amp;ssl=1 2048w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9958-2-scaled.jpg?resize=100%2C75&amp;ssl=1 100w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9958-2-scaled.jpg?resize=935%2C700&amp;ssl=1 935w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9958-2-scaled.jpg?w=1460&amp;ssl=1 1460w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9958-2-scaled.jpg?w=2190&amp;ssl=1 2190w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="2560" height="2560" data-attachment-id="4961" data-permalink="https://blog.squix.org/2020/04/esp32-door-sensor-part-1.html/img_9162" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9162-scaled.jpg?fit=2560%2C2560&amp;ssl=1" data-orig-size="2560,2560" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;1.8&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone XS&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1587321801&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.25&quot;,&quot;iso&quot;:&quot;64&quot;,&quot;shutter_speed&quot;:&quot;0.0082644628099174&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="IMG_9162" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9162-scaled.jpg?fit=300%2C300&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9162-scaled.jpg?fit=730%2C730&amp;ssl=1" src="https://i2.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9162-scaled.jpg?fit=730%2C730&amp;ssl=1" alt="" data-id="4961" data-full-url="https://i2.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9162-scaled.jpg?fit=2560%2C2560&amp;ssl=1" data-link="https://blog.squix.org/2020/04/esp32-door-sensor-part-1.html/img_9162" class="wp-image-4961" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9162-scaled.jpg?w=2560&amp;ssl=1 2560w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9162-scaled.jpg?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9162-scaled.jpg?resize=1024%2C1024&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9162-scaled.jpg?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9162-scaled.jpg?resize=768%2C768&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9162-scaled.jpg?resize=1536%2C1536&amp;ssl=1 1536w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9162-scaled.jpg?resize=2048%2C2048&amp;ssl=1 2048w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9162-scaled.jpg?resize=120%2C120&amp;ssl=1 120w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9162-scaled.jpg?w=1460&amp;ssl=1 1460w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_9162-scaled.jpg?w=2190&amp;ssl=1 2190w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="2560" height="1920" data-attachment-id="4959" data-permalink="https://blog.squix.org/2020/04/esp32-door-sensor-part-1.html/img_4486" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_4486-scaled.jpg?fit=2560%2C1920&amp;ssl=1" data-orig-size="2560,1920" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;1.8&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone XS&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1587310341&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.25&quot;,&quot;iso&quot;:&quot;100&quot;,&quot;shutter_speed&quot;:&quot;0.0096153846153846&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="IMG_4486" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_4486-scaled.jpg?fit=300%2C225&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_4486-scaled.jpg?fit=730%2C548&amp;ssl=1" src="https://i1.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_4486-scaled.jpg?fit=730%2C548&amp;ssl=1" alt="" data-id="4959" data-link="https://blog.squix.org/2020/04/esp32-door-sensor-part-1.html/img_4486" class="wp-image-4959" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_4486-scaled.jpg?w=2560&amp;ssl=1 2560w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_4486-scaled.jpg?resize=300%2C225&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_4486-scaled.jpg?resize=1024%2C768&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_4486-scaled.jpg?resize=768%2C576&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_4486-scaled.jpg?resize=1536%2C1152&amp;ssl=1 1536w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_4486-scaled.jpg?resize=2048%2C1536&amp;ssl=1 2048w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_4486-scaled.jpg?resize=100%2C75&amp;ssl=1 100w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_4486-scaled.jpg?resize=935%2C700&amp;ssl=1 935w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_4486-scaled.jpg?w=1460&amp;ssl=1 1460w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/04/IMG_4486-scaled.jpg?w=2190&amp;ssl=1 2190w" sizes="(max-width: 730px) 100vw, 730px" /></figure></li></ul></figure>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Outlook Part 2 </h2>



<p>In part one we connected the ESP32 over WiFi to a MQTT broker. Establishing a secure WiFi connection takes a lot of time and costs energy. If we&#8217;d like to further improve energy consumption we need to get rid off this costly WiFi handshake. The solution to this is called ESPNow. It is a proprietary protocol using the same hardware and frequencies that the WiFi protocol uses. A device can send a message over ESPNow in the fraction of the time it would take to send the message over regular WiFi. </p>



<p>This is great for battery runtime, but also comes at a cost. In order to use ESPNow your door sensor needs another ESP8266 or ESP32 acting as an access point or gateway for the sensor. This gateway listens for ESPNow messages and forwards them over regular WiFi to your MQTT broker.</p>



<p>Interested? So stay tuned for part 2!</p>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



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



<p>In this post we built a simple door sensor which can run in theory for a year or more from 3 AAA batteries. This is possible because unlike many other ESP32 development boards the ePulse board consumes very little energy when sleeping. Door sensors are the perfect use case for such a board: in a regular home door states change only a couple of times per day. The rest of the time the device is sleeping.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.squix.org/2020/04/esp32-door-sensor-part-1.html/feed</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4938</post-id>	</item>
		<item>
		<title>ESP32 Nibbles Demo/ Icon64 Assembly</title>
		<link>https://blog.squix.org/2020/03/esp32-nibbles-demo-icon64-assembly.html</link>
					<comments>https://blog.squix.org/2020/03/esp32-nibbles-demo-icon64-assembly.html#respond</comments>
		
		<dc:creator><![CDATA[Daniel Eichhorn]]></dc:creator>
		<pubDate>Sat, 14 Mar 2020 07:27:21 +0000</pubDate>
				<category><![CDATA[3D Printing]]></category>
		<category><![CDATA[ESP32]]></category>
		<category><![CDATA[Featured]]></category>
		<guid isPermaLink="false">https://blog.squix.org/?p=4835</guid>

					<description><![CDATA[For a long time I had a 8&#215;8 RGB WS2812 led module in my gadget box. The WS2812 led is a wonderful component for makers. It is easy to program and comes in many forms for a really low price. With just 3 lines (5V, ... <p><a class="read-more btn btn-secondary" href="https://blog.squix.org/2020/03/esp32-nibbles-demo-icon64-assembly.html">Read More</a></p>]]></description>
										<content:encoded><![CDATA[
<p>For a long time I had a 8&#215;8 RGB WS2812 led module in my gadget box. The WS2812 led is a wonderful component for makers. It is easy to program and comes in many forms for a really low price. With just 3 lines (5V, GND and Data) you can control dozens or hundreds of leds. Modules can be chained together to increase the number of controlled leds.</p>



<span id="more-4835"></span>



<p>Fusion 360 is a very powerful tool but if you never worked with a CAD program before it can be overwhelming at times. But with every project you get better and learn how to make your design more robust. A robust design is easy to adapt or extend later on. Parts which interact with each other are updated automatically when changing one feature.</p>



<p>When I started designing the Icon64 enclosure I expected many iterations of designing, printing, fixing, printing&#8230; To my big surprise the design worked right from the start. The squire grid fit perfectly into the outer shell, the paper diffusor and the acrylic came out of the laser cutter also with a perfect fit. And the best part was when the snap-fit back component slid into the shell with a satisfying click.</p>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Icon64 assembly &amp; nibbles demo" width="730" height="411" src="https://www.youtube.com/embed/wYGW-ywd6sA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Each of the 3D printed components took about one hour or less to print. The modular design lets you change parts without printing the whole enclosure a second time. So I added a grid to the shell in a second revision and replaced acrylic cover and the diffusor paper with two layers of white PLA. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1276" height="748" data-attachment-id="4838" data-permalink="https://blog.squix.org/2020/03/esp32-nibbles-demo-icon64-assembly.html/icon64-matrix-v3" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/03/Icon64-Matrix-v3.png?fit=1276%2C748&amp;ssl=1" data-orig-size="1276,748" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Icon64-Matrix-v3" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/03/Icon64-Matrix-v3.png?fit=300%2C176&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/03/Icon64-Matrix-v3.png?fit=730%2C428&amp;ssl=1" src="https://i2.wp.com/blog.squix.org/wp-content/uploads/2020/03/Icon64-Matrix-v3.png?fit=730%2C428&amp;ssl=1" alt="" class="wp-image-4838" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/03/Icon64-Matrix-v3.png?w=1276&amp;ssl=1 1276w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/03/Icon64-Matrix-v3.png?resize=300%2C176&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/03/Icon64-Matrix-v3.png?resize=1024%2C600&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/03/Icon64-Matrix-v3.png?resize=768%2C450&amp;ssl=1 768w" sizes="(max-width: 730px) 100vw, 730px" /><figcaption>Cross Section Analysis of the Enclosure in Fusion 360. You can easily see the snap-fit mechanism between the bottom and the shell</figcaption></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Electronics &#8211; ESP32 &amp; WS2812</h2>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" data-attachment-id="4844" data-permalink="https://blog.squix.org/2020/03/esp32-nibbles-demo-icon64-assembly.html/icon64wiring" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/03/Icon64Wiring.png?fit=976%2C1444&amp;ssl=1" data-orig-size="976,1444" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Icon64Wiring" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/03/Icon64Wiring.png?fit=203%2C300&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/03/Icon64Wiring.png?fit=692%2C1024&amp;ssl=1" src="https://i2.wp.com/blog.squix.org/wp-content/uploads/2020/03/Icon64Wiring.png?fit=692%2C1024&amp;ssl=1" alt="" class="wp-image-4844" width="346" height="512" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/03/Icon64Wiring.png?w=976&amp;ssl=1 976w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/03/Icon64Wiring.png?resize=203%2C300&amp;ssl=1 203w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/03/Icon64Wiring.png?resize=692%2C1024&amp;ssl=1 692w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2020/03/Icon64Wiring.png?resize=768%2C1136&amp;ssl=1 768w" sizes="(max-width: 346px) 100vw, 346px" /></figure></div>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Software &#8211; Nibbles Demo</h2>



<p>Usually I use the Arduino IDE for entry level projects. The Arduino IDE is made for programming beginners, but it also lacks a couple of key features. Very important for me is that others can easily re-create my projects. In the Arduino IDE there is no project file which defines the libraries used in the project. Users have to find the right version for each used library manually and this allows for mistakes</p>



<p>So I decided to use the Platformio IDE for this project. Platformio is a build tool for embedded devices and supports many different build targets. And it uses a project file &#8211; the platformio.ini &#8211; where you can define all libraries, even with a specific version. The editor is based on Microsoft&#8217;s Visual Studio Code and is very comprehensive.</p>



<p>In case you&#8217;ve never worked with Platformio before follow the instructions at <a href="https://platformio.org/platformio-ide">https://platformio.org/platformio-ide</a> to install it. </p>



<p>I tried to keep the code as simple as possible. My worm is not very clever and constantly collides with its own tail. If that happens the board will be reset and a nibbles is born. The code could be improved with a path finding algorithm. Maybe a nice exercise for you?</p>



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



<ul><li>ESP32, e.g. <a href="ttps://blog.squix.org/go/tp-esp32-devboard-icon64">ThingPulse DevBoard</a>, but any ESP32 should do</li><li>WS2812 8&#215;8 RGB Matrix from <a href="https://blog.squix.org/go/al-8x8-rgb-matrix">AliExpress</a></li><li>3D Model: <a href="https://blog.squix.org/go/tv-icon64">Thingiverse</a></li><li>Code on <a href="https://github.com/squix78/esp32-icon64-nibbles">Github</a></li></ul>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.squix.org/2020/03/esp32-nibbles-demo-icon64-assembly.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4835</post-id>	</item>
	</channel>
</rss>
