<?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>Squix &#8211; TechBlog</title>
	<atom:link href="https://blog.squix.org/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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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>CH9102 Serial-To-USB Driver for Mac OS X</title>
		<link>https://blog.squix.org/2021/08/ch9102-driver-issues-failed-to-write-to-target-ram.html</link>
					<comments>https://blog.squix.org/2021/08/ch9102-driver-issues-failed-to-write-to-target-ram.html#respond</comments>
		
		<dc:creator><![CDATA[Daniel Eichhorn]]></dc:creator>
		<pubDate>Sun, 29 Aug 2021 07:15:27 +0000</pubDate>
				<category><![CDATA[Common]]></category>
		<guid isPermaLink="false">https://blog.squix.org/?p=6918</guid>

					<description><![CDATA[Recently more and more ESP32 hardware is appearing with the WCH CH9102 Serial-To-USB chip. I assume lower costs and higher availability are the reason for this. Lower costs compared to FTDI chips, to the Silicon Labs CP2102 or CP2104. But when I recently started working ... <p><a class="read-more btn btn-secondary" href="https://blog.squix.org/2021/08/ch9102-driver-issues-failed-to-write-to-target-ram.html">Read More</a></p>]]></description>
										<content:encoded><![CDATA[
<p>Recently more and more ESP32 hardware is appearing with the WCH CH9102 Serial-To-USB chip. I assume lower costs and higher availability are the reason for this. Lower costs compared to FTDI chips, to the Silicon Labs CP2102 or CP2104. But when I recently started working for the first time with such a device I ran into big problems.</p>



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



<p>For the latest version of the LilyGO TTGO T-Camera ESP32 the manufacturer made a couple of significant changes. The switched the ESP32-WROVER module with the ESP32 chip, flash and PSRAM are also separately soldered and the module got a &#8220;3D antenna&#8221;. But I had to deal with a bigger problem at first. LilyGO also replaced the CP2102 chip with the WCH CH9102 UART chip. My Mac OS X 11.5.2 Big Sur installation recognized the chip immediately as </p>



<pre class="wp-block-code"><code>crw-rw-rw-  1 root  wheel   22,  14 Aug 29 08:24 /dev/tty.usbmodemXXXXXXXXXX
crw-rw-rw-  1 root  wheel   22,  15 Aug 29 08:24 /dev/cu.usbmodemXXXXXXXXXX</code></pre>



<p>I changed the lines in my platformio.ini file and used the cu.usbmodemXXXXXXXXXX (actual numbers replaced with XXX). Monitoring seemed to work since I could see the output from the stock firmware. </p>



<p>But every time I tried to flash the chip I got the following output:</p>



<pre class="wp-block-code"><code>Connecting....
Chip is ESP32-D0WD (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 3c:71:bf:xx:xx:xx
Uploading stub...

A fatal error occurred: Failed to write to target RAM (result was 01070000)</code></pre>



<p>I first suspected that the esptool needed adaptation for the new chip. There were also a couple of issues on github in the esptool repository: <a href="https://github.com/espressif/esptool/issues/280">https://github.com/espressif/esptool/issues/280</a></p>



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



<p>Or might the driver be the problem? The website of the CP2102 manufacturer also did not show a new driver for the chip. After more digging, I finally came across this github issue and genotix&#8217; post: <a href="https://github.com/Xinyuan-LilyGO/LilyGo-T-Call-SIM800/issues/139#issuecomment-904390716">https://github.com/Xinyuan-LilyGO/LilyGo-T-Call-SIM800/issues/139#issuecomment-904390716</a></p>



<p>Genotix links a zip file containing a driver aptly named CH34xVCPDriver_signed.pkg The CH34x driver seems also to work for the CH9102 chip. Now you have to be brave and install the driver by ignoring all Max OS X security warnings and by clicking through installation dialogs in Chinese.</p>



<p>After the installation two new serial devices showed up:</p>



<pre class="wp-block-code"><code>crw-rw-rw-  1 root  wheel   22,  12 Aug 29 08:24 /dev/tty.wchusbseriaXXXX
crw-rw-rw-  1 root  wheel   22,  14 Aug 29 08:24 /dev/tty.usbmodemXXXX
crw-rw-rw-  1 root  wheel   22,  15 Aug 29 08:24 /dev/cu.usbmodemXXXX
crw-rw-rw-  1 root  wheel   22,  13 Aug 29 08:34 /dev/cu.wchusbserialXXXX&lt;--correct</code></pre>



<p>By using the cu.wchusberialXXXX I finally could program the T-Camera module.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.squix.org/2021/08/ch9102-driver-issues-failed-to-write-to-target-ram.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6918</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" wpfc-lazyload-disable="true" 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" wpfc-lazyload-disable="true" 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>TTGO-LoRa32 V1.0 with TTN V3 and OTAA</title>
		<link>https://blog.squix.org/2021/07/ttgo-lora32-v1-0-with-ttn-v3-and-otaa.html</link>
					<comments>https://blog.squix.org/2021/07/ttgo-lora32-v1-0-with-ttn-v3-and-otaa.html#comments</comments>
		
		<dc:creator><![CDATA[Daniel Eichhorn]]></dc:creator>
		<pubDate>Sun, 11 Jul 2021 10:20:49 +0000</pubDate>
				<category><![CDATA[Common]]></category>
		<category><![CDATA[ESP32]]></category>
		<category><![CDATA[LoRaWAN]]></category>
		<category><![CDATA[lorawan]]></category>
		<category><![CDATA[ttgo-lora32]]></category>
		<category><![CDATA[ttn]]></category>
		<guid isPermaLink="false">https://blog.squix.org/?p=6820</guid>

					<description><![CDATA[If you are lacking good documentation it can be very hard to get started with a new device. I just couldn&#8217;t find a comprehensive example project for how to connect TTGO-LoRA32 V1.0 with the V3 version of the Things Network. So I hope this post ... <p><a class="read-more btn btn-secondary" href="https://blog.squix.org/2021/07/ttgo-lora32-v1-0-with-ttn-v3-and-otaa.html">Read More</a></p>]]></description>
										<content:encoded><![CDATA[
<p>If you are lacking good documentation it can be very hard to get started with a new device. I just couldn&#8217;t find a comprehensive example project for how to connect <a href="https://www.banggood.com/custlink/vmDdBjpESq" target="_blank" rel="noreferrer noopener">TTGO-LoRA32 V1.0</a> with the V3 version of the Things Network. So I hope this post and the related github project will save you some time to achieve the same.</p>



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



<p>I have connected devices to TheThingsNetwork before but with this device I had several challenges: no useful example project, TTN just switched to the new V3 version and bad documentation about the hardware. After the first failure I assumed that the TTGO-LoRa32 was to weak to send data to the next gateway. Since my own TTN indoor gateway was still registered for V2 I started to migrate it first. That was another bad experience. The gateway did not connect to TTN V3 and I reclaimed it several times without success. Only after waiting one night it finally worked and I had a gateway connected to TTN v3.</p>



<p>So now that I knew that I had a gateway close enough to receive the TTGO-LoRa32&#8242; data package I could concentrate on fixing the code. </p>



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



<p>In this project, I&#8217;m using platformio in Visual Studio Code for editing and uploading the firmware. As a first step get the code from my github repository <a href="https://github.com/squix78/TTGO-LoRa32-V1.0-TTN-OTAA" target="_blank" rel="noreferrer noopener">https://github.com/squix78/TTGO-LoRa32-V1.0-TTN-OTAA</a> either by cloning it with git or by downloading the code as zip file and extracting it.</p>



<p>This project should work as it is except for a few changes we have to do in the code. The most obscure change is buried deep in the library folder in a file called lmic_project_config.h. The full path to the file is <br>.pio/libdeps/ttgo-lora32-v1/MCCI LoRaWAN LMIC library/project_config/lmic_project_config.h <br>If you can&#8217;t find this file you probably have to compile the project first, since only then all the dependencies will be downloaded. <strong>Please note</strong>: at the moment the compilation will fail, since we didn&#8217;t set the credentials in the code yet. This is expected and normal.</p>



<p>Once you find that file make sure that the correct region settings are there. For Europe 868MHz band it should like this:</p>



<pre class="wp-block-code"><code>// project-specific definitions
#define CFG_eu868 1
//#define CFG_us915 1
//#define CFG_au915 1
//#define CFG_as923 1
// #define LMIC_COUNTRY_CODE LMIC_COUNTRY_CODE_JP	/* for as923-JP */
//#define CFG_kr920 1
//#define CFG_in866 1
#define CFG_sx1276_radio 1
//#define LMIC_USE_INTERRUPTS</code></pre>



<p>By default the code uses CFG_us915. If you are living in another region it is very important you do that change!</p>



<h2 class="wp-block-heading">Getting the app and device credentials</h2>



<p>This was the first device I set up for TTN V3 and there are a couple of traps I want to point out to you. A quick explanation for the TTN novice: Your device needs three credentials to connect to TTN: AppEUI, DevEUI and AppKey. In TTNs V2 interface you could either provide the DevEUI or it would create them for you. In TTN V3 this auto EUI generation is currently missing. For many devices the vendor will provide these identifiers and you just have to enter them in the TTN console. But with devices such as the TTGO-LoRa32 you don&#8217;t get it. I show you here how to create it by yourself. This is not ideal but works&#8230; Just don&#8217;t blame me in case of problems&#8230;</p>



<ol><li>Head over to <a href="https://console.cloud.thethings.network/">https://console.cloud.thethings.network/</a> and pick your V3 region. Don&#8217;t use the V2!</li><li>Create an account if you don&#8217;t have one yet.</li><li>Go to applications and create a new application. As application id you can pick anything as long as<ol><li>it doesn&#8217;t exist yet</li><li>only contains letters, dashes and numbers</li></ol></li><li>On the next screen click on &#8220;Add end device&#8221; (see image below)</li></ol>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" wpfc-lazyload-disable="true" loading="lazy" decoding="async" width="730" height="365" data-attachment-id="6822" data-permalink="https://blog.squix.org/2021/07/ttgo-lora32-v1-0-with-ttn-v3-and-otaa.html/image-1-5" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-1.png?fit=2304%2C1152&amp;ssl=1" data-orig-size="2304,1152" 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/2021/07/image-1.png?fit=300%2C150&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-1.png?fit=730%2C365&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-1.png?resize=730%2C365&#038;ssl=1" alt="" class="wp-image-6822" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-1.png?resize=1024%2C512&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-1.png?resize=300%2C150&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-1.png?resize=768%2C384&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-1.png?resize=1536%2C768&amp;ssl=1 1536w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-1.png?resize=2048%2C1024&amp;ssl=1 2048w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-1.png?resize=800%2C400&amp;ssl=1 800w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-1.png?w=1460&amp;ssl=1 1460w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-1.png?w=2190&amp;ssl=1 2190w" sizes="(max-width: 730px) 100vw, 730px" /></figure>



<ol start="5"><li>Now go the &#8220;Manually&#8221; tab and choose &#8220;Over the air activation (OTAA)&#8221; and MAC V1.0.2</li><li>On the next screen choose a name for your device consisting only of letters, numbers and dashes. To fill in the JoinEUI and DevEUI you can use this generator: <a href="https://descartes.co.uk/CreateEUIKey.html">https://descartes.co.uk/CreateEUIKey.html</a></li><li>On the next screen choose your region and the following settings:</li></ol>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" wpfc-lazyload-disable="true" loading="lazy" decoding="async" width="730" height="331" data-attachment-id="6827" data-permalink="https://blog.squix.org/2021/07/ttgo-lora32-v1-0-with-ttn-v3-and-otaa.html/image-6-4" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-6.png?fit=1028%2C466&amp;ssl=1" data-orig-size="1028,466" 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-6" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-6.png?fit=300%2C136&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-6.png?fit=730%2C331&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-6.png?resize=730%2C331&#038;ssl=1" alt="" class="wp-image-6827" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-6.png?resize=1024%2C464&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-6.png?resize=300%2C136&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-6.png?resize=768%2C348&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-6.png?w=1028&amp;ssl=1 1028w" sizes="(max-width: 730px) 100vw, 730px" /></figure>



<ol start="8"><li>On the Join settings screen you can click on the &#8220;recycle&#8221; symbol to generate an AppKey for you.</li><li>Now we have to copy the credentials over to our code. We have to provide JoinEUI and DevEUI in <em>least significat byte order</em> or short LSB. The TTN console helps you with that. First click on the &#8220;&lt;>&#8221; icon and then on the arrows beside &#8220;msb&#8221;. To put the data into the clipboard use the most right icon. BTW: The name of JoinEUI is  AppEUI in the code. Please add the AppKey msb order, no need to invert the order there.</li></ol>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" wpfc-lazyload-disable="true" loading="lazy" decoding="async" width="730" height="93" data-attachment-id="6825" data-permalink="https://blog.squix.org/2021/07/ttgo-lora32-v1-0-with-ttn-v3-and-otaa.html/image-4-4" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-4.png?fit=756%2C96&amp;ssl=1" data-orig-size="756,96" 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-4" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-4.png?fit=300%2C38&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-4.png?fit=730%2C93&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-4.png?resize=730%2C93&#038;ssl=1" alt="" class="wp-image-6825" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-4.png?w=756&amp;ssl=1 756w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-4.png?resize=300%2C38&amp;ssl=1 300w" sizes="(max-width: 730px) 100vw, 730px" /></figure>



<ol start="10"><li> After copying JoinEUI (AppEUI), DevEUI and AppKey to the main.cpp file in the code you got from github you can compile and upload the firmware to the TTGO-LoRa32</li><li>Now check if it worked by looking at the device live data on the TTN console:</li></ol>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" wpfc-lazyload-disable="true" loading="lazy" decoding="async" width="730" height="200" data-attachment-id="6826" data-permalink="https://blog.squix.org/2021/07/ttgo-lora32-v1-0-with-ttn-v3-and-otaa.html/image-5-4" data-orig-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-5.png?fit=1086%2C298&amp;ssl=1" data-orig-size="1086,298" 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-5" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-5.png?fit=300%2C82&amp;ssl=1" data-large-file="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-5.png?fit=730%2C200&amp;ssl=1" src="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-5.png?resize=730%2C200&#038;ssl=1" alt="" class="wp-image-6826" srcset="https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-5.png?resize=1024%2C281&amp;ssl=1 1024w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-5.png?resize=300%2C82&amp;ssl=1 300w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-5.png?resize=768%2C211&amp;ssl=1 768w, https://i0.wp.com/blog.squix.org/wp-content/uploads/2021/07/image-5.png?w=1086&amp;ssl=1 1086w" sizes="(max-width: 730px) 100vw, 730px" /></figure>



<h2 class="wp-block-heading">Summary &amp; Outlook</h2>



<p>This is it! If everything worked you your TTGO-LoRa32 is now sending messages to TTN V3, joining it with dynamic session keys! If I find the time I&#8217;d like to analyze the power consumption of the device for sending a message as well as in the sleep phase.</p>



<p>My code is not using the OLED display. There is a repository provided by LillyGo that shows you how to do that: <a href="https://github.com/LilyGO/TTGO-LORA32/tree/LilyGO-868-V1.0">https://github.com/LilyGO/TTGO-LORA32/tree/LilyGO-868-V1.0</a></p>



<p>If you like to support my blog please consider buying the device by using this affiliate link: <a href="https://www.banggood.com/custlink/vmDdBjpESq">https://www.banggood.com/custlink/vmDdBjpESq</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.squix.org/2021/07/ttgo-lora32-v1-0-with-ttn-v3-and-otaa.html/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6820</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>Non Intrusive Load Monitoring with Shelly 3EM</title>
		<link>https://blog.squix.org/2020/07/non-intrusive-load-monitoring-with-shelly-3em.html</link>
					<comments>https://blog.squix.org/2020/07/non-intrusive-load-monitoring-with-shelly-3em.html#comments</comments>
		
		<dc:creator><![CDATA[Daniel Eichhorn]]></dc:creator>
		<pubDate>Sat, 04 Jul 2020 05:55:22 +0000</pubDate>
				<category><![CDATA[IoT Products]]></category>
		<guid isPermaLink="false">https://blog.squix.org/?p=5159</guid>

					<description><![CDATA[Do you know this problem: you want your dumb home appliances to let you know once they change a state. You want to know once the dish washer finishes the cleaning cycle or when your electric oven has reached the target temperature to put the ... <p><a class="read-more btn btn-secondary" href="https://blog.squix.org/2020/07/non-intrusive-load-monitoring-with-shelly-3em.html">Read More</a></p>]]></description>
										<content:encoded><![CDATA[
<p>Do you know this problem: you want your dumb home appliances to let you know once they change a state. You want to know once the dish washer finishes the cleaning cycle or when your electric oven has reached the target temperature to put the frozen Pizza in? In this project I show you how you can accomplish this with the shelly 3EM, Node-Red and Amazon Alexa. </p>



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



<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="Oven Notification with Shelly 3EM, MQTT, Node-Red and Alexa" width="730" height="411" src="https://www.youtube.com/embed/ExOyFs8HIlc?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>Note: In the video I say that Shelly 3EM maker Alterco is Hungarian, but they are Bulgarian. I&#8217;m really sorry about this mistake!</p>



<p>Links:</p>



<ul><li><a href="https://blog.squix.org/go/shelly-3em">Shelly 3EM by Alterco</a></li></ul>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.squix.org/2020/07/non-intrusive-load-monitoring-with-shelly-3em.html/feed</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5159</post-id>	</item>
	</channel>
</rss>
