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

<channel>
	<title>esp32 &#8211; datort.de</title>
	<atom:link href="https://datort.de/tag/esp32/feed/" rel="self" type="application/rss+xml" />
	<link>https://datort.de</link>
	<description>Retro, Gaming, Tech: Videos und Berichte</description>
	<lastBuildDate>Wed, 26 Nov 2025 19:33:35 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://datort.de/wp-content/uploads/2024/10/cropped-datort_computer_isolated-32x32.png</url>
	<title>esp32 &#8211; datort.de</title>
	<link>https://datort.de</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Hugo: Der Troll, den ich nicht spielen durfte</title>
		<link>https://datort.de/retro-computing/1219/hugo-der-troll-den-ich-nicht-spielen-durfte/</link>
					<comments>https://datort.de/retro-computing/1219/hugo-der-troll-den-ich-nicht-spielen-durfte/#comments</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Sat, 01 Nov 2025 22:31:44 +0000</pubDate>
				<category><![CDATA[Raspberry & Arduino]]></category>
		<category><![CDATA[Retro Computing]]></category>
		<category><![CDATA[Youtube]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[Elektrotechnik]]></category>
		<category><![CDATA[esp32]]></category>
		<category><![CDATA[Retro]]></category>
		<category><![CDATA[Spiele]]></category>
		<guid isPermaLink="false">https://datort.de/?p=1219</guid>

					<description><![CDATA[1994 erblickte nicht nur der Netscape Navigator oder die erste PlayStation das Licht der Welt, auf dem noch&#8230;]]></description>
										<content:encoded><![CDATA[
<p>1994 erblickte nicht nur der Netscape Navigator oder die erste PlayStation das Licht der Welt, auf dem noch recht jungen TV-Sender &#8222;Der Kabelkanal&#8220;, heute besser bekannt als Kabel 1, turnt auch ein kleiner Troll über den Bildschirm: Hugo.</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"><a href="https://datort.de/retro-computing/1219/hugo-der-troll-den-ich-nicht-spielen-durfte/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2F7n7WMO9uasc%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p>Das Konzept der Sendung war damals recht einzigartig: Die Zuschauer konnten den kleinen Troll in kurzen Spielchen mit den DTMF-Tastentönen ihrer Telefon von Zuhause steuern. Auf dem Bildschirm sahen sie dann das Ergebnis ihrer Tastendrücke. Heute durch die stark unterschiedlichen Laufwege und -zeiten moderner TV-Verbreitungswege undenkbar &#8211; und auch damals schon nicht immer ganz problemlos. </p>



<p>Egal, vier Jahre lief das Ganze. Und ich wollte gerne mitspielen, hatte aber nie das Glück durchzukommen. Das plagt mich bis heute, wie ich auch in meiner Podcast-Episode zu Hugo kundtat. In der Episode gehe ich noch ein bisschen genauer auf das Spiel, die Sendung und die Produktion ein. </p>


<div id="3522806766" class="castos-player dark-mode " tabindex="0" data-episode="1174" data-player_id="3522806766">
	<div class="player">
		<div class="player__main">
			<div class="player__artwork player__artwork-1174">
				<img decoding="async" src="https://datort.de/wp-content/uploads/2025/09/005_hugo-200x200.jpg"
					 alt="Pad One, Please! Der nächste Retro-Podcast"
					 title="Pad One, Please! Der nächste Retro-Podcast">
			</div>
			<div class="player__body">
				<div class="currently-playing">
					<div class="show player__podcast-title">
						Pad One, Please! Der nächste Retro-Podcast					</div>
					<div class="episode-title player__episode-title">#005: Hugo trollt TV und Games</div>
				</div>
				<div class="play-progress">
					<div class="play-pause-controls">
						<button title="Play" aria-label="Play Episode" aria-pressed="false" class="play-btn">
							<span class="screen-reader-text">Play Episode</span>
						</button>
						<button title="Pause" aria-label="Pause Episode" aria-pressed="false" class="pause-btn hide">
							<span class="screen-reader-text">Pause Episode</span>
						</button>
						<img decoding="async" src="https://datort.de/wp-content/plugins/seriously-simple-podcasting/assets/css/images/player/images/icon-loader.svg" alt="Loading" class="ssp-loader hide"/>
					</div>
					<div>
						<audio preload="none" class="clip clip-1174">
							<source src="https://datort.de/podcast-player/1174/005-hugo-trollt-tv-und-games.mp3">
						</audio>
						<div class="ssp-progress" role="progressbar" title="Seek" aria-valuenow="0" aria-valuemin="0" aria-valuemax="843">
							<span class="progress__filled"></span>
						</div>
						<div class="ssp-playback playback">
							<div class="playback__controls">
								<button class="player-btn player-btn__volume" title="Mute/Unmute">
									<span class="screen-reader-text">Mute/Unmute Episode</span>
								</button>
								<button data-skip="-10" class="player-btn player-btn__rwd" title="Rewind 10 seconds">
									<span class="screen-reader-text">Rewind 10 Seconds</span>
								</button>
								<button data-speed="1" class="player-btn player-btn__speed" title="Playback Speed" aria-label="Playback Speed">1x</button>
								<button data-skip="30" class="player-btn player-btn__fwd" title="Fast Forward 30 seconds">
									<span class="screen-reader-text">Fast Forward 30 seconds</span>
								</button>
							</div>
							<div class="playback__timers">
								<time class="ssp-timer">00:00</time>
								<span>/</span>
								<!-- We need actual duration here from the server -->
								<time class="ssp-duration" datetime="PT0H14M3S">14:03</time>
							</div>
						</div>
					</div>
				</div>
									<nav class="player-panels-nav">
													<button class="subscribe-btn" id="subscribe-btn-1174" title="Abonnieren">Abonnieren</button>
																			<button class="share-btn" id="share-btn-1174" title="Teilen">Teilen</button>
											</nav>
							</div>
		</div>
	</div>
			<div class="player-panels player-panels-1174">
							<div class="subscribe player-panel subscribe-1174">
					<div class="close-btn close-btn-1174">
						<span></span>
						<span></span>
					</div>
					<div class="panel__inner">
						<div class="subscribe-icons">
																								<a href="https://music.amazon.de/podcasts/0c0b2b58-55b0-42ac-884b-57604310d6f9/pad-one-please-der-n%C3%A4chste-retro-podcast" target="_blank" rel="noopener noreferrer"
									   class="amazon"
									   title="Subscribe on  Amazon">
										<span></span>
										Amazon									</a>
																																<a href="https://podcasts.apple.com/us/podcast/pad-one-please-noch-so-n-retro-podcast/id1830571033" target="_blank" rel="noopener noreferrer"
									   class="apple_podcasts"
									   title="Subscribe on  Apple Podcasts">
										<span></span>
										Apple Podcasts									</a>
																																<a href="https://deezer.com/show/1002093401" target="_blank" rel="noopener noreferrer"
									   class="deezer"
									   title="Subscribe on  Deezer">
										<span></span>
										Deezer									</a>
																																															<a href="https://datort.de/feed/podcast/pad-one-please" target="_blank" rel="noopener noreferrer"
									   class="rss"
									   title="Subscribe on  RSS">
										<span></span>
										RSS									</a>
																																<a href="https://open.spotify.com/show/4cTvGULCA1LGs9mPdwxKTH" target="_blank" rel="noopener noreferrer"
									   class="spotify"
									   title="Subscribe on  Spotify">
										<span></span>
										Spotify									</a>
																																				</div>
						<div class="player-panel-row" aria-label="RSS Feed URL">
							<div class="title">RSS Feed</div>
							<div>
								<input value="https://datort.de/feed/podcast/pad-one-please" class="input-rss input-rss-1174" title="RSS Feed URL" readonly />
							</div>
							<button class="copy-rss copy-rss-1174" title="Copy RSS Feed URL" aria-label="Copy RSS Feed URL"></button>
						</div>
					</div>
				</div>
										<div class="share share-1174 player-panel">
					<div class="close-btn close-btn-1174">
						<span></span>
						<span></span>
					</div>
					<div class="player-panel-row">
						<div class="title">
							Teilen						</div>
						<div class="icons-holder">
							<a href="https://www.facebook.com/sharer/sharer.php?u=https://datort.de/podcast/005-hugo-trollt-tv-und-games/&#038;t=#005: Hugo trollt TV und Games"
							   target="_blank" rel="noopener noreferrer" class="share-icon facebook" title="Auf Facebook teilen">
								<span></span>
							</a>
							<a href="https://twitter.com/intent/tweet?text=https://datort.de/podcast/005-hugo-trollt-tv-und-games/&#038;url=#005: Hugo trollt TV und Games"
							   target="_blank" rel="noopener noreferrer" class="share-icon twitter" title="Auf Twitter teilen">
								<span></span>
							</a>
							<a href="https://datort.de/podcast-player/1174/005-hugo-trollt-tv-und-games.mp3"
							   target="_blank" rel="noopener noreferrer" class="share-icon download" title="Download" download>
								<span></span>
							</a>
						</div>
					</div>
					<div class="player-panel-row">
						<div class="title">
							Link						</div>
						<div>
							<input value="https://datort.de/podcast/005-hugo-trollt-tv-und-games/" class="input-link input-link-1174" title="Episode URL" readonly />
						</div>
						<button class="copy-link copy-link-1174" title="Copy Episode URL" aria-label="Copy Episode URL" readonly=""></button>
					</div>
					<div class="player-panel-row">
						<div class="title">
							Embed						</div>
						<div style="height: 10px;">
							<input type="text" value='&lt;blockquote class=&quot;wp-embedded-content&quot; data-secret=&quot;O5bbsYVX3t&quot;&gt;&lt;a href=&quot;https://datort.de/podcast/005-hugo-trollt-tv-und-games/&quot;&gt;#005: Hugo trollt TV und Games&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox=&quot;allow-scripts&quot; security=&quot;restricted&quot; src=&quot;https://datort.de/podcast/005-hugo-trollt-tv-und-games/embed/#?secret=O5bbsYVX3t&quot; width=&quot;500&quot; height=&quot;350&quot; title=&quot;&#8222;#005: Hugo trollt TV und Games&#8220; &#8211; datort.de&quot; data-secret=&quot;O5bbsYVX3t&quot; frameborder=&quot;0&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; scrolling=&quot;no&quot; class=&quot;wp-embedded-content&quot;&gt;&lt;/iframe&gt;&lt;script&gt;
/*! This file is auto-generated */
!function(d,l){&quot;use strict&quot;;l.querySelector&amp;&amp;d.addEventListener&amp;&amp;&quot;undefined&quot;!=typeof URL&amp;&amp;(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&amp;&amp;!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll(&#039;iframe[data-secret=&quot;&#039;+t.secret+&#039;&quot;]&#039;),o=l.querySelectorAll(&#039;blockquote[data-secret=&quot;&#039;+t.secret+&#039;&quot;]&#039;),c=new RegExp(&quot;^https?:$&quot;,&quot;i&quot;),i=0;i&lt;o.length;i++)o[i].style.display=&quot;none&quot;;for(i=0;i&lt;a.length;i++)s=a[i],e.source===s.contentWindow&amp;&amp;(s.removeAttribute(&quot;style&quot;),&quot;height&quot;===t.message?(1e3&lt;(r=parseInt(t.value,10))?r=1e3:~~r&lt;200&amp;&amp;(r=200),s.height=r):&quot;link&quot;===t.message&amp;&amp;(r=new URL(s.getAttribute(&quot;src&quot;)),n=new URL(t.value),c.test(n.protocol))&amp;&amp;n.host===r.host&amp;&amp;l.activeElement===s&amp;&amp;(d.top.location.href=t.value))}},d.addEventListener(&quot;message&quot;,d.wp.receiveEmbedMessage,!1),l.addEventListener(&quot;DOMContentLoaded&quot;,function(){for(var e,t,s=l.querySelectorAll(&quot;iframe.wp-embedded-content&quot;),r=0;r&lt;s.length;r++)(t=(e=s[r]).getAttribute(&quot;data-secret&quot;))||(t=Math.random().toString(36).substring(2,12),e.src+=&quot;#?secret=&quot;+t,e.setAttribute(&quot;data-secret&quot;,t)),e.contentWindow.postMessage({message:&quot;ready&quot;,secret:t},&quot;*&quot;)},!1)))}(window,document);
//# sourceURL=https://datort.de/wp-includes/js/wp-embed.min.js
&lt;/script&gt;
'
								   title="Embed Code"
								   class="input-embed input-embed-1174" readonly/>
						</div>
						<button class="copy-embed copy-embed-1174" title="Copy Embed Code" aria-label="Copy Embed Code"></button>
					</div>
				</div>
					</div>
	
	

	</div>
<div class="podcast_meta"><aside><p><a href="https://datort.de/podcast-download/1174/005-hugo-trollt-tv-und-games.mp3?ref=download" title="Hugo: Der Troll, den ich nicht spielen durfte " class="podcast-meta-download">Datei herunterladen</a> | <a href="https://datort.de/podcast-download/1174/005-hugo-trollt-tv-und-games.mp3?ref=new_window" target="_blank" title="Hugo: Der Troll, den ich nicht spielen durfte " class="podcast-meta-new-window">In neuem Fenster abspielen</a> | <span class="podcast-meta-duration">Audiolänge: 14:03</span> | <span class="podcast-meta-date">Aufgenommen am  23. September 2025</span></p><p>Abonnieren: <a href="https://music.amazon.de/podcasts/0c0b2b58-55b0-42ac-884b-57604310d6f9/pad-one-please-der-n%C3%A4chste-retro-podcast" target="_blank" title="Amazon" class="podcast-meta-itunes">Amazon</a> | <a href="https://podcasts.apple.com/us/podcast/pad-one-please-noch-so-n-retro-podcast/id1830571033" target="_blank" title="Apple Podcasts" class="podcast-meta-itunes">Apple Podcasts</a> | <a href="https://deezer.com/show/1002093401" target="_blank" title="Deezer" class="podcast-meta-itunes">Deezer</a> | <a href="https://datort.de/feed/podcast/pad-one-please" target="_blank" title="RSS" class="podcast-meta-itunes">RSS</a> | <a href="https://open.spotify.com/show/4cTvGULCA1LGs9mPdwxKTH" target="_blank" title="Spotify" class="podcast-meta-itunes">Spotify</a></p></aside></div>


<p>Nun gibt es aber ja seit einer ganzen Weile Arduino- und ESP-Boards, mit denen man famose Dinge erschaffen kann wenn man dem Thema etwas Zeit widmet. Und da ich hier noch ein altes Telefon der Deutschen Bundespost rumfliegen habe, was den Retro-Charackter der Aktion nur noch weiter verstärkt, habe ich mich dran gemacht aus dem Telefon ein viel zu großes Numpad zu bauen, mit dem auch gleich noch Hugo Spielen kann. </p>



<h2 id="teileliste" class="cnvs-block-section-heading cnvs-block-section-heading-1761953656988 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Teileliste</span>
	</span>
</h2>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="577" src="https://datort.de/wp-content/uploads/2025/11/PhoneATroll_components-1-1024x577.jpg" alt="" class="wp-image-1229" srcset="https://datort.de/wp-content/uploads/2025/11/PhoneATroll_components-1-1024x577.jpg 1024w, https://datort.de/wp-content/uploads/2025/11/PhoneATroll_components-1-300x169.jpg 300w, https://datort.de/wp-content/uploads/2025/11/PhoneATroll_components-1-768x432.jpg 768w, https://datort.de/wp-content/uploads/2025/11/PhoneATroll_components-1-380x214.jpg 380w, https://datort.de/wp-content/uploads/2025/11/PhoneATroll_components-1-800x450.jpg 800w, https://datort.de/wp-content/uploads/2025/11/PhoneATroll_components-1.jpg 1094w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Die Teile: Ein ESP32 S3 Zero, das Flachbandkabel vom FeTAp und optional ein Custom PCB, welches alles zusammenbringt</figcaption></figure>



<p>Viel braucht es für dieses Projekt nicht, nämlich nur den ESP und das Telefon: </p>



<ul class="wp-block-list">
<li>Retro-Telefon &#8222;FeTAp&#8220;, hier ein FeTAp 0111 aus 1987</li>



<li>ESP 32 S3 Zero</li>



<li>optional: DIY Platine um Kabelwirrwarr zu vermeiden (siehe &#8222;Schaltplan&#8220;)</li>
</ul>



<p>Naja gut, und natürlich Schraubendreher, einen Lötkolben und was man zu dessen Verwendung halt so benötigt.</p>



<h2 id="schaltplan" class="cnvs-block-section-heading cnvs-block-section-heading-1761953751401 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Schaltplan</span>
	</span>
</h2>



<p>Damit das Ganze funktionieren kann, muss das Tastenfeld mit dem ESP32 verbunden werden. An dem Tastenfeld des Telefons ist ein kurzes Flachband. Also, genau genommen ist es auf der Platine des Telefons und muss von der befreit werden. Danach müssen folgende Pins entsprechend mit dem ESP32 verbunden werden. </p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="428" src="https://datort.de/wp-content/uploads/2025/11/Schaltplan_FeTAp-1-1024x428.png" alt="" class="wp-image-1223" srcset="https://datort.de/wp-content/uploads/2025/11/Schaltplan_FeTAp-1-1024x428.png 1024w, https://datort.de/wp-content/uploads/2025/11/Schaltplan_FeTAp-1-300x125.png 300w, https://datort.de/wp-content/uploads/2025/11/Schaltplan_FeTAp-1-768x321.png 768w, https://datort.de/wp-content/uploads/2025/11/Schaltplan_FeTAp-1-1536x642.png 1536w, https://datort.de/wp-content/uploads/2025/11/Schaltplan_FeTAp-1-380x159.png 380w, https://datort.de/wp-content/uploads/2025/11/Schaltplan_FeTAp-1-800x334.png 800w, https://datort.de/wp-content/uploads/2025/11/Schaltplan_FeTAp-1-1160x485.png 1160w, https://datort.de/wp-content/uploads/2025/11/Schaltplan_FeTAp-1.png 1904w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Um es für mich etwas angenehmer zu gestalten, habe ich mir eine kleine Platine dafür gebaut. Ich bin immer noch begeistert für welche schmale Mark man heutzutage selbstgestaltete PCBs produzieren lassen kann. Ich pack hier mal meine Lösung in Form einer Gerber-File hin, mit der eine Nachbestellung möglich ist &#8211; Verwendung auf eigene Gefahr: </p>



<div class="wp-block-file"><a id="wp-block-file--media-ca997e77-f3d5-48a6-9034-730e5b601c9d" href="https://datort.de/wp-content/uploads/2025/11/Gerber_FeTapNumPad_PCB_FeTapNumPad_2_2025-11-01.zip">Gerber_FeTapNumPad_PCB_FeTapNumPad_2_2025-11-01</a><a href="https://datort.de/wp-content/uploads/2025/11/Gerber_FeTapNumPad_PCB_FeTapNumPad_2_2025-11-01.zip" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-ca997e77-f3d5-48a6-9034-730e5b601c9d">Herunterladen</a></div>



<h2 id="funktionsweise" class="cnvs-block-section-heading cnvs-block-section-heading-1761954460438 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Funktionsweise</span>
	</span>
</h2>



<p>Das kleine ESP-Board ist in der Lage, als HID (Human Interface Device) über USB zu agieren. Damit gibt es sich in diesem Fall sozusagen als Keyboard aus. Drücke ich eine der Tasten auf dem Telefon, so wird ein Tastendruck (Keyboard.press()) ausgelöst, für 80 Milisekunden gehalten und danach wird die Taste wieder &#8222;losgelassen&#8220; (Keyboard.release()). </p>



<p>Um den richtigen Tastendruck zu ermitteln, wird das Tastenfall in schnellen Intervallen auf Tastendrücke abgefragt &#8211; so wie es das Telefon selbst zuvor auch gemacht hat. Das Tastenfeld ist dabei als eine Art Matrix aufgebaut. Man kann Spannung dabei Zeilen und Reihenweise anlegen. Gebe ich also beispielsweise eine Spannung auf Spalte 2 und Zeile 3, so muss bei Druck der Taste 8 eine Spannung anliegen sofern diese gerade gedrückt wird. So funktioniert im Groben die Erkennung welche Taste gerade gedrückt wird. Simpel aber doch irgendwie faszinierend, wenn ich mir vorstelle in welchem flotten Intervall der ESP da über alle möglichen Konstellationen immer und immer wieder drüber ballert. </p>



<h2 id="software" class="cnvs-block-section-heading cnvs-block-section-heading-1761954867809 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Software</span>
	</span>
</h2>



<p>Die Software besteht im Wesentlichen aus einer einzigen Datei. Ich entwickle in PlattformIO, entsprechend handelt es sich bei dem Projekt um ein solches. Ihr könnt den Code aber auch in die Arduino IDE kopieren, dann müsste ihr nur dafür sorgen dass ihr die entsprechend für den ESP32 S3 Zero konfiguriert. Außerdem müsst ihr vermutlich das #include &lt;Arduino.h&gt; rausnehmen und dem Sketch eine .ino-Dateiendung geben. Mehr dazu auch in der Readme. Das Projekt könnt ihr auf meinem GIthub-Profil auschecken oder runterladen.</p>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://github.com/datort/phone-a-troll" target="_blank" rel="noreferrer noopener">PhoneATroll @Github</a></div>
</div>



<h2 id="fazit" class="cnvs-block-section-heading cnvs-block-section-heading-1761993025771 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Fazit</span>
	</span>
</h2>



<p>Das Projekt hier hat mir wahnsinnig Spaß gemacht. Ich hab keine Ahnung, ob es da draussen wirklich noch andere Verrückte gibt, die sich an sowas erfreuen. Aber falls ja: Hey, schön das du da bist und viel Spaß mit dem Projekt. Wer keine Lust auf basteln hat: Ich habe kürzlich erfahren, dass im <a href="https://hi-score.org/" target="_blank" rel="noreferrer noopener nofollow">Hi-Score</a> in Hannover auch etwas ähnliches für jeden zum ausprobieren und Spielen stehen soll. Diese Werbung hier ist absolut freiwillig und unbezahlt, ich finde in der Retro-Community muss man zusammenhalten und gute Ideen teilen.</p>



<p>Und wenn ihr das Projekt mal umgesetzt haben solltet: Ich würde mich super über Rückmeldung freuen. Viel Spaß beim Zocken!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/retro-computing/1219/hugo-der-troll-den-ich-nicht-spielen-durfte/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Arduino/ESP + SIMCom A7670E LTE-Modul</title>
		<link>https://datort.de/raspberry-arduino/1113/arduino-esp-simcom-a7670e-lte-modul/</link>
					<comments>https://datort.de/raspberry-arduino/1113/arduino-esp-simcom-a7670e-lte-modul/#respond</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Wed, 10 Sep 2025 18:57:35 +0000</pubDate>
				<category><![CDATA[Raspberry & Arduino]]></category>
		<category><![CDATA[Youtube]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Elektrotechnik]]></category>
		<category><![CDATA[esp32]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[Mobilfunk]]></category>
		<guid isPermaLink="false">https://datort.de/?p=1113</guid>

					<description><![CDATA[Auch in Deutschland ist vermutlich Mitte 2028 Schluß mit dem 2G GSM-Netz: Sowohl Telekom als auch Vodafone haben&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Auch in Deutschland ist vermutlich Mitte 2028 Schluß mit dem 2G GSM-Netz: Sowohl Telekom als auch Vodafone haben das Datum zur Abschaltung ihrer ersten digitalen Mobilfunknetze vor einiger Zeit verkündet. Module wie das SIM800L, die nur das 2G-Netz mit GPRS und EDGE unterstützen, werden dann nicht mehr funktionieren. Zeit sich nach Alternativen umzusehen. Das A7670E von SIMCom könnte eine solche Altnative sein. Es ist mit knapp über 10,- Euro von Aliexpress und co. relativ günstig zu haben und via UART-Schnittstelle auch leicht mit 2 Kabeln anzubinden. Allerdings ist nicht alles Gold was glänzt. Hier meine schnelle Pros-/Cons-Liste, bevor wir uns das Board und Software-Beispiele genauer ansehen.</p>



<p><strong>+</strong> relativ günstig<br><strong>+</strong> kompakt<br><strong>+</strong> überschaubarer Stromverbrauch<br><strong>+</strong> optional mit GPS und Bluetooth<br><strong>+</strong> USB-Anschluss für schnellere Datenübertragung<br><br><strong>&#8211;</strong> min. 5 V Versorgungsspannung (SIM800L lief auch mit 3.7 V)<br><strong>&#8211;</strong> Status LED ungenau (moniert nicht verbunden zu sein, obwohl Daten gesendet und empfangen werden)</p>



<h2 id="videoanleitung" class="cnvs-block-section-heading cnvs-block-section-heading-1757866690807 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Videoanleitung</span>
	</span>
</h2>


<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><a href="https://datort.de/raspberry-arduino/1113/arduino-esp-simcom-a7670e-lte-modul/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FxPMGg86Webg%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<h2 id="hardware" class="cnvs-block-section-heading cnvs-block-section-heading-1757071876446 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Hardware</span>
	</span>
</h2>



<p>Für mein Test-Setup verwende ich ein ESP32-WROOM-32D-Board. Andere Boards sind möglich. Ich verwende dieses Board aufgrund der Hardware-Serial, über die die Kommunikation zwischen ESP und A7670E-LTE-Modem läuft. Die Beschriftung auf dem Modem ist ein bisschen unübersichtlich. Auf meinem Board von oben nach unten: <br><strong>G: GND, R: RXD, T: TXT, K: PWRKEY, V: VCC, G: GND, S-SLEEP</strong></p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="1024" src="https://datort.de/wp-content/uploads/2025/09/A7670E_Pins-1024x1024.jpeg" alt="" class="wp-image-1152" srcset="https://datort.de/wp-content/uploads/2025/09/A7670E_Pins-1024x1024.jpeg 1024w, https://datort.de/wp-content/uploads/2025/09/A7670E_Pins-300x300.jpeg 300w, https://datort.de/wp-content/uploads/2025/09/A7670E_Pins-200x200.jpeg 200w, https://datort.de/wp-content/uploads/2025/09/A7670E_Pins-768x768.jpeg 768w, https://datort.de/wp-content/uploads/2025/09/A7670E_Pins-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2025/09/A7670E_Pins-110x110.jpeg 110w, https://datort.de/wp-content/uploads/2025/09/A7670E_Pins-380x380.jpeg 380w, https://datort.de/wp-content/uploads/2025/09/A7670E_Pins-800x800.jpeg 800w, https://datort.de/wp-content/uploads/2025/09/A7670E_Pins-1160x1160.jpeg 1160w, https://datort.de/wp-content/uploads/2025/09/A7670E_Pins.jpeg 1280w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Für mein Setup genügt es, vom ESP TX/RX über Kreuz zu verbinden: Also: TX vom ESP auf RX vom Modem und umgekehrt. Außerdem teilen sich ESP und A7670E einen Ground. Das wars dann aber auch. Ich hatte zwischenzeitlich einen 2200μF-Kondensator verbaut, bis ich gesehen habe das genau für diesen Zweck bereits ein 4700μF-Kondensator auf dem Modem verbaut ist. Trotzdem kackte das Modem beim Einbuchen ins LTE-Netz ab und an ab &#8211; die Stromversorgung scheint da aber wohl dann nicht der Grund gewesen zu sein?! </p>



<h2 id="software" class="cnvs-block-section-heading cnvs-block-section-heading-1757071899911 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Software</span>
	</span>
</h2>



<p>Getestet wurde das hier mit dem A7670E-Modul. Allerdings sollten die meisten Sketches auch mit anderen Boards von SIMCom funktionieren, sofern sie den gleichen Befehlssatz unterstützen. </p>



<h5 id="basis-sketch" class="wp-block-heading">Basis Sketch</h5>



<p>Um es auch für Einsteiger verständlich zu halten, teile ich die einzelnen Funktion in kleine Snippets auf. So könnt ihr euch das raussuchen, was für euer Szenario am besten passt. Diese basieren auf folgender Basis, die zunächst nichts weiter macht als die Kommunikation mit dem A7670E sicherzustellen und die Antworten des Moduls im Serial Monitor euer (Arduino-)IDE anzuzeigen. </p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
#include &lt;Arduino.h&gt;

#define RX_PIN 17 // RX-Pin des ESP-Boards
#define TX_PIN 16 // TX-Pin des ESP-Boards
HardwareSerial modem(2);

void setup() {
  Serial.begin(115200);

  delay(1000);
  Serial.println(&quot;Serial connection ready&quot;);

  modem.begin(115200, SERIAL_8N1, RX_PIN, TX_PIN);
  modem.println(&quot;AT&quot;); // AT = Attention, Modem muss mit &quot;OK&quot; antworten
}

void loop() {
  while (modem.available()) {
    String resp = modem.readStringUntil(&#039;\n&#039;);
    resp.trim();
    if (resp.length() &gt; 0) {
      Serial.println(&quot;Modem: &quot; + resp); // Jede Antwort des Modems in der Serial gekennzeichnet ausgeben
    }
  }
}
</pre></div>

<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
Serial connection ready
Modem: AT
Modem: OK
</pre></div>


<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="768" src="https://datort.de/wp-content/uploads/2025/09/A7670E-ESP32-Topshot-1024x768.jpeg" alt="" class="wp-image-1155" srcset="https://datort.de/wp-content/uploads/2025/09/A7670E-ESP32-Topshot-1024x768.jpeg 1024w, https://datort.de/wp-content/uploads/2025/09/A7670E-ESP32-Topshot-300x225.jpeg 300w, https://datort.de/wp-content/uploads/2025/09/A7670E-ESP32-Topshot-768x576.jpeg 768w, https://datort.de/wp-content/uploads/2025/09/A7670E-ESP32-Topshot-200x150.jpeg 200w, https://datort.de/wp-content/uploads/2025/09/A7670E-ESP32-Topshot-260x195.jpeg 260w, https://datort.de/wp-content/uploads/2025/09/A7670E-ESP32-Topshot-380x285.jpeg 380w, https://datort.de/wp-content/uploads/2025/09/A7670E-ESP32-Topshot-800x600.jpeg 800w, https://datort.de/wp-content/uploads/2025/09/A7670E-ESP32-Topshot-1160x870.jpeg 1160w, https://datort.de/wp-content/uploads/2025/09/A7670E-ESP32-Topshot.jpeg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h5 id="mobilfunkstatus-sketch" class="wp-block-heading">Mobilfunkstatus Sketch</h5>



<p>Um zu prüfen, ob das A7670E-Modul mit dem Mobilfunknetz verbunden ist, können wir es einfach selbst fragen. </p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
#include &lt;Arduino.h&gt;

#define RX_PIN 17
#define TX_PIN 16
HardwareSerial modem(2);

void setup() {
  Serial.begin(115200);

  delay(1000);
  Serial.println(&quot;Serial connection ready&quot;);

  modem.begin(115200, SERIAL_8N1, RX_PIN, TX_PIN);
  modem.println(&quot;AT&quot;);
}

void loop() {
  while (modem.available()) {
    String resp = modem.readStringUntil(&#039;\n&#039;);
    resp.trim();
    if (resp.length() &gt; 0) {
      Serial.println(&quot;Modem: &quot; + resp);
    }
  }

  static unsigned long lastRun = millis() - 18000;
  if (millis() - lastRun &gt; 20000) { // Nach 2 Sekunden alle 20 Sekunden aktualisieren
    lastRun = millis();

    modem.println(&quot;AT+CSQ&quot;);      // Signalstärke
    modem.println(&quot;AT+CEREG?&quot;);   // LTE Netzregistrierung
    modem.println(&quot;AT+CGATT?&quot;);   // Datenregistrierung
    modem.println(&quot;AT+CGACT?&quot;);   // PDP Kontext aktiv? (Datenverbindung)
    modem.println(&quot;AT+CGPADDR&quot;);  // IP-Adresse
    modem.println(&quot;AT+NETOPEN?&quot;); // Socket-Service Status
  }
}
</pre></div>

<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
Modem: AT+CSQ
Modem: +CSQ: 26,99
Modem: OK
Modem: AT+CEREG?
Modem: +CEREG: 0,1
Modem: OK
Modem: AT+CGATT?
Modem: +CGATT: 1
Modem: OK
Modem: AT+CGACT?
Modem: +CGACT: 1,1
Modem: +CGACT: 8,1
Modem: OK
Modem: AT+CGPADDR
Modem: +CGPADDR: 1,10.76.56.42
Modem: +CGPADDR: 8,0.0.0.0,254.128.0.0.0.0.0.0.194.209.178.131.245.194.29.154
Modem: OK
Modem: AT+NETOPEN?
Modem: +NETOPEN: 0
Modem: OK
</pre></div>


<p class="has-small-font-size"><strong>+CSQ: 26,99</strong>: 26 ist die Signalqualität, Skala 0-31, 26 = ziemlich guter Empfang<br><strong>+CEREG: 0,1</strong>: Erfolgreich im LTE-Netz eingebucht<br><strong>+CGATT: 1</strong>: Datenverbindung aktiv<br><strong>+CGACT: 1,1</strong> &amp; <strong>+CGACT: 8,1</strong>: Zwei Datenkontexte offen<br><strong>+CGPADDR: 1,10.76.56.42</strong><br><strong>+CGPADDR: 8,0.0.0.0,254.128.0.0.0.0.0.0.194.209.178.131.245.194.29.154</strong>: IP-Adressen, die das Board erhalten hat</p>



<h5 id="ping-sketch" class="wp-block-heading">Ping Sketch</h5>



<p>Ein grundlegender Test von Netzwerk-Kommunikation ist ein &#8222;ping&#8220;: Ein kleines Datenpaket wird an einen Server gesendet. Kommt das Paket an antwortet der Server und der Nutzer sieht, wie lange das Datenpaket auf Reise war. </p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
#include &lt;Arduino.h&gt;

#define RX_PIN 17
#define TX_PIN 16
HardwareSerial modem(2);

void setup() {
  Serial.begin(115200);

  delay(1000);
  Serial.println(&quot;Serial connection ready&quot;);

  modem.begin(115200, SERIAL_8N1, RX_PIN, TX_PIN);
  modem.println(&quot;AT&quot;);
}

void loop() {
  while (modem.available()) {
    String resp = modem.readStringUntil(&#039;\n&#039;);
    resp.trim();
    if (resp.length() &gt; 0) {
      Serial.println(&quot;Modem: &quot; + resp);
    }
  }

  static unsigned long lastRun = millis() - 18000;
  if (millis() - lastRun &gt; 20000) {
    lastRun = millis();

    modem.println(&quot;AT+CPING=\&quot;8.8.8.8\&quot;,1,4&quot;); // 4 Pings an Google DNS senden
  }
}
</pre></div>

<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
Modem: AT+CPING=&quot;8.8.8.8&quot;,1,4
Modem: OK
Modem: +CPING: 1,8.8.8.8,92,130,114
Modem: +CPING: 1,8.8.8.8,92,40,114
Modem: +CPING: 1,8.8.8.8,92,15,114
Modem: +CPING: 1,8.8.8.8,92,30,114
Modem: +CPING: 3,4,4,0,15,130,40
</pre></div>


<p class="has-small-font-size"><strong>AT+CPING=&#8220;8.8.8.8&#8243;,1,4</strong>: 8.8.8.8 ist die Ziel-IP-Adresse, 1 steht für IPv4 (2 wäre IPv6), 4 ist die Anzahl der Wiederholungen<br><strong>+CPING: 1,8.8.8.8,92,130,114</strong>: 1: Ping erfolgreich, der vorletzte Wert (hier 130) ist die Laufzeit in ms, die anderen Werte bitte dem Manual entnehmen<br><strong>+CPING: 3,4,4,0,15,130,40</strong>: Zusammenfassung über die 4 Pings</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="768" src="https://datort.de/wp-content/uploads/2025/09/A7670E-Stromaufnahme-1024x768.jpeg" alt="" class="wp-image-1156" srcset="https://datort.de/wp-content/uploads/2025/09/A7670E-Stromaufnahme-1024x768.jpeg 1024w, https://datort.de/wp-content/uploads/2025/09/A7670E-Stromaufnahme-300x225.jpeg 300w, https://datort.de/wp-content/uploads/2025/09/A7670E-Stromaufnahme-768x576.jpeg 768w, https://datort.de/wp-content/uploads/2025/09/A7670E-Stromaufnahme-200x150.jpeg 200w, https://datort.de/wp-content/uploads/2025/09/A7670E-Stromaufnahme-260x195.jpeg 260w, https://datort.de/wp-content/uploads/2025/09/A7670E-Stromaufnahme-380x285.jpeg 380w, https://datort.de/wp-content/uploads/2025/09/A7670E-Stromaufnahme-800x600.jpeg 800w, https://datort.de/wp-content/uploads/2025/09/A7670E-Stromaufnahme-1160x870.jpeg 1160w, https://datort.de/wp-content/uploads/2025/09/A7670E-Stromaufnahme.jpeg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">In der Regel ist die Stromaufnahme sehr gering. Beim Senden und Empfangen kann der Verbrauch kurzzeitig ansteigen. HTTPS-Traffic verbraucht (wenig überraschend) noch etwas mehr Strom</figcaption></figure>



<h5 id="daten-via-http-abrufen-http-get-request" class="wp-block-heading">Daten via HTTP abrufen (HTTP GET-Request)</h5>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
#include &lt;Arduino.h&gt;

#define RX_PIN 17
#define TX_PIN 16
HardwareSerial modem(2);

void setup() {
  Serial.begin(115200);

  delay(1000);
  Serial.println(&quot;Serial connection ready&quot;);

  modem.begin(115200, SERIAL_8N1, RX_PIN, TX_PIN);
  modem.println(&quot;AT&quot;);
}

void loop() {
  while (modem.available()) {
    String resp = modem.readStringUntil(&#039;\n&#039;);
    resp.trim();
    if (resp.length() &gt; 0) {
      Serial.println(&quot;Modem: &quot; + resp);
    }
  }

  static unsigned long lastRun = millis() - 18000;
  if (millis() - lastRun &gt; 20000) {
    lastRun = millis();

    modem.println(&quot;AT+HTTPINIT&quot;); // HTTP-Service des Modems starten

    
    modem.println(&quot;AT+HTTPPARA=\&quot;URL\&quot;,http://httpbin.org/get&quot;); // Abzurufende Adresse
    modem.println(&quot;AT+HTTPACTION=0&quot;); // 0 = GET, 1 = POST, 2 = HEAD, 3 = DELETE, 4 = PUT

    delay(2500); // Wir gehen davon aus, in 2.5s die Antwort zu erhalten. Vermutlich besser: AT+HTTPACTION auswerten, liefert die Content-Length

    modem.println(&quot;AT+HTTPHEAD&quot;); // Ausgabe des Response Headers

    delay(200);

    modem.println(&quot;AT+HTTPREAD=99999&quot;); // &quot;Unsaubere Implementierung&quot;: Eigentlich AT+HTTPREAD? nutzen um Länge der Antwort zu ermitteln
    modem.println(&quot;AT+HTTPTERM&quot;); // HTTP-Service nach Verwendung stoppen
  }
}
</pre></div>

<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
Modem: AT+HTTPINIT
Modem: ERROR
Modem: AT+HTTPPARA=&quot;URL&quot;,http://httpbin.org/get
Modem: OK
Modem: AT+HTTPACTION=0
Modem: OK
Modem: +HTTPACTION: 0,200,255
Modem: AT+HTTPHEAD
Modem: +HTTPHEAD: 226
Modem: HTTP/1.1 200 OK
Modem: Date: Fri, 05 Sep 2025 15:28:01 GMT
Modem: Content-Type: application/json
Modem: Content-Length: 255
Modem: Connection: keep-alive
Modem: Server: gunicorn/19.9.0
Modem: Access-Control-Allow-Origin: *
Modem: Access-Control-Allow-Credentials: true
Modem: OK
Modem: AT+HTTPREAD?
Modem: +HTTPREAD: LEN,255
Modem: OK
Modem: AT+HTTPREAD=99999
Modem: OK
Modem: AT+HTTPTERM
Modem: OK
Modem: +HTTPREAD: 255
Modem: {
Modem: &quot;args&quot;: {},
Modem: &quot;headers&quot;: {
Modem: &quot;Accept&quot;: &quot;*/*&quot;,
Modem: &quot;C &quot;origin&quot;: &quot;80.187.118.156&quot;,
Modem: &quot;url&quot;: &quot;http://httpbin.org/get&quot;
Modem: }
Modem: +HTTPREAD: 0
</pre></div>


<p class="has-small-font-size"><strong>+HTTPACTION: 0,200,255</strong>: 0 = Type der Anfrage (GET), 200 = Statuscode des Servers, 255 = Länge der Antwort in Bytes<br><strong>+HTTPHEAD: 226</strong>: Start Ausgabe des Headers, 226 Bytes<br><strong>+HTTPREAD: LEN,255</strong>: Eine Response liegt vor, 255 Bytes<br><strong>+HTTPREAD: 255</strong>: Beginn der Ausgabe des Response bis <strong>HTTPREAD: 0</strong></p>



<h5 id="daten-via-http-senden-http-post-put-patch" class="wp-block-heading">Daten via HTTP senden (HTTP POST, PUT, PATCH)</h5>



<p>Im vorangegangenen Beispiel beim Abruf der Daten via HTTP haben wir etwas &#8222;gefuttelt&#8220; was die Antworten anging. So haben wir mit delay gearbeitet und gehofft, dass bis dahin eine Antwort da ist. Damit kommen wir jetzt nicht mehr durch. Um den Code weiter lesbar zu halten, habe ich die Logik in einzelne Funktionen aufgeteilt.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
#include &lt;Arduino.h&gt;

#define RX_PIN 17
#define TX_PIN 16
HardwareSerial modem(2);

String waitForURC(const char* token, unsigned long timeoutMs = 10000) { // URC: Unsolicited Result Code, Ereignisbasierte Melungen des Modems abfragen. In unserem Fall für die Antwort nach dem POST genutzt
  unsigned long start = millis();
  String buffer;

  while (millis() - start &lt; timeoutMs) {
    while (modem.available()) {
      String line = modem.readStringUntil(&#039;\n&#039;);
      line.trim();

      if (line.length() &gt; 0) {
        Serial.println(&quot;URC: &quot; + line);
      }

      if (line.startsWith(token)) {
        return line;
      }
    }
  }
  Serial.println(&quot;Timeout beim Warten auf URC: &quot; + String(token));
  return &quot;&quot;;
}

void readHttpResponse() {
  modem.println(&quot;AT+HTTPREAD=99999&quot;); // Wir lesen pauschal alles; Hier könnte man auch mit der genauen Zahl an Bytes arbeiten (was sauberer wäre), aber das LTE-Modul liefert nur solange Daten zurück, wie sie vorliegen.
  
  String response;
  unsigned long startTime = millis();

  while (millis() - startTime &lt; 15000) {
    while (modem.available()) {
      String line = modem.readStringUntil(&#039;\n&#039;);
      line.trim();

      if (line.startsWith(&quot;+HTTPREAD:&quot;)) continue;
      if (line == &quot;OK&quot;) {
        Serial.println(&quot;HTTP-Body:&quot;);
        Serial.println(response);
        return;
      }

      response += line + &quot;\n&quot;;
    }
  }
  Serial.println(&quot;Timeout beim Lesen der Response!&quot;);
}

void httpPost(const char* url, const char* json) { // Methode speziell für den HTTP POST-Prozess
  modem.println(&quot;AT+HTTPINIT&quot;);
  modem.printf(&quot;AT+HTTPPARA=\&quot;URL\&quot;,\&quot;%s\&quot;\r\n&quot;, url);
  modem.println(&quot;AT+HTTPPARA=\&quot;CONTENT\&quot;,\&quot;application/json\&quot;&quot;); // Festsetzen des Inhalts auf JSON
  modem.printf(&quot;AT+HTTPDATA=%d,5000\r\n&quot;, strlen(json)); // Dem Modem mitteilen, dass gleich Daten kommen, die es für die Übermittlung aufzeichnen soll

  String dl = waitForURC(&quot;DOWNLOAD&quot;, 5000); // Warten bis das Modem mit &quot;DOWNLOAD&quot; antwortet, dann senden unseres JSON
  if (dl.length() &gt; 0) {
    modem.print(json);
    if (waitForURC(&quot;OK&quot;, 5000).length() == 0) { // Im Anschluss auf die Bestätigung der Übertragung durch das Modem warten
      Serial.println(&quot;Modem or connection stuck, too many data sent or check wiring&quot;);
      return;
    }
  }

  modem.println(&quot;AT+HTTPACTION=1&quot;); // 1 = POST
  String action = waitForURC(&quot;+HTTPACTION:&quot;, 15000); // Hier optimierter Ablauf: Sobald die Anfrage vom Modem versendet wurde, geht&#039;s weiter...

  if (action.length() &gt; 0) {
    int method, status, len;
    if (sscanf(action.c_str(), &quot;+HTTPACTION: %d,%d,%d&quot;, &amp;method, &amp;status, &amp;len) == 3) {
      Serial.printf(&quot;HTTP Status: %d, Length: %d\n&quot;, status, len);

      if (status == 200 || status == 201) { // Status code 200/201 stehen für eine erfolgreiche Anfragen bei POST
        readHttpResponse(); // Auslesen der Antwort in einer eigenen Funktion dafür
      } else {
        Serial.println(&quot;Unexpected response&quot;);
      }
    }
  }

  modem.println(&quot;AT+HTTPTERM&quot;);
}

void setup() {
  Serial.begin(115200);

  delay(1000);
  Serial.println(&quot;Serial connection ready&quot;);

  modem.begin(115200, SERIAL_8N1, RX_PIN, TX_PIN);
  modem.println(&quot;AT&quot;);
}

void loop() {
  while (modem.available()) {
    String resp = modem.readStringUntil(&#039;\n&#039;);
    resp.trim();
    if (resp.length() &gt; 0) {
      Serial.println(&quot;Modem: &quot; + resp);
    }
  }

  static unsigned long lastRun = millis() - 18000;
  if (millis() - lastRun &gt; 20000) {
    lastRun = millis();
    const char* json = &quot;{\&quot;temperature\&quot;:25.3,\&quot;battery_level\&quot;:\&quot;83\&quot;}&quot;; // Unsere Daten verpackt in JSON

    httpPost(&quot;http://httpbin.org/post&quot;, json); // Start des HTTP Post
  }
}
</pre></div>

<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
Serial connection ready
Modem: AT
Modem: OK
URC: AT+HTTPINIT
URC: OK
URC: AT+HTTPPARA=&quot;URL&quot;,&quot;http://httpbin.org/post&quot;
URC: OK
URC: AT+HTTPPARA=&quot;CONTENT&quot;,&quot;application/json&quot;
URC: OK
URC: AT+HTTPDATA=41,5000
URC: DOWNLOAD
URC: OK
URC: AT+HTTPACTION=1
URC: OK
URC: +HTTPACTION: 1,200,488
HTTP Status: 200, Length: 488
HTTP-Body:
AT+HTTPREAD=99999

Modem: +HTTPREAD: 488
Modem: {
Modem: &quot;args&quot;: {},
Modem: &quot;data&quot;: &quot;{\&quot;temperature\&quot;:25.3,\&quot;battery_level\&quot;:\&quot;83\&quot;}&quot;,
Modem: &quot;files&quot;: {},
Modem: &quot;form&quot;: {},
Modem: &quot;headers&quot;: {
Modem: &quot;Accept&quot;: &quot;*/*&quot;,
Modem: &quot;Cache-Control&quot;: &quot;no-cache&quot;,
Modem: &quot;Content-Length&quot;: &quot;41&quot;,
Modem: &quot;Content-Type&quot;: &quot;application/json&quot;,
Modem: &quot;Host&quot;: &quot;httpbin.org&quot;,
Modem: &quot;X-Amzn-Trace-Id&quot;: &quot;Root=1-68bd430d&quot;,
Modem: &quot;url&quot;: &quot;http://httpbin.org/post&quot;
Modem: }
Modem: AT+HTTPTERM
Modem: OK
Modem: +HTTPREAD: 0
</pre></div>


<p class="has-small-font-size">Dadurch das mit waitForURC auf ein Ereignis warten, verschieben sich hier die Ausgaben ein wenig. <br><strong>AT+HTTPDATA=41,5000</strong>: Unsere zu sendenden Daten sind 41 Bytes lang, Timeout: 5 Sekunden<br><strong>+HTTPACTION: 1,200,488</strong>: Die Übertragung war erfolgreich, 488 Bytes lang ist die Antwort<br><strong>AT+HTTPREAD=99999</strong>: Wir lesen pauschal 99999 Bytes, das Modem liefert aber nur so viel Daten zurück wie vorhanden; Wir hätten hier auch die 488 aus der HTTPACTION-Antwort verwenden können. Das wäre sauberer gewesen, aber in manchen Fällen (bspw. &#8222;chunked&#8220;-Responses) liegt wieder Wert nicht vor. Wir haben es uns also einfacher gemacht<br><strong>+HTTPREAD: 488</strong>: Beginn der Ausgabe der Antwort des Servers, enthält als Bestätigung unter &#8222;data&#8220; das, was wir geposted haben</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="624" src="https://datort.de/wp-content/uploads/2025/09/A7670E-Debugging-in-Konsole-1024x624.png" alt="" class="wp-image-1158" srcset="https://datort.de/wp-content/uploads/2025/09/A7670E-Debugging-in-Konsole-1024x624.png 1024w, https://datort.de/wp-content/uploads/2025/09/A7670E-Debugging-in-Konsole-300x183.png 300w, https://datort.de/wp-content/uploads/2025/09/A7670E-Debugging-in-Konsole-768x468.png 768w, https://datort.de/wp-content/uploads/2025/09/A7670E-Debugging-in-Konsole-380x232.png 380w, https://datort.de/wp-content/uploads/2025/09/A7670E-Debugging-in-Konsole-800x488.png 800w, https://datort.de/wp-content/uploads/2025/09/A7670E-Debugging-in-Konsole-1160x707.png 1160w, https://datort.de/wp-content/uploads/2025/09/A7670E-Debugging-in-Konsole.png 1238w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">In der Konsole (hier Plattform IO, &#8222;Serieller Monitor&#8220; in Arduino IDE) sieht man die Ausgaben des Modems und kann so nachvollziehen, was passiert</figcaption></figure>



<h5 id="besonderheiten-bei-https" class="wp-block-heading">Besonderheiten bei HTTPS</h5>



<p>Das 7670E-Modul ist dazu in der Lage Daten unverschlüsselt über HTTP, als auch verschlüsselt via HTTPS zu übertragen. Im besten Fall ist dazu nicht viel mehr nötig, als in den hier genannten Beispielen auf &#8222;http://&#8220; ein &#8222;https://&#8220; zu machen. Allerdings steckt der Teufel da gerne im Detail, denn HTTPS ≠ HTTPS. </p>



<p>Hier ein Mini-Exkurs: Werden im Netz Daten verschlüsselt übertragen, kommen dazu unterschiedliche Mechanismen zu tragen. So wird zum einen ein Verschlüsselungsalgorithmus zwischen Client und Server ausgehandelt., heutzutage oft TLS 1.2 oder größer. Neben diesem wird ein passendes Zertifikat benötigt. Gerade wenn es günstig sein soll, wird heute oft Lets Encrypt verwendet &#8211; mach ich auch so. Damit die Kommunikation aber wirklich sicher ist, müssen Betriebssysteme, Browser oder eben LTE-Module mit HTTPS-Support aber die Stammzertifikate der Anbieter kennen. Ein weiteres Thema ist Server Name Indication (SNI) in Verbindung mit virtuellen Hosts. Kurz um: Viele Dinge, die entweder eine vermeintlich sichere Verbindung unsicher machen können oder sie erst gar nicht zustand kommen lassen. </p>



<h6 id="wenn-die-uebertragung-nicht-gelingt" class="wp-block-heading">Wenn die Übertragung nicht gelingt&#8230;</h6>



<p>&#8230;geht&#8217;s an Debugging. Folgende Sachen könnt ihr prüfen:</p>



<p><strong>SNI aktivieren</strong><br>Das Modul hat zur Laufzeit 8 SSL-Konfiguration im Speicher. Per Default ist da wenig konfiguriert, außer die Art der TLS-Verschlüsselung mit der Gegenseite automatisch ausgehandelt werden soll. Was dabei nicht konfiguriert wird ist Server Name Indication. Das kann aber essentiell sein, nämlich dann, wenn euer Server mit Virtual Hosts arbeitet. Aktiviert SNI vor dem <strong>AT+HTTPINIT</strong> mit:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
modem.println(&quot;AT+CSSLCFG=\&quot;enableSNI\&quot;,0,1&quot;)
</pre></div>


<p class="has-small-font-size">SNI wird für den SSL-Kontext &#8222;0&#8220; mit &#8222;1&#8220; aktiviert. SSL-Kontext 0 ist der erste der genannten 8 möglichen und wird per default verwendet. Um die SSL-Kontext-ID anzupassen, kann man den Befehl <strong>AT+HTTPPARA=&#8220;SSLCFG&#8220;,2</strong> nutzen, wobei hier die 2 symbolisch für die ID des Index steht, also 0-7.</p>



<p><strong>HTTPACTION auswerten</strong><br>Einen GET-Request starten wir ja mit <strong>AT+HTTPACTION=0</strong>. Das Modul gibt neben einem &#8222;OK&#8220; auch weitere Informationen aus, im besten Fall sowas: <strong>+HTTPACTION: 0,200,81</strong><br>Die 0 steht für die Art der Anfrage (GET), die 200 für den vom Server gesendeten Statuscode und 81 ist die Länge der Antwort. Ist die Antwort nicht erfolgreich, ist interessant was dort statt 200 steht. Eine 706 würden auf Probleme beim Lesen der Antwort hindeuten, aber gleichzeitig bekräftigen, dass der TLS-Handshake zuvor erfolgreich war, während eine 715 eben genau auf Probleme bei ebendiesem hinweisen würden. In dem Fall müsste man prüfen, ob der verwendete TLS-Standard auf deinem Server von dem LTE-Modul überhaupt unterstützt wird.</p>



<p><strong>HTTP-Header auslesen</strong><br>Mit <strong>AT+HTTPHEAD</strong> lässt sich nach dem Absenden der Anfrage der Antwort-Header auslesen. Hier können auch Hinweise auf das Problem aufgeführt sein, wenn man Glück hat. Das oben angesprochene SNI-Problem könnte beispielsweise hier benannt werden.</p>



<h5 id="https-get-beispiel-sketch" class="wp-block-heading">HTTPS GET Beispiel Sketch</h5>



<p>Die oben genannte Punkte sind in diesem Beispiel berücksichtig, welcher bei mir erfolgreich funktionierte. </p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
#include &lt;Arduino.h&gt;
 
#define RX_PIN 17
#define TX_PIN 16
HardwareSerial modem(2);


String waitForURC(const char* token, unsigned long timeoutMs = 10000) {
  unsigned long start = millis();
  String buffer;
 
  while (millis() - start &lt; timeoutMs) {
    while (modem.available()) {
      String line = modem.readStringUntil(&#039;\n&#039;);
      line.trim();
 
      if (line.length() &gt; 0) {
        Serial.println(&quot;URC: &quot; + line);
      }
 
      if (line.startsWith(token)) {
        return line;
      }
    }
  }
  Serial.println(&quot;Timeout beim Warten auf URC: &quot; + String(token));
  return &quot;&quot;;
}


void setup() {
  Serial.begin(115200);
 
  delay(1000);
  Serial.println(&quot;Serial connection ready&quot;);
 
  modem.begin(115200, SERIAL_8N1, RX_PIN, TX_PIN);
  modem.println(&quot;AT&quot;);

  
}
 
void loop() {
  while (modem.available()) {
    String resp = modem.readStringUntil(&#039;\n&#039;);
    resp.trim();
    if (resp.length() &gt; 0) {
      Serial.println(&quot;Modem: &quot; + resp);
    }
  }
 
  static unsigned long lastRun = millis() - 18000;
  if (millis() - lastRun &gt; 20000) {
    lastRun = millis();
 
    modem.println(&quot;AT+CSSLCFG=\&quot;enableSNI\&quot;,0,1&quot;); // SNI für SSL config ID 0 aktivieren
    
    modem.println(&quot;AT+HTTPINIT&quot;);
    
    modem.println(&quot;AT+HTTPPARA=\&quot;URL\&quot;,https://phil.cossnet.de/lte_modul_test.html&quot;); // Kleine selbstgehostete Test-HTML-Datei
    modem.println(&quot;AT+HTTPACTION=0&quot;);
 

    String response = waitForURC(&quot;+HTTPACTION&quot;, 5000); // Auf Antwort warten, offenbar dauert es bei HTTPS länger als bei HTTP
    if (response.length() &gt; 0) {
      modem.println(&quot;AT+HTTPHEAD&quot;);
      modem.println(&quot;AT+HTTPREAD=99999&quot;);
    }
 
    delay(200);
    modem.println(&quot;AT+HTTPTERM&quot;);
  }
}
</pre></div>]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/raspberry-arduino/1113/arduino-esp-simcom-a7670e-lte-modul/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Ein altes Nokia als &#8222;Kunstobjekt&#8220;</title>
		<link>https://datort.de/featured/986/ein-altes-nokia-als-kunstobjekt/</link>
					<comments>https://datort.de/featured/986/ein-altes-nokia-als-kunstobjekt/#respond</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Sat, 24 May 2025 16:28:55 +0000</pubDate>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[LED]]></category>
		<category><![CDATA[Selbstgebaut]]></category>
		<category><![CDATA[Youtube]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[Elektrotechnik]]></category>
		<category><![CDATA[esp32]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[WLED]]></category>
		<guid isPermaLink="false">https://datort.de/?p=986</guid>

					<description><![CDATA[In Zeiten von knappen Rohstoffen ist eigentlich klar, was man mit alter Hardware, alten Mobiltelefonen oder ähnlichem machen&#8230;]]></description>
										<content:encoded><![CDATA[
<p>In Zeiten von knappen Rohstoffen ist eigentlich klar, was man mit alter Hardware, alten Mobiltelefonen oder ähnlichem machen sollte: Nach der Nutzung ab auf den Wertstoffhof zum Recycling. Mit manchen alten Schmuckstück fällt das aber etwas schwerer: Es hängen vielleicht gute Erinnerungen dran weil es sich um das erste Telefon handelt, den ersten Game Boy oder der Controller vom SNES damals. </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"><a href="https://datort.de/featured/986/ein-altes-nokia-als-kunstobjekt/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FLI417bFcJBg%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p>So ging es mir mit meinem Nokia 5110: Ich habe es damals geliebt. Es war eins der ersten Nokias mit Snake. Ein so einfaches Spiel, das zumindest die Älteren unter uns wahrscheinlich alle noch kennen. Bisher stand es etwas verloren in meinem Regal. Und somit war es der perfekte Kandidat für dieses Projekt: Ein mit LEDs versehener Fotorahmen, welcher die Innereien des Nokia 51110 so richtig zur Geltung bringen sollte. </p>



<h2 id="die-komponenten" class="cnvs-block-section-heading cnvs-block-section-heading-1747915612519 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Die Komponenten</span>
	</span>
</h2>



<ul class="wp-block-list">
<li>Fotorahmen &#8222;SANNAHED&#8220;, 25x25cm, 6,- Euro</li>



<li>D1 Mini, ESP8266*, ca. 5,- Euro</li>



<li>WS2812B-LED-Streifen, 5V, 60 LEDs/m, 9,- Euro</li>



<li>Magentkontaktstecker, ca. 3,-/Stk.</li>



<li>USB-Stromanschlussboard, ca. 1,- Euro</li>



<li>Sperrdiode, ca. 0,50 Euro</li>



<li>Selbstgestalteter Fotohintergrund, ca. 5,- Euro</li>



<li>Klebepads oder 2-Komponentenkleber, zwischen 2,- und 5,- Euro</li>



<li>etwas Kabel, Lötkolben, Schrumpfschläuche</li>
</ul>



<p><em>*) Wie sich während der Arbeit rausstellte, endet in der nahen Zukunft die Unterstützung von ESP8266-Boards seitens der eingesetzten WLED-Software. Für neue Projekte werden deshalb ESP32-basierte Boards empfohlen, die sich preislich aber nur wenig unterscheiden dürften. </em></p>



<h2 id="das-exponat" class="cnvs-block-section-heading cnvs-block-section-heading-1747915985543 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Das Exponat</span>
	</span>
</h2>



<p>Das Nokia lies sich recht einfach auseinandernehmen: Nachdem man die Batterie entfernt hatte, offenbarten sich auf der Rückseite einige Torx-Schrauben mit denen man schnell im inneren war. Dort ging es dann ebenso schnell weiter. Das muss natürlich bei jedem Gerät der Fall sein, auch wenn früher noch mehr Teile verschraubt statt verklebt waren. Anders als es heute oft gängige Praxis ist. Wenn euer Exponat da etwas widerspenstiger ist, habt bitte im Hinterkopf: Verletzt euch nicht! Displays können brechen, Batterien können auslaufen oder man kann beim Versuch etwas aufzuhebeln abrutschen. Denkt da an eure Finger und eure Gesundheit. Lest dazu bitte auch folgenden Absatz.</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-11 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" data-id="994" src="https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Exponat-1024x576.jpg" alt="" class="wp-image-994" srcset="https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Exponat-1024x576.jpg 1024w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Exponat-300x169.jpg 300w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Exponat-768x432.jpg 768w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Exponat-1536x864.jpg 1536w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Exponat-380x214.jpg 380w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Exponat-800x450.jpg 800w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Exponat-1160x653.jpg 1160w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Exponat.jpg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" data-id="996" src="https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Disassembled-1024x576.jpg" alt="" class="wp-image-996" srcset="https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Disassembled-1024x576.jpg 1024w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Disassembled-300x169.jpg 300w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Disassembled-768x432.jpg 768w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Disassembled-1536x864.jpg 1536w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Disassembled-380x214.jpg 380w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Disassembled-800x450.jpg 800w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Disassembled-1160x653.jpg 1160w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Disassembled.jpg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</figure>



<h2 id="vorsicht-gefahr" class="cnvs-block-section-heading cnvs-block-section-heading-1747916802240 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Vorsicht: Gefahr!</span>
	</span>
</h2>



<p>Eine Sache, die man unabhängig von eurem Bastelvorhaben nicht unterschätzen sollte, ist die potentielle Gefahr, die von alten Batterien und Akkus ausgehen kann. Ich war überrascht zu sehen, dass bereits in meinem Nokia 5110 von 1998 ein Lithium-Ionen-Akku verbaut war. Die sind heute überall und sehr sicher, dennoch weiß man nie ob im inneren bereits Zersetzungseffekte eingetreten sind. Ich will das Thema auch gar nicht zu sehr stressen, <a href="https://www.umweltbundesamt.de/umwelttipps-fuer-den-alltag/elektrogeraete/lithium-batterien-lithium-ionen-akkus#gewusst-wie" target="_blank" rel="noreferrer noopener nofollow">das</a> <a href="https://www.stiftung-ear.de/service/presse-aktuelles/risikobewusstsein-schaerfen-internationaler-tag-der-batterie-und-der-richtige-umgang-mit-alten-lithium-ionen-akkus/" target="_blank" rel="noreferrer noopener nofollow">Netz</a> ist <a href="https://www.verbraucherzentrale.nrw/schadstoffe/verschiedenes/batterien-kann-bei-langem-sammeln-etwas-passieren-44289" target="_blank" rel="noreferrer noopener nofollow">voll</a> mit <a href="https://www.swr.de/video/sendungen-a-z/marktcheck/akku-brand-explosion-100.html" target="_blank" rel="noreferrer noopener nofollow">Artikeln</a> zu dem Thema. So viel nur: Ich habe mich bewußt dazu entschieden, den Akku auf dem Wertstoffhof abzugeben und ihn nicht in den Fotorahmen zu kleben.  </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Battery-1-1024x576.jpg" alt="" class="wp-image-1008" srcset="https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Battery-1-1024x576.jpg 1024w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Battery-1-300x169.jpg 300w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Battery-1-768x432.jpg 768w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Battery-1-1536x864.jpg 1536w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Battery-1-380x214.jpg 380w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Battery-1-800x450.jpg 800w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Battery-1-1160x653.jpg 1160w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Battery-1.jpg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Selbst in diesem alten Nokia 5110 steckte bereits ein Lithium-Ionen-Akku. Von diesen kann mit der Zeit und fortschreitender Alterung eine Gefahr ausgehen</figcaption></figure>



<h2 id="der-kreative-teil" class="cnvs-block-section-heading cnvs-block-section-heading-1747915964990 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Der kreative Teil</span>
	</span>
</h2>



<p>Nachdem das Telefon in seine Einzelteile zerlegt war, ging es um die Positionierung. Beim Nokia 5110 kommen viele ähnlich große zum Einsatz. Wenige Kleinteile, was die Positionierung etwas erschwerte. Nachdem ich mich für ein Layout entschieden hatte, ging es ans &#8222;designen&#8220; des Hintergrunds. Ich habe das Wort absichtlich in Anführungszeichen gepackt: Denn hier muss man wirklich kein Experte oder Grafiker sein. Die Hardware, illuminiert durch die LEDs, ist der eigentliche Hingucker. Mit ein paar kurzen Texten, Erklärungen oder einfachen grafischen Elementen kann man viel erreichen. </p>



<p>In meinem Fall habe ich mir folgende Fragen gestellt: </p>



<ul class="wp-block-list">
<li>Wo positioniere ich den Namen des Telefons prominient?</li>



<li>Kann ich einen kurzen Text schreiben, der etwas über die Geschichte erzählt? </li>



<li>Kann ich die einzelnen Komponenten (Logic Board, Tastenfeld, Cover, &#8230;) benennen? </li>



<li>Kann ich mit Pfeilgrafiken auf bestimmte Bauteile oder Features hinweisen? </li>



<li>Wo soll der Rahmen stehen und welche Farbe hat er: empfiehlt sich ein heller oder ein dunkler Hintergrund?</li>



<li>Welche zeitgemäße, moderne oder zurückhaltende Schriftart verwende ich? </li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Photoframe-1024x576.jpg" alt="" class="wp-image-998" srcset="https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Photoframe-1024x576.jpg 1024w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Photoframe-300x169.jpg 300w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Photoframe-768x432.jpg 768w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Photoframe-1536x864.jpg 1536w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Photoframe-380x214.jpg 380w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Photoframe-800x450.jpg 800w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Photoframe-1160x653.jpg 1160w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Photoframe.jpg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>In Affinity Photo habe ich daraufhin ein bisschen gebastelt, geschoben und experimentiert. Wenn ihr kein Grafikprogramm habt, könnt ihr euch das kostenfreie Tool <a href="https://www.gimp.org/downloads/" target="_blank" rel="noreferrer noopener nofollow">GIMP</a> besorgen, was in der Bedienung als Anfänger vielleicht etwas hakelig sein kann. Alternativ würde ich noch <a href="https://www.canva.com/de_de/" target="_blank" rel="noreferrer noopener nofollow">Canva</a> ins Rennen werfen, was man eingeschränkt nach Registrierung kostenfrei nutzen kann. </p>



<h2 id="hardware-software" class="cnvs-block-section-heading cnvs-block-section-heading-1747917745242 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Hardware &amp; Software</span>
	</span>
</h2>



<p>Zum Einsatz kommen einmal mehr ein ESP8266-Board mit WLED-Software. Wie oben bereits angerissen, sollte man laut WLED-Website für neue Projekte inzwischen ESP32-Boards verwenden, da der 8266er-Chipsatz nicht mehr lange unterstützt werden wird. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Solder-1024x576.jpg" alt="" class="wp-image-1000" srcset="https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Solder-1024x576.jpg 1024w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Solder-300x169.jpg 300w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Solder-768x432.jpg 768w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Solder-1536x864.jpg 1536w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Solder-380x214.jpg 380w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Solder-800x450.jpg 800w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Solder-1160x653.jpg 1160w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Solder.jpg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Die Diode sorgt dafür, dass der Strom nur in eine Richtung fließt und ESP-Board oder USB-Anschluss am Rechner nicht überlastet werden; Als Daten-PIN wird standardmäßig D4 verwendet, was in den Settings aber geändert werden könnte</figcaption></figure>



<p>Auf den ESP wird dann einfach die WLED-Software über den bekannten <a href="https://install.wled.me/" target="_blank" rel="noreferrer noopener nofollow">Webinstaller</a> geflashed. Danach verbinde ich das zusätzliche USB-Board, an welches später das Netzteil angeschlossen wird, mit dem ESP und dem LED-Steifen. Dazwischen kommt noch eine Diode: Wird Strom an die externe USB-Buchse angeschlossen, soll dieser den ESP und den LED-Streifen versorgen. Schließe ich aber z.B. für ein Software-Update ein USB-Kabel an den ESP direkt an, soll dieser nicht den LED-Streifen mit Strom versorgen. Das könnte eine zu Hohe Last für den ESP oder euren USB-Anschluss am Rechner sein. </p>



<p>Apropos: Insbesondere wenn ihr sehr viele LEDs anschließen wollt, solltet ihr euch Gedanken um die Dicke eurer Kabel machen. Sind die zu dünn, können die sich auch entsprechend erhitzen und in Flammen aufgehen. Ich empfehle da immer den <a href="https://wled-calculator.github.io/" target="_blank" rel="noreferrer noopener nofollow">Rechner vom WLED-Projekt</a>. </p>



<p>Danach habe ich die einzelnen LEDs mit dem Streifen verlötet. Dabei ist es wichtig auf die Reihenfolge zu achten! Auf den Streifen befindet sich ein kleiner Pfeil, welche die Laufrichtung anzeigt. </p>



<p>Um den Rahmen von seinem Innenleben trennen zu können, habe ich Magnetkontakte verwendet. Die hatte ich noch rumfliegen, boten sich an, sind aber komplett optional. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Magnet-1024x576.jpg" alt="" class="wp-image-999" srcset="https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Magnet-1024x576.jpg 1024w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Magnet-300x169.jpg 300w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Magnet-768x432.jpg 768w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Magnet-1536x864.jpg 1536w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Magnet-380x214.jpg 380w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Magnet-800x450.jpg 800w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Magnet-1160x653.jpg 1160w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Magnet.jpg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Mit den Magnetkontakten bleiben Rahmen und Hintergrund trennbar (optional)</figcaption></figure>



<h2 id="komponenten-befestigen" class="cnvs-block-section-heading cnvs-block-section-heading-1747919832912 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Komponenten befestigen</span>
	</span>
</h2>



<p>Nachdem das Foto auf dem Hintergrund aufgeklebt wurde, wurden die einzelnen Komponenten des 5110 wieder rum auf das Foto geklebt. Hierbei habe ich anfangs mit kleinen Klebepads gearbeitet. Die funktionieren auch gut, allerdings sollte man einerseits nicht zu wenige von ihnen verwenden und diese nicht in Türmchenbauweise zu hoch stapeln. Sowohl die Platine des Tastenfelds als auch das Cover der Front &#8211; beides große aber leichte Teile &#8211; kamen mir nach 1-2 Tagen entgegen. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Pads-1024x576.jpg" alt="" class="wp-image-1001" srcset="https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Pads-1024x576.jpg 1024w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Pads-300x169.jpg 300w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Pads-768x432.jpg 768w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Pads-1536x864.jpg 1536w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Pads-380x214.jpg 380w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Pads-800x450.jpg 800w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Pads-1160x653.jpg 1160w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_Pads.jpg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Die kleinen Klebepads funktionieren, wenn man sie nicht stapelt und quantitativ nicht sparsam mit ihnen umgeht</figcaption></figure>



<p>Ich habe mich dann dazu entschieden, mit 2-Komponentenkleber aus dem Discounter weiterzumachen. Der war günstig, hält aber nach seinen 2 Stunden Trocknungszeit richtig gut. Als Abstandshalter verwende ich kleine Elemente aus dem 3D-Drucker. Da kann man aber auch sicher ein Stückchen Holz oder ähnliches verwenden, wenn man keinen 3D-Drucker zur Hand hat. </p>



<p>Im Nachgang würde ich definitiv immer wieder den Weg mit dem Kleber gehen. Es ist einfach super ärgerlich, wenn man 2 Tage später auf den Fotorahmen schaut und sich wundert, warum Teile plötzlich eine Etage tiefer liegen als erwartet und schlimmsten Falls noch etwas beschädigen. </p>



<h2 id="konfiguration" class="cnvs-block-section-heading cnvs-block-section-heading-1747918908187 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Konfiguration</span>
	</span>
</h2>



<p>In der WLED-Oberfläche lassen sich nun unterschiedliche Segmente konfigurieren. In meinem Fall befinden neben dem LED-Streifen, der innen einmal um den Rahmen geht, 5 weitere LEDs unter der alten Hardware des Nokia. Über die Segmente ist mir mögliche, unterschiedliche Farben und Effekte für jede LED zu konfigurieren. So stelle ich ein: </p>



<ul class="wp-block-list">
<li>LED 1, Tastenfeld, Segment 1: Grün</li>



<li>LED 2-3, Display, Segment 2: Weiß mit leichtem Blauton</li>



<li>LED 4-5, Platine, Segment 3: Wechselnder, Bunter Farbeffekt</li>
</ul>



<p>Die dann folgenden LEDs sind Teil des Streifens. Auch hier konfiguriere ich unterschiedliche Farben, sodass die einzelnen Komponenten (bunt) und Texte (weiß) unterschiedlich beleuchtet werden. Für wen das zu theoretisch war: Im Video zeige ich das nochmal ganz genau. Im Video wie hier der Hinweis: Speichern nicht vergessen, dass geschieht nämlich nicht automatisch!</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://datort.de/wp-content/uploads/2025/05/Nokia_5110_WLED_Webconfig-1024x576.jpg" alt="" class="wp-image-1004" srcset="https://datort.de/wp-content/uploads/2025/05/Nokia_5110_WLED_Webconfig-1024x576.jpg 1024w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_WLED_Webconfig-300x169.jpg 300w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_WLED_Webconfig-768x432.jpg 768w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_WLED_Webconfig-1536x864.jpg 1536w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_WLED_Webconfig-380x214.jpg 380w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_WLED_Webconfig-800x450.jpg 800w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_WLED_Webconfig-1160x653.jpg 1160w, https://datort.de/wp-content/uploads/2025/05/Nokia_5110_WLED_Webconfig.jpg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Über die IP des ESP-Boards kann man das WLED Webinterface erreichen. Hier kann man einzelne Segmente konfigurieren, welche dann unterschiedliche Farben oder Effekte haben</figcaption></figure>



<h2 id="fazit" class="cnvs-block-section-heading cnvs-block-section-heading-1747919796909 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Fazit</span>
	</span>
</h2>



<p>Ich bin mit dem Ergebnis sehr zufrieden. Bei der Konfiguration der LEDs tobe ich mich vielleicht noch ein bisschen aus, das ist mir vielleicht einen ticken zu farbintensiv. Aber da hat man ja alle Möglichkeiten dank WLED. Ein bisschen Zeit und Geduld sollte man für das Projekt mitbringen. Es sind, abhängig von der Anzahl der verwendeten LEDs, schon einige Arbeitsschritte. Aber es lohnt sich. Was die Kosten angeht, stehe ich am Ende bei irgendwas um die 20-30 Euro. Einige der Komponenten hatte ich noch hier und das Nokia 5110 habe ich jetzt natürlich nicht in die Rechnung mit aufgenommen &#8211; das ist eh unbezahlbar. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://datort.de/wp-content/uploads/2025/05/1-1024x576.jpg" alt="" class="wp-image-1002" srcset="https://datort.de/wp-content/uploads/2025/05/1-1024x576.jpg 1024w, https://datort.de/wp-content/uploads/2025/05/1-300x169.jpg 300w, https://datort.de/wp-content/uploads/2025/05/1-768x432.jpg 768w, https://datort.de/wp-content/uploads/2025/05/1-1536x864.jpg 1536w, https://datort.de/wp-content/uploads/2025/05/1-380x214.jpg 380w, https://datort.de/wp-content/uploads/2025/05/1-800x450.jpg 800w, https://datort.de/wp-content/uploads/2025/05/1-1160x653.jpg 1160w, https://datort.de/wp-content/uploads/2025/05/1.jpg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="768" height="1024" src="https://datort.de/wp-content/uploads/2025/05/IMG_9704-768x1024.jpeg" alt="" class="wp-image-1005" srcset="https://datort.de/wp-content/uploads/2025/05/IMG_9704-768x1024.jpeg 768w, https://datort.de/wp-content/uploads/2025/05/IMG_9704-225x300.jpeg 225w, https://datort.de/wp-content/uploads/2025/05/IMG_9704-1152x1536.jpeg 1152w, https://datort.de/wp-content/uploads/2025/05/IMG_9704-1536x2048.jpeg 1536w, https://datort.de/wp-content/uploads/2025/05/IMG_9704-380x507.jpeg 380w, https://datort.de/wp-content/uploads/2025/05/IMG_9704-800x1067.jpeg 800w, https://datort.de/wp-content/uploads/2025/05/IMG_9704-1160x1547.jpeg 1160w, https://datort.de/wp-content/uploads/2025/05/IMG_9704-scaled.jpeg 1920w" sizes="auto, (max-width: 768px) 100vw, 768px" /></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/featured/986/ein-altes-nokia-als-kunstobjekt/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Kamera Slider für das Mobiltelefon im Eigenbau</title>
		<link>https://datort.de/youtube/717/kamera-slider-fuer-das-mobiltelefon-im-eigenbau/</link>
					<comments>https://datort.de/youtube/717/kamera-slider-fuer-das-mobiltelefon-im-eigenbau/#comments</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Sun, 06 Oct 2024 11:40:14 +0000</pubDate>
				<category><![CDATA[Selbstgebaut]]></category>
		<category><![CDATA[Youtube]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[Elektrotechnik]]></category>
		<category><![CDATA[esp32]]></category>
		<guid isPermaLink="false">https://datort.de/?p=717</guid>

					<description><![CDATA[Wer sich mit dem Erstellen von Videos beispielsweise für Social Media auseinandersetzt, der oder die merkt schnell, dass&#8230;]]></description>
										<content:encoded><![CDATA[
<h2 id="vorwort" class="cnvs-block-section-heading cnvs-block-section-heading-1727870174455 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Vorwort</span>
	</span>
</h2>



<p>Wer sich mit dem Erstellen von Videos beispielsweise für Social Media auseinandersetzt, der oder die merkt schnell, dass man für schöne Aufnahmen manchmal etwas Zubehör benötigt. Sei es das passende Licht, die doch etwas teurere Kamera oder ein externes Mikrofon. Ähnlich ist es, wenn man gleichmäßige Kamerafahrten machen möchte. Da gibt es zum Beispiel Gimbal, die unrunde Bewegungen ausgleichen können. Um meine Projekte in Szene zu setzen, benötigte ich in der Vergangenheit aber häufig eher langsame und gleichmäßige Fahrten von links nach rechts oder vice versa. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="768" src="https://datort.de/wp-content/uploads/2024/10/IMG_8707-1024x768.jpeg" alt="" class="wp-image-784" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8707-1024x768.jpeg 1024w, https://datort.de/wp-content/uploads/2024/10/IMG_8707-300x225.jpeg 300w, https://datort.de/wp-content/uploads/2024/10/IMG_8707-768x576.jpeg 768w, https://datort.de/wp-content/uploads/2024/10/IMG_8707-1536x1152.jpeg 1536w, https://datort.de/wp-content/uploads/2024/10/IMG_8707-2048x1536.jpeg 2048w, https://datort.de/wp-content/uploads/2024/10/IMG_8707-200x150.jpeg 200w, https://datort.de/wp-content/uploads/2024/10/IMG_8707-260x195.jpeg 260w, https://datort.de/wp-content/uploads/2024/10/IMG_8707-380x285.jpeg 380w, https://datort.de/wp-content/uploads/2024/10/IMG_8707-800x600.jpeg 800w, https://datort.de/wp-content/uploads/2024/10/IMG_8707-1160x870.jpeg 1160w, https://datort.de/wp-content/uploads/2024/10/IMG_8707-scaled.jpeg 2560w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Der fertige Kamera Slider mit Handyhalterung aufgebaut auf einem Stativ</figcaption></figure>


<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><a href="https://datort.de/youtube/717/kamera-slider-fuer-das-mobiltelefon-im-eigenbau/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FgvigFvElJ6o%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p>Somit war die Idee für einen Kamera Slider geboren. Zugegeben: Sonderlich kreativ ist das nicht, gibt es im Netz doch bereits einige solcher Projekte. Aber da ich etwas auf dem Weg lernen wollte und die anderen Projekte alle eine gewisse Komplexität mit sich bringen, habe ich bei 0 angefangen. Eine Erkenntnis vorab: Viel weniger Komplex ist mein Projekt leider auch nicht geworden. Deshalb, solltest du den Slider nachbauen wollen, bedenke folgendes: </p>



<p>Das bekommst du: </p>



<ul class="wp-block-list">
<li>Alle 3D-Dateien, um den gezeigten Slider nachzubauen</li>



<li>Infos zu allen von mir verwendeten Teilen</li>



<li>Einen Schaltplan, wie alles zu verkabeln ist</li>



<li>Zahlreiche Bilder in dem Beitrag hier, die zeigen wie ich alles zusammengesetzt habe</li>



<li>Mit etwas Ehrgeiz am Ende einen Slider, der insbesondere bei langsamen Fahrten schöne und ruckelfreie Videos ermöglicht</li>
</ul>



<p>Aber das solltest du mitbringen:</p>



<ul class="wp-block-list">
<li>Einen 3D-Drucker und Filament</li>



<li>Etwas Elektronikerfahrung, damit verbunden Lötkolben und was man halt so braucht</li>



<li>Und vermutlich muss man hier und da ein bisschen mitdenken und: Ich bin Hobbybastler, da ist also vermutlich hier und da Optimierungspotential</li>
</ul>



<p>Wenn das passt: Viel Erfolg! Wenn nicht: Vielleicht kannst Du dir aus den Infos ja dennoch ein paar Informationen für dein eigenes Projekt rausziehen. Vielleicht willst Du ja auch etwas ganz anderes bauen. </p>



<h2 id="teileliste" class="cnvs-block-section-heading cnvs-block-section-heading-1727870261296 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Teileliste</span>
	</span>
</h2>



<p>Für den Druck habe ich beliebiges PLA-Filament verwendet. Nehmt einfach das, mit dem ihr am besten klarkommt. In meinem Fall hatte ich da keine besonderen Anforderungen dran. </p>



<p><strong>Elektronikkomponenten</strong></p>



<ul class="wp-block-list">
<li>ESP32 Wroom 32D</li>



<li>ST7735 1.77&#8243; TFT-Display</li>



<li>KY-040 Rotary Encoder</li>



<li>Nema 17 Schrittmotor</li>



<li>TMC2208 V1.2 Schrittmotor-Treiber</li>



<li>4.7k Widerstände</li>



<li>100 μF Kondensator</li>



<li>Sperrdiode (optional aber empfohlen, siehe Hinweistexte bei &#8222;<em>Die Schaltung</em>&#8222;)</li>



<li>2 Mikroschalter (Endschalter mit Rollenhebel)</li>



<li>Buck-Konverter um 12V auf 5V zu bekommen</li>



<li>Custom-PCB (siehe ebenfalls Abschnitt &#8222;<em>Die Schaltung</em>&#8222;)</li>
</ul>



<p><strong>Weitere Teile</strong></p>



<ul class="wp-block-list">
<li>M3 &amp; M5-Schrauben unterschiedlicher Länge</li>



<li>M3 &amp; M5 Muttern, selbstsichernd</li>



<li>Magentkonnektoren (siehe mein <a href="https://www.tiktok.com/@datort_de/video/7411248616695663904" target="_blank" rel="noreferrer noopener">Tiktok</a> dazu)</li>



<li>1/4&#8243; Zoll Kamera Befestigungsschraube</li>



<li>1/4&#8243; Zoll Mutter für Stativbefestigung</li>



<li>3D-Druckerrollen mit Kugellager</li>



<li>3D Drucker Zahnriemen Satz</li>



<li>Riemenscheibe mit 20 Zähne</li>



<li>Nutensteine M5</li>



<li>Diverse Litze</li>
</ul>



<h2 id="die-3d-teile" class="cnvs-block-section-heading cnvs-block-section-heading-1727885465550 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Die 3D-Teile</span>
	</span>
</h2>



<p>Alle Teile sind von mir selbst erstellt &#8211; bis auf den Aufsatz für den den Rotary Encoder KY-040. Da hab ich ehrlicherweise bei Thingyverse nach dem Erstbesten gesucht. Die Teile sind in einigen Fällen ohne, teilweise mit Supports zu drucken. Ich habe in der Regel ein Infill von 60% verwendet. Ich denke es geht auch weniger. </p>



<p>Ihr findet sämtliche der folgenden 3D-Designs in dieser ZIP-Datei zum Download: </p>



<div class="wp-block-file"><a id="wp-block-file--media-8a1b5859-135d-443a-8b50-faeee4246a52" href="https://datort.de/wp-content/uploads/2024/10/CameraSliderSTL.zip">Camera Slider STL-Dateien</a><a href="https://datort.de/wp-content/uploads/2024/10/CameraSliderSTL.zip" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-8a1b5859-135d-443a-8b50-faeee4246a52">Herunterladen</a></div>



<p><strong>Baseplate</strong></p>



<p>Das ist der der Schlitten, auf dem dann ein Mobiltelefon (in passender Halterung) monitiert werden kann. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.40-1024x666.png" alt="" class="wp-image-724" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.40-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.40-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.40-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.40-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.40-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.40-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.40-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.40-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.40.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Hülse</strong></p>



<p>Hiervon braucht es 4 Stück. Sie dienen als Abstandshalter zwischen Baseplate und den Rollen. Die Schrauben werden durchgeführt, die Rollen von unten aufgeschoben und dann wird alles mit einer selbstsichernden Mutter festgezogen.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.50-1024x666.png" alt="" class="wp-image-725" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.50-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.50-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.50-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.50-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.50-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.50-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.50-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.50-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.50.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Schraube</strong></p>



<p>Diese übergroße Schraube dient dazu, den Riemenspanner auf Spannung zu halten.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.03-1024x666.png" alt="" class="wp-image-726" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.03-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.03-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.03-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.03-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.03-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.03-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.03-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.03-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.03.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Stepper Holder</strong></p>



<p>Wird ans eine Ende des Steppers gebaut und mit 2 Schrauben festgezurrt. Wenn das Aluprofil kein Gewinde hat, muss dieses erst noch geschnitten werden. Auf der einen Seite kann dann der Nema 17 befestigt werden, auf der anderen Seite sind 2 Löcher um einen der Mikroschalter zu befestigen.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.15-1024x666.png" alt="" class="wp-image-727" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.15-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.15-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.15-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.15-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.15-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.15-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.15-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.15-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.15.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Spanner Holder</strong></p>



<p>Das Gegenstück zur Seite mit dem Motor: Hier wird die Schraube und der Spanner eingesetzt, sowie der Pulley. Außerdem befinden sich erneut 2 Löcher an der Seite zur Befestigung des 2. Mikroschalters. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.23-1024x666.png" alt="" class="wp-image-728" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.23-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.23-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.23-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.23-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.23-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.23-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.23-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.23-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.23.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Pulley</strong></p>



<p>Die Rolle über die der Riemen auf der Seite mit dem Spanner geführt wird.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.37-1024x666.png" alt="" class="wp-image-729" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.37-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.37-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.37-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.37-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.37-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.37-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.37-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.37-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.37.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Stativ Mount</strong></p>



<p>Hiermit kann das Aluprofil zusammen mit 4 Nutsteinen und den passenden Schrauben auf einem normalen Stativ befestigt werden. Dazu wird noch eine 1/4&#8243; Mutter benötigt, die einfach mittig in das 3D-Teil eingelegt wird. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.45-1024x666.png" alt="" class="wp-image-730" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.45-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.45-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.45-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.45-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.45-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.45-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.45-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.45-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.45.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Spanner</strong></p>



<p>Dient als Halterung um den Riemen auf Spannung zu halten: Am einen Ende wird die Schraube eingeführt, durch die die Spannung aufgebaut werden kann. Die beiden Arme halten den Pulley, der mit einer Schraube und selbstsichernder Mutter festgehalten wird. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.42-1024x666.png" alt="" class="wp-image-731" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.42-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.42-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.42-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.42-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.42-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.42-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.42-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.42-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.42.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Bottom Case</strong></p>



<p>Da der Motor 12V Spannung benötigt verwende ich ein 12V-Netzzeil. Ein Buck-Konverter macht daraus 5V für das ESP32-Board. Um Platz zu sparen, habe ich mich für diese Plugin-Lösung entschieden. Der Buck-Konverter wird hier eingelegt und dann unter das Control Unit-Case geklippt. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.53-1024x666.png" alt="" class="wp-image-732" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.53-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.53-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.53-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.53-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.53-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.53-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.53-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.53-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.53.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Control Unit Case</strong></p>



<p>Das Gehäuse bietet ein sicheres Zuhause für das Custom PCB. Außerdem kann es von unten mit 4 Nutsteinen samt schrauben von unten am Aluprofil befestigt werden. Oben befindet sich eine Öffnung um die Kabel raus- bzw. reinzuführen. Auf der Hinterseite befinden sich Öffnungen für 2 Magentkontakte, über die die Mikroschalter angeschlossen werden. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.17.14-1024x666.png" alt="" class="wp-image-733" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.17.14-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.17.14-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.17.14-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.17.14-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.17.14-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.17.14-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.17.14-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.17.14-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.17.14.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Plug lower</strong></p>



<p>Um den Magnetschaltern ein Zuhause zu geben, habe ich dieses Gehäuse entworfen: Unterseite</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.41-1024x666.png" alt="" class="wp-image-735" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.41-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.41-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.41-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.41-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.41-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.41-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.41-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.41-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.41.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Plug upper</strong></p>



<p>Um den Magnetschaltern ein Zuhause zu geben, habe ich dieses Gehäuse entworfen: Oberseite</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.49-1024x666.png" alt="" class="wp-image-736" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.49-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.49-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.49-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.49-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.49-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.49-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.49-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.49-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.49.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Cover</strong></p>



<p>Die Abdeckung für die Steuereinheit. Hat Aussparungen für Display, Rotary Encoder, Kühlkörper und Motoransteuerung. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.18.15-1024x666.png" alt="" class="wp-image-734" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.18.15-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.18.15-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.18.15-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.18.15-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.18.15-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.18.15-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.18.15-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.18.15-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.18.15.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 id="die-schaltung" class="cnvs-block-section-heading cnvs-block-section-heading-1728210425595 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Die Schaltung</span>
	</span>
</h2>



<p>Im Video hab ich es erwähnt: Ich bin immer wieder fasziniert davon, wie günstig man heute qualitativ hochwertige, selbst erstellte PCBs bestellen kann. Wenn ihr selbiges tun möchtet, biete ich euch hier gerne das Gerber-File ein, mit dem ich beim Hersteller eurer Wahl bestellen könnt. Für alle, die lieber selbst die einzelnen Komponenten verlöten möchten (so viele sind es ja am Ende nicht) haue ich hier aber auch einen Schaltplan rein. </p>



<p><strong>Beachtet: Wenn ihr die Schaltung nachbaut, macht ihr das auf eigene Gefahr!</strong><br>Lest bitte auch folgende Hinweise!</p>



<p><strong>Hinweis: </strong>Anders als im Schaltplan angegeben, habe ich noch eine Sperrdiode zwischen die 5V (im Schaltplan U10) und den daran angeschlossenen Buck-Converter gesetzt um sicher zu sein, dass die 5V auch nur in Richtung des ESP32-Boards fließen. Ohne die kann es sein, dass der Strom über das ESP32-Board zurück in Richtung Stepper-Treiber fließt und das Board oder die dahinter befindliche Stromquelle überlastet!</p>



<p><strong>Hinweis 2: </strong>Das ganze ist ein Hobby für mich, ich hab den Kram nicht gelernt. An der Schaltung kann mit Sicherheit einiges optimiert werden. Ich kann nicht garantieren, dass das alles sicher umgesetzt ist. Ich bin für konstruktives Feedback offen und erinnere: Wenn ihr das nachbaut, macht ihr das auf eigene Gefahr!</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="724" src="https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06-1024x724.png" alt="" class="wp-image-743" srcset="https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06-1024x724.png 1024w, https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06-300x212.png 300w, https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06-768x543.png 768w, https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06-1536x1087.png 1536w, https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06-2048x1449.png 2048w, https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06-380x269.png 380w, https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06-800x566.png 800w, https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06-1160x821.png 1160w, https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06.png 2338w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<div class="wp-block-file"><a id="wp-block-file--media-9dd0c655-1bce-4c03-a8ca-1ee4104c9e16" href="https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06.pdf">Schaltplan als PDF herunterladen</a><a href="https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06.pdf" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-9dd0c655-1bce-4c03-a8ca-1ee4104c9e16">Herunterladen</a></div>



<h2 id="die-software" class="cnvs-block-section-heading cnvs-block-section-heading-1728212358002 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Die Software</span>
	</span>
</h2>



<p>Bei dem Projekt handelt es sich um ein Arduino-Projekt welches mit PlatformIO entwickelt wurde. Entsprechend sind die verwendeten Bibliotheken in der Konfiguration des Projekts enthalten. Ihr könnt euch das Projekt von meinem Github-Account ziehen, lokal mit PlatformIO bauen und auf das ESP32-Board flashen. Ein fertiger Build, wie ich das bei anderen Projekten teils anbiete, existiert hier leider bisher nicht. </p>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://github.com/datort/camera-slider" target="_blank" rel="noreferrer noopener">Camera Slider Software @Github</a></div>
</div>



<h2 id="bilder-im-detail" class="cnvs-block-section-heading cnvs-block-section-heading-1728225364022 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Bilder: Im Detail</span>
	</span>
</h2>



<p>Bilder sagen oft mehr als tausend Worte. Insbesondere wenn man ein etwas umfangreicheres Projekt wie dieses vor der Brust hat und keine Step-by-Step-Anleitung geliefert bekommt. Deshalb habe ich den Slider an allen Ecken einmal im Detail abfotografiert. </p>


<div class="cnvs-block-justified-gallery cnvs-block-justified-gallery-1728226010496" >
<div
	class='gallery cnvs-gallery-type-justified'
	data-jg-margins="10"
	data-jg-border="-10"
	data-jg-row-height="150"
	data-jg-max-row-height="-1"
	data-jg-last-row="nojustify"
	data-jg-captions="false"
	data-jg-randomize="false"
>
			<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8716-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8716-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8716-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8716-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8716-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8717-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8717-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8717-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8717-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8717-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8718-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8718-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8718-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8718-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8718-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8719-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8719-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8719-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8719-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8719-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8720-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8720-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8720-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8720-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8720-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8721-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8721-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8721-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8721-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8721-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8722-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8722-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8722-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8722-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8722-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8723-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8723-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8723-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8723-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8723-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8724-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8724-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8724-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8724-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8724-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8725-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8725-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8725-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8725-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8725-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8726-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8726-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8726-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8726-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8726-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8728-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8728-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8728-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8728-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8728-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8729-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8729-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8729-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8729-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8729-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8730-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8730-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8730-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8730-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8730-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8731-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8731-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8731-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8731-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8731-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8732-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8732-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8732-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8732-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8732-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
		</div>

</div>


<h2 id="fazit" class="cnvs-block-section-heading cnvs-block-section-heading-1728212688915 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Fazit</span>
	</span>
</h2>



<p>Ihr merkt, das Ganze ist kein 08/15-Projekt welches man mal eben schnell nachbaut. Ihr benötigt so einiges an Komponenten, einen 3D-Drucker und etwas Geduld und Hirnschmalz beim Zusammenbauen. Um ehrlich zu sein: Ich war mir anfangs unsicher, ob ich überhaupt ein Video oder diesen Blogbeitrag zu dem Kamera Slider schreiben will. Habe mich dann aber doch dafür entschieden. Denn vielleicht kann sich der Eine oder die Andere bei der Verwirklichung des eigenen Projekts irgendwas abschauen. Und dann wär es doch bereits ein Erfolg. In dem Sinne, danke für&#8217;s Lesen, viel Spaß und vielleicht sieht und ließt man sich ja mal auf meinem YouTube-Kanal. </p>
]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/youtube/717/kamera-slider-fuer-das-mobiltelefon-im-eigenbau/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>DIY LED Matrix im Eigenbau</title>
		<link>https://datort.de/raspberry-arduino/625/diy-led-matrix-im-eigenbau/</link>
					<comments>https://datort.de/raspberry-arduino/625/diy-led-matrix-im-eigenbau/#comments</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Sat, 09 Mar 2024 18:57:51 +0000</pubDate>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[LED]]></category>
		<category><![CDATA[Raspberry & Arduino]]></category>
		<category><![CDATA[Selbstgebaut]]></category>
		<category><![CDATA[Youtube]]></category>
		<category><![CDATA[Awtrix]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[esp32]]></category>
		<guid isPermaLink="false">https://datort.de/?p=625</guid>

					<description><![CDATA[Vor zwei oder drei Jahren wurde mir das erste Mal beim Weihnachtsshopping eine LED-Matrix als Geschenkidee vorgeschlagen. Mit&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Vor zwei oder drei Jahren wurde mir das erste Mal beim Weihnachtsshopping eine LED-Matrix als Geschenkidee vorgeschlagen. Mit 160,- Euro fand ich den Spaß arg teuer. Auch die knapp 50,- Euro für die günstigere Variante von Ulanzi, der TC001 wollte ich irgendwie nicht springen lassen. Für (im besten Fall) noch ein bisschen weniger Geld und mit dem Spaß eines Bastelprojekts habe ich mich nun dran gewagt mir sowas selbst zu basteln. </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"><a href="https://datort.de/raspberry-arduino/625/diy-led-matrix-im-eigenbau/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2F7jet_Ib3opY%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p>Im Kern kommen vier 8x8er RGB LED Matrixen und ein ESP32-WROOM-32D zum Einsatz. Ähnliche Komponenten wie wohl auch in der TC001 verbaut. Als Software verwende ich die <a href="https://github.com/Blueforcer/awtrix3">&#8222;Awtrix 3&#8220;-Bibliothek</a> (vormals &#8222;Awtrix light&#8220;, im Kern aber die gleiche Software). Das ist eine aktive OpenSource-Weiterentwicklung der Awtrix-Bibliothek, einer Software für eine inzwischen wieder eingestellte LED Matrix. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://datort.de/wp-content/uploads/2024/03/4-1024x576.jpg" alt="" class="wp-image-627" srcset="https://datort.de/wp-content/uploads/2024/03/4-1024x576.jpg 1024w, https://datort.de/wp-content/uploads/2024/03/4-300x169.jpg 300w, https://datort.de/wp-content/uploads/2024/03/4-768x432.jpg 768w, https://datort.de/wp-content/uploads/2024/03/4-1536x864.jpg 1536w, https://datort.de/wp-content/uploads/2024/03/4-380x214.jpg 380w, https://datort.de/wp-content/uploads/2024/03/4-800x450.jpg 800w, https://datort.de/wp-content/uploads/2024/03/4-1160x653.jpg 1160w, https://datort.de/wp-content/uploads/2024/03/4.jpg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Unten: Die LED-Panele befinden sich eingeklemmt hinter dem Gitter, welches für den groben Pixel-Look sorgt</figcaption></figure>



<p>Um Geld zu sparen, kommt das Gehäuse aus dem 3D-Drucker. Es wurde selbst designed und ist extrem minimalistisch gehalten. Zentraler Punkt sind die Gitter, hinter welche die kleinen LED-Panels geklemmt werden können. Die Gitter selbst können dann mit kleinen Haken an der Ober- bzw. Unterseite ineinander gehangen werden. Das Ganze fügt sich dann wieder rum in das Gehäuse ein, welches dann durch eine dünne Front verkleidet wird. (Fast) Fertig ist LED-Matrix. </p>



<p>Auf der Rückseite habe ich den ESP32 festgeklebt und verlötet. Strom kommt über USB und geschaltet werden kann die Anzeige über einen kleinen Schalter an der Unterseite. Apropos Strom: Die Displays sind recht energiehungrig und emittieren je nach Helligkeit einiges an Wärme. Das sollte man im Blick haben: Zum einen damit das Gehäuse sich nicht verformt. Zum Anderen sollte ein entsprechend starkes Netzteil angeschloßen und im Querschnitt nicht zu dünne Kabel verwendet werden. <br>Da ich bei meiner günstigen Variante keine Schalter und Sensoren verbaue, fehlt der Software beim ersten Start somit auch die Information über die Raumhelligkeit. Entsprechend hell werden die Panels also beim ersten Start angesteuert. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://datort.de/wp-content/uploads/2024/03/5-1024x576.jpg" alt="" class="wp-image-628" srcset="https://datort.de/wp-content/uploads/2024/03/5-1024x576.jpg 1024w, https://datort.de/wp-content/uploads/2024/03/5-300x169.jpg 300w, https://datort.de/wp-content/uploads/2024/03/5-768x432.jpg 768w, https://datort.de/wp-content/uploads/2024/03/5-1536x864.jpg 1536w, https://datort.de/wp-content/uploads/2024/03/5-380x214.jpg 380w, https://datort.de/wp-content/uploads/2024/03/5-800x450.jpg 800w, https://datort.de/wp-content/uploads/2024/03/5-1160x653.jpg 1160w, https://datort.de/wp-content/uploads/2024/03/5.jpg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Erster Start: Die Matrix zeigt nur wirre Zeichen. Das lässt sich über eine Konfiguration korrigieren</figcaption></figure>



<p>Am Ende komme ich bei knapp unter 22,- Euro raus. Neben den reinen Elektrokomponenten einberechnet ist auch der Strom für den 3D-Drucker, der so ca. 17 Stunden lang gedruckt hat. Außerdem anteilig etwas für das PLA, die Kabel und den verwendeten Kleber um die beiden Hälften zu vereinen. </p>



<p>Am Ende bin ich echt zufrieden mit dem Ergebnis. Die Anzeige sieht schlicht aus, die Dot-Matrix-Ansicht sieht ordentlich aus. Wenn ich es mir wünschen könnte, hätte ich es gerne einen ticken schärfer an den Kanten gehabt. Aber das ist kein Problem, solange man nicht direkt mit der Nase vor der Anzeige steht. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1920" height="1080" src="https://datort.de/wp-content/uploads/2024/03/6-1024x576.jpg" alt="" class="wp-image-629" srcset="https://datort.de/wp-content/uploads/2024/03/6-1024x576.jpg 1024w, https://datort.de/wp-content/uploads/2024/03/6-300x169.jpg 300w, https://datort.de/wp-content/uploads/2024/03/6-768x432.jpg 768w, https://datort.de/wp-content/uploads/2024/03/6-1536x864.jpg 1536w, https://datort.de/wp-content/uploads/2024/03/6-380x214.jpg 380w, https://datort.de/wp-content/uploads/2024/03/6-800x450.jpg 800w, https://datort.de/wp-content/uploads/2024/03/6-1160x653.jpg 1160w, https://datort.de/wp-content/uploads/2024/03/6.jpg 1920w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></figure>



<h2 id="3d-druck-dateien" class="cnvs-block-section-heading cnvs-block-section-heading-1713877970814 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>3D-Druck &amp; Dateien</span>
	</span>
</h2>



<p>In meinem Video seht ihr alles Wichtige zum Aufbau und der Konfiguration. Auch wie ihr die Displays ans Laufen bekommen könnt, wenn diese nach dem ersten Start nur Unfug anzeigen. Wenn ihr das Gehäuse selbst in euren 3D-Drucker packen wollt, findet ihr hier den Download. Bitte beachtet: Das ist natürlich jetzt absolut Custom-Made. Will sagen. Wenn eure LED-Panel bspw. leicht andere Dimensionen haben kann es sein, dass es schon nicht mehr passt und ihr den Druck selbst modifizieren müsst.  </p>



<p>Zum Download stelle ich zwei Dateien. Der erste Download enthält eine STL-Dateien mit dem gesamten Modell. Im zweiten ZIP-Archiv befinden sich alle Elemente einzeln. Nutzt, womit ihr besser klar kommt. </p>



<div class="wp-block-file"><a id="wp-block-file--media-6d46fedd-0e60-4067-a033-b0c9ee12e9d0" href="https://datort.de/wp-content/uploads/2024/03/RGB_LED_Matrix.zip">3D Daten (Fusion360 Archiv, STL mit allen Elementen)</a><a href="https://datort.de/wp-content/uploads/2024/03/RGB_LED_Matrix.zip" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-6d46fedd-0e60-4067-a033-b0c9ee12e9d0">Herunterladen</a></div>



<div class="wp-block-file"><a id="wp-block-file--media-bfe67f10-729e-4b74-9b83-b3dd30cf1702" href="https://datort.de/wp-content/uploads/2024/03/RGB_LED_STL_einzeln-1.zip">3D Daten: Einzelne STL-Dateien für jedes Bauteil</a><a href="https://datort.de/wp-content/uploads/2024/03/RGB_LED_STL_einzeln-1.zip" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-bfe67f10-729e-4b74-9b83-b3dd30cf1702">Herunterladen</a></div>



<h2 id="ansteuern-der-awtrix-3" class="cnvs-block-section-heading cnvs-block-section-heading-1713877949459 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Ansteuern der Awtrix 3</span>
	</span>
</h2>


<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><a href="https://datort.de/raspberry-arduino/625/diy-led-matrix-im-eigenbau/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2Fcb7K3qUKJrM%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>

<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><a href="https://datort.de/raspberry-arduino/625/diy-led-matrix-im-eigenbau/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FAkCocqeyH_U%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p>Nachdem das erste Video mit dem Zusammenbau der Matrix viele Leute interessiert hat, erkläre ich in einem zweiten Video betont anfängerfreundlich, wie die Matrix angesprochen wird. Mit dabei Infos, wie man eigene Apps gestaltet oder die eingebauten Effekte nutzt. Teil des Videos sind auch die folgenden Scripte, welche den Funktionsumfang eurer Matrix mit nützlichen Infos erweitern und vielleicht der Einstieg in eigene Erweiterungen sein könnten.</p>



<h2 id="python-script-youtube-abos" class="cnvs-block-section-heading cnvs-block-section-heading-1713877922530 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Python-Script: YouTube Abos</span>
	</span>
</h2>



<p>In diesem Zustand fungiert die Matrix rein als Display. Mit anderen Worten: Sie kann nix, abgesehen von der Uhrzeit und Datumsanzeige. Inhalte können aber ja einfach über die HTTP-API oder mittels MQTT überspielt werden. Für meinen Fall &#8211; ich möchte die Abozahlen meines YouTube-Kanals anzeigen &#8211; hilft mir dafür folgendes Python-Script:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
import requests
import time

# YouTube API Informationen
youtube_api_key = &quot;xxx&quot;
channel_id = &quot;xxx&quot;

# Awtrix Light Matrix Informationen
awtrix_ip = &quot;192.168.xxx.xxx&quot;


def get_subscribers_count(api_key, channel_id):
    url = f&quot;https://www.googleapis.com/youtube/v3/channels?part=statistics&amp;id={channel_id}&amp;key={api_key}&quot;
    response = requests.get(url)
    data = response.json()
    subscribers = int(data&#x5B;&quot;items&quot;]&#x5B;0]&#x5B;&quot;statistics&quot;]&#x5B;&quot;subscriberCount&quot;])
    return subscribers

def send_app_to_awtrix(app_name, text, icon, duration):
    headers = {&quot;Content-Type&quot;: &quot;application/json&quot;}
    data = {
        &quot;text&quot;: text,
        &quot;icon&quot;: icon,
        &quot;duration&quot;: duration
        &quot;lifetime&quot;: 600
    }

    awtrix_url = &quot;http://&quot;+ awtrix_ip + &quot;/api/custom?name=&quot; + app_name
    response = requests.post(awtrix_url, json=data, headers=headers)
    
    if (response.text != &quot;OK&quot;):
        print(response.text)

    time.sleep(duration * 4)

def host_available():
    try:
        result = subprocess.run(&#x5B;&#039;ping&#039;, &#039;-c&#039;, &#039;1&#039;, awtrix_ip], capture_output=True, text=True, timeout=5)
        return result.returncode == 0

    except subprocess.TimeoutExpired:
        print(f&quot;Timeout: {awtrix_ip} is not reachable&quot;)


def main():
    while True:
        try:
            if host_available:
                subscribers = get_subscribers_count(youtube_api_key, channel_id)
                send_app_to_awtrix(&quot;youtube&quot;, f&quot;{subscribers}&quot;, 7320, 15)
            
            time.sleep(300)
        except Exception as e:
            print(f&quot;Fehler: {e}&quot;)
            time.sleep(60)

if __name__ == &quot;__main__&quot;:
    main()

</pre></div>


<p>In dem Code wird ein Icon mit der ID 7320 verwendet. Dazu sei gesagt: Über das Webinterface der Awtrix Light-Bibliothek lassen sich unter dem Punkt &#8222;Icons&#8220; vorgefertigte Grafiken importieren. Diese stammen von <a href="https://developer.lametric.com/icons" target="_blank" rel="noreferrer noopener">developer.lametric.com</a>, können dort ausgewählt und nutzerfreundlich eingespielt werden. Ach ja, und um die YouTube-API nutzen zu können, müsst ihr euch zunächst für die Nutzung bei <a href="https://developers.google.com/youtube/v3/getting-started" target="_blank" rel="noreferrer noopener">Google freischalten</a>. Kostet aber nix. </p>



<h2 id="python-script-wetter-via-openweathermap" class="cnvs-block-section-heading cnvs-block-section-heading-1713877892154 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Python-Script: Wetter via OpenWeatherMap</span>
	</span>
</h2>



<p>Nicht jeder unterhält einen YouTube-Kanal, aber bei überall gibt&#8217;s Wetter! Und so möchte man vielleicht Informationen wie die aktuelle Temperatur oder ob sich Regen nähert auf der Matrix anzeigen. Als Datenquelle kann dafür super die OpenWeatherMap dienen. Wer es nicht kennt: OWM ist inzwischen ein alter Hase wenn es darum geht, über eine (für die kleine Nutzung) kostenfreie API Wetterdaten für beliebige Standorte zu liefern. Einfach kurz mit E-Mail-Adresse anmelden, API-Key kopieren und los geht&#8217;s. Folgendes Python-Script holt sich Wetterinformationen von einem bestimmten Standort mittels Geo-Koordinaten und sendet das aktuelle Wetter mit Icon und Temperatur an die Awtrix: </p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
import requests
import time

# OpenWeatherMap API Informationen
api_key = &quot;...&quot;
lat = &quot;50.93&quot;
lon = &quot;6.95&quot;

# OpenWeatherMap Icon -&gt; Awtrix Icon
condition_mapping = {
    &quot;01d&quot;: 1630,
    &quot;01n&quot;: 962,
    &quot;02d&quot;: 2286,
    &quot;02n&quot;: 54631,
    &quot;03d&quot;: 12246,
    &quot;03n&quot;: 12246,
    &quot;04d&quot;: 12294,
    &quot;04n&quot;: 12294,
    &quot;09d&quot;: 2284,
    &quot;09n&quot;: 2284,
    &quot;10d&quot;: 2416,
    &quot;10n&quot;: 2416,
    &quot;11d&quot;: 2981,
    &quot;11n&quot;: 2981,
    &quot;13d&quot;: 1673,
    &quot;13n&quot;: 1673,
    &quot;50d&quot;: 17056,
    &quot;50n&quot;: 17056
}

# Awtrix Light Matrix Informationen
awtrix_ip = &quot;192.168.xxx.xxx&quot;


def get_weather(api_key, lat, lon):
    url = f&quot;http://api.openweathermap.org/data/2.5/weather?lat={lat}&amp;lon={lon}&amp;appid={api_key}&amp;units=metric&quot;
    response = requests.get(url)
    data = response.json()

    if response.status_code == 200:
        icon = data&#x5B;&quot;weather&quot;]&#x5B;0]&#x5B;&quot;icon&quot;]
        temperature = data&#x5B;&quot;main&quot;]&#x5B;&quot;temp&quot;]
        return temperature, icon
    else:
        return None, None

def send_app_to_awtrix(app_name, text, icon, duration):
    headers = {&quot;Content-Type&quot;: &quot;application/json&quot;}
    data = {
        &quot;text&quot;: text,
        &quot;icon&quot;: icon,
        &quot;duration&quot;: duration
    }

    awtrix_url = &quot;http://&quot;+ awtrix_ip + &quot;/api/custom?name=&quot; + app_name
    response = requests.post(awtrix_url, json=data, headers=headers)
    
    if (response.text != &quot;OK&quot;):
        print(response.text)

    time.sleep(duration * 4)

def host_available():
    try:
        result = subprocess.run(&#x5B;&#039;ping&#039;, &#039;-c&#039;, &#039;1&#039;, awtrix_ip], capture_output=True, text=True, timeout=5)
        return result.returncode == 0

    except subprocess.TimeoutExpired:
        print(f&quot;Timeout: {awtrix_ip} is not reachable&quot;)


def main():
    while True:
        try:
            if host_available:
                temperature, icon = get_weather(api_key, lat, lon)

                if temperature is not None and icon is not None:
                    send_app_to_awtrix(&quot;owm&quot;, &quot;{:.1f}°C&quot;.format(temperature), condition_mapping.get(icon), 15)
                else:
                    print(&quot;Failed to retrieve weather information.&quot;)

            time.sleep(300)

        except Exception as e:
            print(f&quot;Fehler: {e}&quot;)
            time.sleep(60)

if __name__ == &quot;__main__&quot;:
    main()

</pre></div>


<h2 id="teileliste" class="cnvs-block-section-heading cnvs-block-section-heading-1713877855219 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Teileliste</span>
	</span>
</h2>



<p>Die Anzahl der verwendeten Komponenten ist bei diesem Projekt recht überschaubar:</p>



<ul class="wp-block-list">
<li>1x ESP32-Wroom-32D Entwicklerboard*</li>



<li>4x 8&#215;8-RGB-LED-Panel, 5V, WS2812B, ca. 71 x 71 mm** (wie z.B. bei <a href="https://de.aliexpress.com/item/1005006127587095.html" target="_blank" rel="noreferrer noopener">AliExpress</a>)</li>



<li>1x Wippschalter I/O, 11&#215;15 mm</li>



<li>1x Micro-USB-Board (wie z.B. bei <a href="https://www.amazon.de/gp/product/B07TVHR9LF/" target="_blank" rel="noreferrer noopener">Amazon</a>)</li>



<li>1x USB-Netzteil, USB-Anschlusskabel und etwas Litze zur Verkabelung der Matrixen, des Boards, Schalters und des Micro-USB-Boards***</li>



<li>&#8222;ecoPLA Weiß&#8220; von 3DJake für das Gehäuse, Noname schwarzes PLA für das Pixel-Gitter im inneren</li>



<li>Noname 2-Komponent-Kleber um die Gehäuse-Hälften miteinander zu verbinden </li>
</ul>



<p>*) Mit großer Wahrscheinlichkeit funktionieren auch ESP-Boards ohne den Zusatz &#8222;D&#8220;. Ich habe die D-Variante im Video erwähnt, da diese zum einen meines Wissens in der TC001 verbaut ist und somit wohl die größte Kompatibilität gewährleistet ist. Außerdem benötigt euer ESP-Board GPIO-Pins bis 35, zumindest wenn ihr auch Licht- und Temperatursensoren verbauen wollt. Sonst immerhin bis GPIO-Pin 32, denn dort wird die Matrix angeschlossen. Wenn ihr ein Board ohne &#8222;D&#8220;-Zusatz habt welches aber die benötigten GPIO-Pins mitbringt, könnt ihr im Zweifel einfach &#8222;blind&#8220; die Awtrix-Bibliothek flashen. Gelingt die Installation und könnt ihr danach auf das Webinterface zugreifen, so ist die Wahrscheinlichkeit relativ hoch, dass auch der Rest funktionieren sollte. </p>



<p>**) Ich habe genau dieses Modell bestellt, allerdings befürchte ich, dass die Module nicht immer die exakt 100% gleiche Größe haben werden und daher besser oder schlechter in die von mir designte Fassung passen. Es kann sein, dass hier Nacharbeiten eurerseits nötig werden. So fiel mir z.B. bereits auf, das die versprochenen 71 x 71 mm bei meinen Modulen nicht eingehalten werden. Am Ende zählt hier aber jeder Millimeter, da ich keine Abstände zwischen den einzelnen Matrixen haben und das Gehäuse so kompakt wie möglich halten wollte.</p>



<p>***) Ich habe hier ein altes 5W-USB-Netzteil verwendet, was in meinem Fall völlig ausreichend ist. Am Ende sind Stärke der verwendeten Litze sowie des Netzteils von der Frage abhängig, mit welcher Helligkeit ihr die Matrix betreiben möchtet. Je heller, desto mehr Strom muss das Netzteil liefern und die Kabel aushalten können. Ich betreibe das Display mit einer Helligkeit von 20 (Bereich: 0-255), was in meinem Fall völlig ausreicht. Dabei bleibe ich unter den genannten 5 Watt. Wird die Grenze überschritten fangen die LEDs an zuflackern und wahrscheinlich hängt sich das ESP-Board irgendwann auf. </p>



<h2 id="wichtige-hinweise" class="cnvs-block-section-heading cnvs-block-section-heading-1713877817867 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Wichtige Hinweise</span>
	</span>
</h2>



<p>Bitte bedenke: Es handelt sich um ein privates Bastelprojekt eines Hobbyschraubers. Will sagen: So wie gezeigt funktioniert das Ganze gut, aber es bestehen auch Gefahren: Bspw. kann von zu dünnen Kabeln bei hoher Stromaufnahme der LEDs eine Brandgefahr ausgehen oder durch Abwärme das PLA verformen oder mehr. Bei Fehlanschluss des ESP-Boards kann selbiges Schaden nehmen. Heißt: Baut meine Sachen gerne nach, aber ihr handelt eigenverantwortlich. Ich will jeden ermutigen sich auch Themen anzunehmen, in denen er oder sie bisher keine Expertise besitzt, aber geht clever vor: Informiert euch abseits meines Blogs, lasst eure Errungenschaften nicht unbeaufsichtigt laufen usw. Man lernt nie aus.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/raspberry-arduino/625/diy-led-matrix-im-eigenbau/feed/</wfw:commentRss>
			<slash:comments>27</slash:comments>
		
		
			</item>
		<item>
		<title>Mit dem C64 via WiC64 im Internet</title>
		<link>https://datort.de/vergleiche-tests/442/mit-dem-c64-via-wic64-im-internet/</link>
					<comments>https://datort.de/vergleiche-tests/442/mit-dem-c64-via-wic64-im-internet/#respond</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Fri, 20 Oct 2023 09:31:53 +0000</pubDate>
				<category><![CDATA[Retro Computing]]></category>
		<category><![CDATA[Retro Tech]]></category>
		<category><![CDATA[Vergleiche & Tests]]></category>
		<category><![CDATA[Youtube]]></category>
		<category><![CDATA[Commodore 64]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[esp32]]></category>
		<category><![CDATA[Retro]]></category>
		<category><![CDATA[Spiele]]></category>
		<guid isPermaLink="false">https://datort.de/?p=442</guid>

					<description><![CDATA[Es ist schon was dran, wenn man behauptet das ich kein Early Adopter bin. Deshalb schaue ich mir&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Es ist schon was dran, wenn man behauptet das ich kein Early Adopter bin. Deshalb schaue ich mir auch erst jetzt, etwa zwei Jahre nach dessen Veröffentlichung den WiC64 an. Immer mit der Ruhe ist aber auch eher mein Motto. </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"><a href="https://datort.de/vergleiche-tests/442/mit-dem-c64-via-wic64-im-internet/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FZnITzUk2Q6Y%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p>Aber worum geht es überhaupt? Für alle denen der WiC64 nichts sagt: Es handelt sich bei der kleinen Platine um eine Erweiterung für den C64, C128, SX64 und VIC20. Das Modul ist derzeit für 35,- Euro zu haben. Ganz ohne Lötkolben kommt man dabei nicht aus, denn der Userport-Stecker muss vom Käufer noch aufgelötet werden. Danach ist das Modul einsatzbereit und man kann loslegen. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="819" src="https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.11-1024x819.png" alt="" class="wp-image-443" srcset="https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.11-1024x819.png 1024w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.11-300x240.png 300w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.11-768x615.png 768w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.11-1536x1229.png 1536w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.11-380x304.png 380w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.11-800x640.png 800w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.11-1160x928.png 1160w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.11.png 1732w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">WiC64 fertig aufgebaut</figcaption></figure>



<p>Nachdem man die bereitgestellte Software für den Commodore gestartet und sein WLAN konfiguriert hat, stehen einem im Hauptmenü vier Kategorien zur Auswahl: <strong>Online Games</strong>, <strong>Chat and Communication</strong>, <strong>File Area</strong> und <strong>Internet</strong>. Hier hat man die Möglichkeit, sich in einigen Spielen mittels Highscores online zu messen. Mittels Chat und Messageboard kann man mit anderen Nutzern in Kontakt kommen. Über die File Area lassen sich diverse Apps oder Spiele nutzen. Und in der Internet-Sektion kann man Google Maps auf dem C64 nutzen (ja, wirklich!) oder mittels Telnet auch im Jahre 2023 weltweit alte BBS ansteuern. Das war für mich schon ein besonderes Erlebnis. Auch schön: Über das WiC64 Radio kann man sich SID-Tunes direkt auf den Commodore streamen lassen und in eigenen Playlists verwalten. Oder einfach nur lauschen.</p>



<p>Herzstück des WiC64 ist ein ESP32-Entwicklerboard, was zum einen über den eingebauten Wifi-Chip die Kommunikation mit dem Netzwerk herstellt. Zum anderen kommuniziert es mit dem C64 über den Userport. Die nötige Software findet man auf der Website des Projekts. Sie kann dann ganz normal z.B. über ein SD2IEC-Device geladen werden. </p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-12 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="600" data-id="445" src="https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.27.58-1024x600.png" alt="" class="wp-image-445" srcset="https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.27.58-1024x600.png 1024w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.27.58-300x176.png 300w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.27.58-768x450.png 768w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.27.58-1536x900.png 1536w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.27.58-2048x1201.png 2048w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.27.58-380x223.png 380w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.27.58-800x469.png 800w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.27.58-1160x680.png 1160w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.27.58.png 2122w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Hauptmenü</figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="627" data-id="446" src="https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.28.25-1024x627.png" alt="" class="wp-image-446" srcset="https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.28.25-1024x627.png 1024w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.28.25-300x184.png 300w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.28.25-768x470.png 768w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.28.25-1536x940.png 1536w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.28.25-2048x1253.png 2048w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.28.25-380x233.png 380w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.28.25-800x490.png 800w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.28.25-1160x710.png 1160w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.28.25.png 2108w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">SID Radio</figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="655" data-id="447" src="https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.28.47-1024x655.png" alt="" class="wp-image-447" srcset="https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.28.47-1024x655.png 1024w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.28.47-300x192.png 300w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.28.47-768x492.png 768w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.28.47-1536x983.png 1536w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.28.47-2048x1311.png 2048w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.28.47-380x243.png 380w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.28.47-800x512.png 800w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.28.47-1160x742.png 1160w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.28.47.png 2100w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Kölner Dom via Streetview</figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="676" data-id="444" src="https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.50-1024x676.png" alt="" class="wp-image-444" srcset="https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.50-1024x676.png 1024w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.50-300x198.png 300w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.50-768x507.png 768w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.50-1536x1015.png 1536w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.50-380x251.png 380w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.50-800x528.png 800w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.50-1160x766.png 1160w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.50.png 1974w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Online in BBS</figcaption></figure>
</figure>



<p>Der WiC64 erweitert den C64 mit der Möglichkeit ins Netz zu kommen um nützliche Funktionen. Dinge wie das Ansteuern der Mailboxen beispielsweise sind natürlich auch mit jedem anderen modernen Modem möglich. Von denen gibt es inzwischen ja eine gewisse Auswahl. Mit dem Portal macht es der WiC64 aber einfach, direkt loszulegen sobald das WLAN einmal eingestellt ist. Somit ist das (abgesehen vom Löten vielleicht) auch durchaus was für Leute, die in all den Jahren im Umgang mit dem C64 etwas eingerostet sind. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="674" src="https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.24-1024x674.png" alt="" class="wp-image-448" srcset="https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.24-1024x674.png 1024w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.24-300x197.png 300w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.24-768x505.png 768w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.24-1536x1011.png 1536w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.24-2048x1348.png 2048w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.24-380x250.png 380w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.24-800x526.png 800w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.24-1160x763.png 1160w, https://datort.de/wp-content/uploads/2023/10/Bildschirmfoto-2023-10-17-um-21.29.24.png 2182w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">WiC64 im Userport meines C64C, die Software kommt von einem SD2IEC</figcaption></figure>



<p>Ganz Problemlos ist die Erfahrung aber auch nicht: So hatte ich in meinem Test erst Probleme, den WiC64 mit meinem WLAN zu verbinden. Außerdem liefen nicht alle der Anwendungen immer ganz fehlerfrei. Aber hey, man darf nicht vergessen, dass wir es hier mit einem Projekt einiger Enthusiasten zu tun haben die da viel Herzblut reingesteckt haben. Und ganz ehrlich: Respekt für eure Arbeit! </p>



<p>Mein Video ist ein kleiner Zusammenschnitt der quasi einmal von Anfang an zeigt, wie das Modul in Betrieb genommen wird und was man in den unterschiedlichen Bereichen des Portals so machen kann. </p>



<ul class="wp-block-list">
<li><a href="https://www.wic64.de/">WiC64.de</a></li>



<li><a href="http://cbbsoutpost.servebbs.com/">BBS Outpost</a> </li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/vergleiche-tests/442/mit-dem-c64-via-wic64-im-internet/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
