<?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>datort &#8211; datort.de</title>
	<atom:link href="https://datort.de/author/ts/feed/" rel="self" type="application/rss+xml" />
	<link>https://datort.de</link>
	<description>Retro, Gaming, Tech: Videos und Berichte</description>
	<lastBuildDate>Fri, 03 Apr 2026 17:57:13 +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>datort &#8211; datort.de</title>
	<link>https://datort.de</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Gravity Duck &#038; Old Tower – Zwei Retro-Herausforderungen im neuen Video</title>
		<link>https://datort.de/retro-computing/1372/gravity-duck-old-tower-zwei-retro-herausforderungen-im-neuen-video/</link>
					<comments>https://datort.de/retro-computing/1372/gravity-duck-old-tower-zwei-retro-herausforderungen-im-neuen-video/#respond</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Fri, 27 Mar 2026 22:37:31 +0000</pubDate>
				<category><![CDATA[Retro Computing]]></category>
		<category><![CDATA[Youtube]]></category>
		<category><![CDATA[Commodore 64]]></category>
		<category><![CDATA[Retro]]></category>
		<category><![CDATA[Spiele]]></category>
		<category><![CDATA[Zocken]]></category>
		<guid isPermaLink="false">https://datort.de/?p=1372</guid>

					<description><![CDATA[Gerade Gravity Duck 64 zeigt ziemlich schnell, wie simpel ein Spielprinzip wirken kann – und wie knackig es&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Gerade <em>Gravity Duck 64</em> zeigt ziemlich schnell, wie simpel ein Spielprinzip wirken kann – und wie knackig es dann doch wird. Ein bisschen Denken hier, ein bisschen Trial &amp; Error da, und plötzlich sitzt man da und fragt sich, ob man nicht irgendwo einen Denkfehler gemacht hat. Hat man meistens nicht. Das Spiel ist einfach genau so aufgebaut.</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/1372/gravity-duck-old-tower-zwei-retro-herausforderungen-im-neuen-video/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2Fl_ltWi5OyNo%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p>Mit <em>Old Tower</em> geht es dann in eine etwas andere Richtung, bleibt aber dem Retro-Charme treu. Man spielt einen kleinen Abenteurer, der sich durch verwinkelte Level voller Fallen und – sagen wir mal – ziemlich unfreundlicher Fledermäuse bewegt. Viel mehr als Geschick und ein gutes Timing hat man dabei nicht zur Verfügung. Aber genau das reicht auch.</p>



<p>Was beide Titel gemeinsam haben: Sie sind schnell erklärt, aber schwer zu meistern. Gerade am Anfang wirkt alles noch angenehm machbar, doch schon nach wenigen Leveln kommen neue Mechaniken dazu, die einen ordentlich fordern können. Und genau das macht den Reiz aus.</p>



<p>In meinem neuen Video bekommt ihr einen direkten Einblick ins Gameplay – inklusive kleiner Aha-Momente, ein bisschen Verzweiflung und natürlich jeder Menge Spaß.</p>



<p>Wenn ihr selbst einen Blick riskieren wollt, findet ihr die Spiele hier:</p>



<ul class="wp-block-list">
<li>Gravity Duck 64: <a href="https://wpqrek.itch.io/gravity-duck-64">https://wpqrek.itch.io/gravity-duck-64</a></li>



<li>Old Tower: <a href="https://retrosouls.itch.io/old-tower-commodore-64">https://retrosouls.itch.io/old-tower-commodore-64</a></li>
</ul>



<p>Schaut gerne rein – sowohl ins Video als auch in die Spiele. Es lohnt sich.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/retro-computing/1372/gravity-duck-old-tower-zwei-retro-herausforderungen-im-neuen-video/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Feierabend wann?</title>
		<link>https://datort.de/featured/1350/feierabend-wann/</link>
					<comments>https://datort.de/featured/1350/feierabend-wann/#respond</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Thu, 12 Feb 2026 19:14:15 +0000</pubDate>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Selbstgebaut]]></category>
		<guid isPermaLink="false">https://datort.de/?p=1350</guid>

					<description><![CDATA[Der Post hier ist ein bisschen Werbung in eigener Sache. Denn ich hab ein neues kleines Projekt gestartet,&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Der Post hier ist ein bisschen Werbung in eigener Sache. Denn ich hab ein neues kleines Projekt gestartet, auf welches ich gerne eure Aufmerksamkeit lenken möchte. Der Eine oder die Andere mag es kennen: In einer gewissen Regelmäßigkeit widmet man 8 Stunden, mal mehr, mal weniger, dem liebsten Hobby: Der Arbeit.</p>



<figure class="wp-block-image size-large"><a href="https://feierabendwann.de" target="_blank" rel=" noreferrer noopener"><img fetchpriority="high" decoding="async" width="1024" height="669" src="https://datort.de/wp-content/uploads/2026/02/feierabendwann.de_-1024x669.png" alt="" class="wp-image-1351" srcset="https://datort.de/wp-content/uploads/2026/02/feierabendwann.de_-1024x669.png 1024w, https://datort.de/wp-content/uploads/2026/02/feierabendwann.de_-300x196.png 300w, https://datort.de/wp-content/uploads/2026/02/feierabendwann.de_-768x502.png 768w, https://datort.de/wp-content/uploads/2026/02/feierabendwann.de_-1536x1004.png 1536w, https://datort.de/wp-content/uploads/2026/02/feierabendwann.de_-2048x1338.png 2048w, https://datort.de/wp-content/uploads/2026/02/feierabendwann.de_-380x248.png 380w, https://datort.de/wp-content/uploads/2026/02/feierabendwann.de_-800x523.png 800w, https://datort.de/wp-content/uploads/2026/02/feierabendwann.de_-1160x758.png 1160w, https://datort.de/wp-content/uploads/2026/02/feierabendwann.de_-scaled.png 2560w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>Um nicht den Überblick zu verlieren, wann der heilige Gral des Alltags &#8211; der Feierabend &#8211; erreicht ist, habe ich mir ein halb spaßiges, halb ernst gemeintes Tool gebastelt. Mit <a href="https://feierabendwann.de" target="_blank" rel="noreferrer noopener">feierabendwann.de</a> könnt ihr euch auf die Sekunde genau vor Augen führen, wann ihr den Stift endlich fallen lassen könnt. </p>



<p>Aber Spaß beiseite, ich hab mir ein paar Gedanken bei dem Tool gemacht: Zum einen passiert alles im Browser. Eure erfassten Daten gehören euch, ich will sie gar nicht haben. Startet ihr einen Arbeitstag, so bleiben die Daten nur dort gespeichert. Außer ihr nutzt die eingebaute Möglichkeit eure Sitzung zu duplizieren und z.B. auf eurem Handy fortzuführen. </p>



<p>Pausen könnt ihr sekundengenau einfach via Klick erfassen. Und am Ende könnt ihr euch den ganzen Quatsch auch noch als PDF exportieren, falls ihr da Bock drauf habt. </p>



<p>Mir erleichtert das Tool, meine Zeiten minutengenau zu erfassen und einen Überblick zu haben, wann ich in die Pause gestartet bin. </p>



<p>Habt ihr Ideen für sinnvolle weitere Features? Gerne her damit!</p>



<figure class="wp-block-image size-large"><a href="https://feierabendwann.de" target="_blank" rel=" noreferrer noopener"><img decoding="async" width="1024" height="538" src="https://datort.de/wp-content/uploads/2026/02/feierabend-wann-1024x538.jpg" alt="" class="wp-image-1352" srcset="https://datort.de/wp-content/uploads/2026/02/feierabend-wann-1024x538.jpg 1024w, https://datort.de/wp-content/uploads/2026/02/feierabend-wann-300x158.jpg 300w, https://datort.de/wp-content/uploads/2026/02/feierabend-wann-768x403.jpg 768w, https://datort.de/wp-content/uploads/2026/02/feierabend-wann-380x200.jpg 380w, https://datort.de/wp-content/uploads/2026/02/feierabend-wann-800x420.jpg 800w, https://datort.de/wp-content/uploads/2026/02/feierabend-wann-1160x609.jpg 1160w, https://datort.de/wp-content/uploads/2026/02/feierabend-wann.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/featured/1350/feierabend-wann/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Selbstbau C64 (Mini) Arcade: Das Datort o&#8217;cade</title>
		<link>https://datort.de/retro-computing/1248/selbstbau-c64-mini-arcade-das-datort-ocade/</link>
					<comments>https://datort.de/retro-computing/1248/selbstbau-c64-mini-arcade-das-datort-ocade/#comments</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Tue, 02 Dec 2025 19:22:05 +0000</pubDate>
				<category><![CDATA[Retro Computing]]></category>
		<guid isPermaLink="false">https://datort.de/?p=1248</guid>

					<description><![CDATA[Ich habe mir ein Ziel gesetzt: Ich möchte unter dem Weihnachtsbaum an meinem kleinen, selbst entwickelten und gebauten&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Ich habe mir ein Ziel gesetzt: Ich möchte unter dem Weihnachtsbaum an meinem kleinen, selbst entwickelten und gebauten Arcade sitzen und darauf Space Taxi zocken. Der Weg dorthin ist recht lang, denn das Projekt besteht grob aus folgenden Punkten:</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/1248/selbstbau-c64-mini-arcade-das-datort-ocade/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2F54UjD6RqygE%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<h3 id="inhaltsverzeichnis" class="wp-block-heading">Inhaltsverzeichnis</h3>



<p><strong>&gt;&gt; <a href="https://datort.de/retro-computing/1248/selbstbau-c64-mini-arcade-das-datort-ocade/2/" data-type="post" data-id="1248">3D-Design und -Druck</a></strong></p>



<p><strong>&gt;&gt; <a href="https://datort.de/retro-computing/1248/selbstbau-c64-mini-arcade-das-datort-ocade/3">Elektronik &amp; Schaltung</a></strong></p>



<p><strong>&gt;&gt; <a href="https://datort.de/retro-computing/1248/selbstbau-c64-mini-arcade-das-datort-ocade/4">Software</a></strong></p>



<p><strong>&gt;&gt; <a href="https://datort.de/retro-computing/1248/selbstbau-c64-mini-arcade-das-datort-ocade/5">Fazit</a></strong></p>



<h5 id="projektbeschreibung" class="wp-block-heading">Projektbeschreibung</h5>



<p><strong>Design und Druck</strong> des Gehäuses mit dem 3D-Drucker, entwickeln, anschließen und verlöten einer kleinen <strong>Schaltung</strong> für Blinky Blinky und einen Auto-Feuer-Modus sowie die <strong>Software</strong> schreiben, die dann alles miteinander verbindet.</p>



<p>Als Computer kommt ein <strong>Raspberry Pi 3</strong> zum Einsatz. Auf diesem wird <a href="https://accentual.com/bmc64/" target="_blank" rel="noreferrer noopener nofollow">BMC64</a> laufen, ein VICE Emulator, welcher nativ auf dem Raspi läuft. Also ohne das sonst übliche Linux, dafür sehr schnell gestartet ist in nur rund 4 Sekunden, mit geringer Eingabeverzögerung und der Möglichkeit, das System nach dem Zocken ohne es herunterzufahren einfach ausschalten zu können.</p>



<p>Auf dieser Projektseite wird es dann am Ende 3D-Druck-Dateien, Videos und Software zur freien Verfügung und zum Nachbasteln geben. Sie wird also in den nächsten Tagen und Wochen immer mal wieder aktualisiert werden. </p>



<h5 id="features" class="wp-block-heading">Features</h5>



<ul class="wp-block-list">
<li>7 Zoll IPS Display</li>



<li>BMC64 Commodore 64 Emulator auf Raspberry Pi mit VICE</li>



<li>Arcade Joystick und Buttons</li>



<li>7-Segment-Anzeige und Poti für Auto-Feuer-Modus</li>



<li>RGB-LEDs fürs Auge</li>



<li>Eingebaute Lautsprecher</li>
</ul>



<h5 id="galerie" class="wp-block-heading">Galerie</h5>



<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 decoding="async" width="1024" height="768" data-id="1275" src="https://datort.de/wp-content/uploads/2025/12/IMG_0743-3-1024x768.jpeg" alt="" class="wp-image-1275" srcset="https://datort.de/wp-content/uploads/2025/12/IMG_0743-3-1024x768.jpeg 1024w, https://datort.de/wp-content/uploads/2025/12/IMG_0743-3-300x225.jpeg 300w, https://datort.de/wp-content/uploads/2025/12/IMG_0743-3-768x576.jpeg 768w, https://datort.de/wp-content/uploads/2025/12/IMG_0743-3-1536x1152.jpeg 1536w, https://datort.de/wp-content/uploads/2025/12/IMG_0743-3-2048x1536.jpeg 2048w, https://datort.de/wp-content/uploads/2025/12/IMG_0743-3-200x150.jpeg 200w, https://datort.de/wp-content/uploads/2025/12/IMG_0743-3-260x195.jpeg 260w, https://datort.de/wp-content/uploads/2025/12/IMG_0743-3-380x285.jpeg 380w, https://datort.de/wp-content/uploads/2025/12/IMG_0743-3-800x600.jpeg 800w, https://datort.de/wp-content/uploads/2025/12/IMG_0743-3-1160x870.jpeg 1160w, https://datort.de/wp-content/uploads/2025/12/IMG_0743-3-scaled.jpeg 2560w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Erster Versuchsaufbau</figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="768" data-id="1271" src="https://datort.de/wp-content/uploads/2025/12/IMG_0827-3-1024x768.jpeg" alt="" class="wp-image-1271" srcset="https://datort.de/wp-content/uploads/2025/12/IMG_0827-3-1024x768.jpeg 1024w, https://datort.de/wp-content/uploads/2025/12/IMG_0827-3-300x225.jpeg 300w, https://datort.de/wp-content/uploads/2025/12/IMG_0827-3-768x576.jpeg 768w, https://datort.de/wp-content/uploads/2025/12/IMG_0827-3-1536x1152.jpeg 1536w, https://datort.de/wp-content/uploads/2025/12/IMG_0827-3-2048x1536.jpeg 2048w, https://datort.de/wp-content/uploads/2025/12/IMG_0827-3-200x150.jpeg 200w, https://datort.de/wp-content/uploads/2025/12/IMG_0827-3-260x195.jpeg 260w, https://datort.de/wp-content/uploads/2025/12/IMG_0827-3-380x285.jpeg 380w, https://datort.de/wp-content/uploads/2025/12/IMG_0827-3-800x600.jpeg 800w, https://datort.de/wp-content/uploads/2025/12/IMG_0827-3-1160x870.jpeg 1160w, https://datort.de/wp-content/uploads/2025/12/IMG_0827-3-scaled.jpeg 2560w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Ohne Stick kein Arcade</figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="768" height="1024" data-id="1272" src="https://datort.de/wp-content/uploads/2025/12/IMG_0823-3-768x1024.jpeg" alt="" class="wp-image-1272" srcset="https://datort.de/wp-content/uploads/2025/12/IMG_0823-3-768x1024.jpeg 768w, https://datort.de/wp-content/uploads/2025/12/IMG_0823-3-225x300.jpeg 225w, https://datort.de/wp-content/uploads/2025/12/IMG_0823-3-1152x1536.jpeg 1152w, https://datort.de/wp-content/uploads/2025/12/IMG_0823-3-1536x2048.jpeg 1536w, https://datort.de/wp-content/uploads/2025/12/IMG_0823-3-380x507.jpeg 380w, https://datort.de/wp-content/uploads/2025/12/IMG_0823-3-800x1067.jpeg 800w, https://datort.de/wp-content/uploads/2025/12/IMG_0823-3-1160x1547.jpeg 1160w, https://datort.de/wp-content/uploads/2025/12/IMG_0823-3-scaled.jpeg 1920w" sizes="auto, (max-width: 768px) 100vw, 768px" /><figcaption class="wp-element-caption">Die erste Version der PCBs ist eingetroffen</figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="768" height="1024" data-id="1274" src="https://datort.de/wp-content/uploads/2025/12/IMG_0838-3-768x1024.jpeg" alt="" class="wp-image-1274" srcset="https://datort.de/wp-content/uploads/2025/12/IMG_0838-3-768x1024.jpeg 768w, https://datort.de/wp-content/uploads/2025/12/IMG_0838-3-225x300.jpeg 225w, https://datort.de/wp-content/uploads/2025/12/IMG_0838-3-1152x1536.jpeg 1152w, https://datort.de/wp-content/uploads/2025/12/IMG_0838-3-1536x2048.jpeg 1536w, https://datort.de/wp-content/uploads/2025/12/IMG_0838-3-380x507.jpeg 380w, https://datort.de/wp-content/uploads/2025/12/IMG_0838-3-800x1067.jpeg 800w, https://datort.de/wp-content/uploads/2025/12/IMG_0838-3-1160x1547.jpeg 1160w, https://datort.de/wp-content/uploads/2025/12/IMG_0838-3-scaled.jpeg 1920w" sizes="auto, (max-width: 768px) 100vw, 768px" /><figcaption class="wp-element-caption">Knappe 15 Stunden für den ersten Druck</figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="768" height="1024" data-id="1273" src="https://datort.de/wp-content/uploads/2025/12/IMG_0839-3-768x1024.jpeg" alt="" class="wp-image-1273" srcset="https://datort.de/wp-content/uploads/2025/12/IMG_0839-3-768x1024.jpeg 768w, https://datort.de/wp-content/uploads/2025/12/IMG_0839-3-225x300.jpeg 225w, https://datort.de/wp-content/uploads/2025/12/IMG_0839-3-1152x1536.jpeg 1152w, https://datort.de/wp-content/uploads/2025/12/IMG_0839-3-1536x2048.jpeg 1536w, https://datort.de/wp-content/uploads/2025/12/IMG_0839-3-380x507.jpeg 380w, https://datort.de/wp-content/uploads/2025/12/IMG_0839-3-800x1067.jpeg 800w, https://datort.de/wp-content/uploads/2025/12/IMG_0839-3-1160x1547.jpeg 1160w, https://datort.de/wp-content/uploads/2025/12/IMG_0839-3-scaled.jpeg 1920w" sizes="auto, (max-width: 768px) 100vw, 768px" /><figcaption class="wp-element-caption">Druck 1 ist ok, muss aber Nachbearbeitet werden</figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="768" height="1024" data-id="1309" src="https://datort.de/wp-content/uploads/2025/12/IMG_0879-768x1024.jpeg" alt="" class="wp-image-1309" srcset="https://datort.de/wp-content/uploads/2025/12/IMG_0879-768x1024.jpeg 768w, https://datort.de/wp-content/uploads/2025/12/IMG_0879-225x300.jpeg 225w, https://datort.de/wp-content/uploads/2025/12/IMG_0879-1152x1536.jpeg 1152w, https://datort.de/wp-content/uploads/2025/12/IMG_0879-1536x2048.jpeg 1536w, https://datort.de/wp-content/uploads/2025/12/IMG_0879-380x507.jpeg 380w, https://datort.de/wp-content/uploads/2025/12/IMG_0879-800x1067.jpeg 800w, https://datort.de/wp-content/uploads/2025/12/IMG_0879-1160x1547.jpeg 1160w, https://datort.de/wp-content/uploads/2025/12/IMG_0879-scaled.jpeg 1920w" sizes="auto, (max-width: 768px) 100vw, 768px" /><figcaption class="wp-element-caption">Die Teile kommen aus dem Drucker</figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" data-id="1306" src="https://datort.de/wp-content/uploads/2025/12/IMG_0912-1024x576.jpeg" alt="" class="wp-image-1306" srcset="https://datort.de/wp-content/uploads/2025/12/IMG_0912-1024x576.jpeg 1024w, https://datort.de/wp-content/uploads/2025/12/IMG_0912-300x169.jpeg 300w, https://datort.de/wp-content/uploads/2025/12/IMG_0912-768x432.jpeg 768w, https://datort.de/wp-content/uploads/2025/12/IMG_0912-1536x864.jpeg 1536w, https://datort.de/wp-content/uploads/2025/12/IMG_0912-2048x1152.jpeg 2048w, https://datort.de/wp-content/uploads/2025/12/IMG_0912-380x214.jpeg 380w, https://datort.de/wp-content/uploads/2025/12/IMG_0912-800x450.jpeg 800w, https://datort.de/wp-content/uploads/2025/12/IMG_0912-1160x653.jpeg 1160w, https://datort.de/wp-content/uploads/2025/12/IMG_0912-scaled.jpeg 2560w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Foto-Shooting für Video 2</figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="768" height="1024" data-id="1307" src="https://datort.de/wp-content/uploads/2025/12/IMG_0884-768x1024.jpeg" alt="" class="wp-image-1307" srcset="https://datort.de/wp-content/uploads/2025/12/IMG_0884-768x1024.jpeg 768w, https://datort.de/wp-content/uploads/2025/12/IMG_0884-225x300.jpeg 225w, https://datort.de/wp-content/uploads/2025/12/IMG_0884-1152x1536.jpeg 1152w, https://datort.de/wp-content/uploads/2025/12/IMG_0884-1536x2048.jpeg 1536w, https://datort.de/wp-content/uploads/2025/12/IMG_0884-380x507.jpeg 380w, https://datort.de/wp-content/uploads/2025/12/IMG_0884-800x1067.jpeg 800w, https://datort.de/wp-content/uploads/2025/12/IMG_0884-1160x1547.jpeg 1160w, https://datort.de/wp-content/uploads/2025/12/IMG_0884-scaled.jpeg 1920w" sizes="auto, (max-width: 768px) 100vw, 768px" /><figcaption class="wp-element-caption">Alles passt, nur die Farbe im Vergleich zum C64 nicht so ganz</figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="768" height="1024" data-id="1308" src="https://datort.de/wp-content/uploads/2025/12/IMG_0882-768x1024.jpeg" alt="" class="wp-image-1308" srcset="https://datort.de/wp-content/uploads/2025/12/IMG_0882-768x1024.jpeg 768w, https://datort.de/wp-content/uploads/2025/12/IMG_0882-225x300.jpeg 225w, https://datort.de/wp-content/uploads/2025/12/IMG_0882-1152x1536.jpeg 1152w, https://datort.de/wp-content/uploads/2025/12/IMG_0882-1536x2048.jpeg 1536w, https://datort.de/wp-content/uploads/2025/12/IMG_0882-380x507.jpeg 380w, https://datort.de/wp-content/uploads/2025/12/IMG_0882-800x1067.jpeg 800w, https://datort.de/wp-content/uploads/2025/12/IMG_0882-1160x1547.jpeg 1160w, https://datort.de/wp-content/uploads/2025/12/IMG_0882-scaled.jpeg 1920w" sizes="auto, (max-width: 768px) 100vw, 768px" /><figcaption class="wp-element-caption">Innen ist es wie erwartet recht eng, aber sollte passen</figcaption></figure>
</figure>


]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/retro-computing/1248/selbstbau-c64-mini-arcade-das-datort-ocade/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<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="365844838" class="castos-player dark-mode " tabindex="0" data-episode="1174" data-player_id="365844838">
	<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;mFdVktjq7U&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=mFdVktjq7U&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;mFdVktjq7U&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 loading="lazy" 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="auto, (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 loading="lazy" 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="auto, (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>AY-3-8500: Der Chip für alle Pong-Klone</title>
		<link>https://datort.de/retro-tech/1204/ay-3-8500-der-chip-fuer-alle-pong-klone/</link>
					<comments>https://datort.de/retro-tech/1204/ay-3-8500-der-chip-fuer-alle-pong-klone/#respond</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Sun, 26 Oct 2025 14:13:36 +0000</pubDate>
				<category><![CDATA[Retro Tech]]></category>
		<category><![CDATA[Youtube]]></category>
		<category><![CDATA[Reparatur]]></category>
		<category><![CDATA[Retro]]></category>
		<guid isPermaLink="false">https://datort.de/?p=1204</guid>

					<description><![CDATA[Vor einem guten Jahr habe ich mir auf eBay für einen 10er ein Universum &#8222;TV-Multi-Spiel 2006&#8220; gekauft. Selbiges&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Vor einem guten Jahr habe ich mir auf eBay für einen 10er ein Universum &#8222;TV-Multi-Spiel 2006&#8220; gekauft. Selbiges kostete Anfang der 80er Jahre noch gute 65,- DM, wie man den <a href="https://retroport.de/retro-kult-quelle-katalog/" target="_blank" rel="noreferrer noopener nofollow">Scans des Quelle-Katalogs</a> bei retroport.de aus besagter Zeit entnehmen kann. Zugegeben, bei genauerem Blick ins Innere war das Multi-Spiel auch kaum mehr wert, aber seht gerne selbst in meinem Reparatur-Video dazu:</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-tech/1204/ay-3-8500-der-chip-fuer-alle-pong-klone/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FIuNhmd2jvFA%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p>Im Multi-Spiel, wie auch in einer Hülle und Fülle anderer Pong-Klone aus dieser Zeit, werkelt ein AY-3-8500-IC. Was auch der Grund ist, warum alle Konsolen dieser Ära in etwa die gleichen Features hatten. </p>



<p><strong>Technische Daten dieses ICs im Überblick:</strong></p>



<ul class="wp-block-list">
<li>Hersteller: General Instrument (USA)</li>



<li>Soundausgabe: Über einen Pin generiert der Chip einfache Tonsignale: z. B. Tonfrequenzen ~967 Hz (Ballaufprall), ~488 Hz (Abprall), ~1950 Hz (Punktgewinn) bei ~32 ms Pulsdauer.</li>



<li>Bezeichnung: AY-3-8500 („Ball &amp; Paddle“) – Einführung etwa 1976.</li>



<li>Bauform: 28-poliges DIP-Gehäuse.</li>



<li>Betriebsspannung: typische Versorgung z. B. 6-12 V (häufig 9 V) bei den Konsolen.</li>



<li>Takt: ca. 2 MHz externer Takt (z. B. 2,01216 MHz ±1 %) zur Generierung der Bildsignale.</li>



<li>Stromaufnahme: typischerweise rund 30 mA.</li>



<li>Bildausgabe: Schwarz/Weiß – das IC erzeugt Zeilen- und Bildsynchronsignale, Horizontalzählung bis etwa 128 Punkte pro Zeile, Vertikal bis etwa 312 Zeilen (bei PAL-Modellen). <a href="https://de.wikipedia.org/wiki/AY-3-8500?utm_source=chatgpt.com" target="_blank" rel="noreferrer noopener">Wikipedia</a></li>
</ul>



<ul class="wp-block-list"></ul>



<p>Der AY-3-8500 war sozusagen der Standard-Chip zahlreicher Pong-Konsolen der ersten Generation, da er nahezu die komplette Logik der Spielemechanik (Ballbewegung, Kollisionsprüfung, Schlägersteuerung) sowie die Video- und Tonerzeugung auf einem einzigen IC integrierte. Dies ermöglichte niedrige Stückkosten und einfache Konstruktionen.</p>



<p>In der Praxis bedeutet das für eine Konsole wie die von Universum: Der Großteil der Elektronik beschränkt sich auf den AY-3-8500, einen Taktgenerator (z. B. Kristalloszillator oder Resonator), Potentiometer für die Steuerung, RF-Modulator bzw. Bildaufbereitung und Netzteil bzw. Batterieversorgung.<br>Für Farbversionen und Varianten mit erweiterten Spielen kamen Varianten wie der AY-3-8610 (10 Spiele) oder zusätzliche Farb-Encoder (z. B. AY-3-8515) zum Einsatz.</p>



<p>Die Universum TV-Multi-Spiel Konsole reiht sich ein in die Ära der Heim-Pong-Geräte, die ab Mitte der 70er Jahre aufkamen. Gemäß der Videospielgeschichte war diese Phase durch festverdrahtete bzw. IC-basierte Konsolen geprägt – Wechselmodule waren selten.<br>Für den Verbraucher bedeutete dies: relativ kostengünstiger Einstieg ins Heimvideospielen, einfache Technik, begrenzte Farb- und Steuerungsmöglichkeiten, aber hoher Nostalgiewert heute.<br>Die Nutzung eines weit verbreiteten ICs wie dem AY-3-8500 bedeutete zudem, dass zahlreiche Hersteller ähnliche Geräte mit sehr ähnlicher Technik herausbrachten – was heute die Sammler- und Reparatur-Gemeinschaft durchaus erleichtert.</p>



<h4 id="gruesse-aus-der-ddr-das-bildschirmspiel-01" class="wp-block-heading"><strong>Grüße aus der DDR: Das Bildschirmspiel 01</strong></h4>



<p>Den AY-3-8500 umgibt zudem noch eine Besonderheit: Er war einiger der wenigen westlichen Chips, die damals in die DDR importiert werden durften. Auch in der DDR wollte man gerne Zocken, war aber nicht in der Lage unter wirtschaftlichen Aspekten einen Spiele-Chip wie den AY-3-8500 zu kopieren, wie man das mit anderen Chips bereits erfolgreich getan hatte. </p>



<p>Da das Ding aber rein zum Zocken gedacht war, gabs eine Ausnahme: Der Chip durfte aus dem Westen eingeführt werden. Im Jahre 1977 beschloss das Ministerium für Elektrotechnik und Elektronik daher, das Bildschirmspielgerät 01 zu produzieren. Wie Deutsch kann der Name einer Spielekonsole nur sein. </p>



<p>Gerade rechtzeitig um unter dem Weihnachtsbaum 1979 zu liegen wurde die Konsole fertig. Für happige 500 DDR-Mark war sie zu haben. Vermutlich mit ein Grund, warum am Ende weniger als 1000 von ihnen produziert wurden. Heute sind die Konsolen echte Sammlerstücke und werden zu hohen Preisen gehandelt, wenn man sie denn noch in akzeptablem Zustand finden kann. </p>



<p>Rein Spielerisch bekam man natürlich aufgrund des verbauten Chips dasselbe Erlebnis wie im Westen, nur das eben das Gehäuse war ein anderes und sämtliche sonstigen Komponenten des Bildschirmspielgeräts kamen aus DDR-Produktion. Apropos Gehäuse: Davon gab es drei Varianten. Am verbreitetsten war die klassisch schwarze Variante. Daneben existierte eine Weiße mit dunklen Controllern und eine komplett Weiße. Für letztere kann man heute vermutlich eine Niere hergeben, möchte man als Sammler in den Genus einer solchen kommen. </p>
]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/retro-tech/1204/ay-3-8500-der-chip-fuer-alle-pong-klone/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Das @-Zeichen – vom Klammeraffen zum Kultsymbol</title>
		<link>https://datort.de/retro-computing/1188/das-zeichen-vom-klammeraffen-zum-kultsymbol/</link>
					<comments>https://datort.de/retro-computing/1188/das-zeichen-vom-klammeraffen-zum-kultsymbol/#respond</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Tue, 21 Oct 2025 07:01:30 +0000</pubDate>
				<category><![CDATA[Retro Computing]]></category>
		<category><![CDATA[geschichte]]></category>
		<category><![CDATA[Retro]]></category>
		<category><![CDATA[Wissenswertes]]></category>
		<guid isPermaLink="false">https://datort.de/?p=1188</guid>

					<description><![CDATA[Wer heute eine E-Mail schreibt, tippt es ganz selbstverständlich ein: das @-Zeichen. Ein kleines Symbol, das aus unserer&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Wer heute eine E-Mail schreibt, tippt es ganz selbstverständlich ein: das @-Zeichen. Ein kleines Symbol, das aus unserer digitalen Kommunikation nicht mehr wegzudenken ist – und das trotzdem eine erstaunlich lange Geschichte hat. Wie es vom mittelalterlichen Händlerzeichen zum Symbol globaler Vernetzung wurde, erfahrt ihr in dieser Folge meines Podcasts <strong>„Pad on Please“</strong>, die ihr hier im Beitrag direkt anhören könnt.</p>


<div id="1061972257" class="castos-player dark-mode " tabindex="0" data-episode="1184" data-player_id="1061972257">
	<div class="player">
		<div class="player__main">
			<div class="player__artwork player__artwork-1184">
				<img decoding="async" src="https://datort.de/wp-content/uploads/2025/10/Episode-Cover-1-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">#007: @</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-1184">
							<source src="https://datort.de/podcast-player/1184/007.mp3">
						</audio>
						<div class="ssp-progress" role="progressbar" title="Seek" aria-valuenow="0" aria-valuemin="0" aria-valuemax="482">
							<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="PT0H8M2S">8:02</time>
							</div>
						</div>
					</div>
				</div>
									<nav class="player-panels-nav">
													<button class="subscribe-btn" id="subscribe-btn-1184" title="Abonnieren">Abonnieren</button>
																			<button class="share-btn" id="share-btn-1184" title="Teilen">Teilen</button>
											</nav>
							</div>
		</div>
	</div>
			<div class="player-panels player-panels-1184">
							<div class="subscribe player-panel subscribe-1184">
					<div class="close-btn close-btn-1184">
						<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-1184" title="RSS Feed URL" readonly />
							</div>
							<button class="copy-rss copy-rss-1184" title="Copy RSS Feed URL" aria-label="Copy RSS Feed URL"></button>
						</div>
					</div>
				</div>
										<div class="share share-1184 player-panel">
					<div class="close-btn close-btn-1184">
						<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/007/&#038;t=#007: @"
							   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/007/&#038;url=#007: @"
							   target="_blank" rel="noopener noreferrer" class="share-icon twitter" title="Auf Twitter teilen">
								<span></span>
							</a>
							<a href="https://datort.de/podcast-player/1184/007.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/007/" class="input-link input-link-1184" title="Episode URL" readonly />
						</div>
						<button class="copy-link copy-link-1184" 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;XJONo9VXNw&quot;&gt;&lt;a href=&quot;https://datort.de/podcast/007/&quot;&gt;#007: @&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox=&quot;allow-scripts&quot; security=&quot;restricted&quot; src=&quot;https://datort.de/podcast/007/embed/#?secret=XJONo9VXNw&quot; width=&quot;500&quot; height=&quot;350&quot; title=&quot;&#8222;#007: @&#8220; &#8211; datort.de&quot; data-secret=&quot;XJONo9VXNw&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-1184" readonly/>
						</div>
						<button class="copy-embed copy-embed-1184" 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/1184/007.mp3?ref=download" title="Das @-Zeichen – vom Klammeraffen zum Kultsymbol " class="podcast-meta-download">Datei herunterladen</a> | <a href="https://datort.de/podcast-download/1184/007.mp3?ref=new_window" target="_blank" title="Das @-Zeichen – vom Klammeraffen zum Kultsymbol " class="podcast-meta-new-window">In neuem Fenster abspielen</a> | <span class="podcast-meta-duration">Audiolänge: 8:02</span> | <span class="podcast-meta-date">Aufgenommen am  21. Oktober 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>


<h2 id="ein-zeichen-mit-geschichte" class="cnvs-block-section-heading cnvs-block-section-heading-1761030162203 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Ein Zeichen mit Geschichte</span>
	</span>
</h2>



<p>Das @-Zeichen ist kein Kind der digitalen Neuzeit – im Gegenteil: Schon in mittelalterlichen Handschriften tauchten Formen auf, die unserem modernen @ verblüffend ähnlich sehen.<br>Damals galt es als Ligatur – eine Verschmelzung der Buchstaben <em>a</em> und <em>d</em>, die das lateinische Wort <em>ad</em> abkürzten, was so viel bedeutet wie „bei“ oder „zu“.<br>Eine praktische Erfindung: Weniger Tinte, weniger Schreibarbeit.</p>



<p>Später fand das Symbol dann seinen Weg in den Handel. Kaufleute notierten Preise mit dem Zeichen, etwa „5 apples @ 10 p“ – also „5 Äpfel zu je 10 Pence“.<br>Ein einfacher, aber genialer Trick, der sich über Jahrhunderte hielt.</p>



<h2 id="auf-dem-schlachtfeld" class="cnvs-block-section-heading cnvs-block-section-heading-1761030184653 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>@ auf dem Schlachtfeld</span>
	</span>
</h2>



<p>Bevor das Zeichen seinen Siegeszug in der E-Mail antreten konnte, hatte es noch einen Abstecher in die Computerhistorie:<br>1950 wurde das @-Zeichen im Rahmen des „Fieldata“-Projekts des US Army Signal Corps verwendet. Dort sollte ein Standard für den Datenaustausch auf dem Schlachtfeld entwickelt werden – der später großen Einfluss auf den ASCII-Zeichensatz hatte.</p>



<p>Kurzer technischer Exkurs (versprochen, nicht zu trocken <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;" />):<br>Computer verstehen nur Einsen und Nullen. Damit daraus Buchstaben, Zahlen oder Steuerzeichen werden, braucht es sogenannte Zeichensätze. Im Fieldata-System war das @ tatsächlich das erste definierte Symbol überhaupt – noch vor Buchstaben und Ziffern. Es diente als sogenannter <em>Master Space</em> und leitete Steueranweisungen ein. Schon damals also ein echtes Sonderzeichen mit besonderer Funktion.</p>



<h2 id="die-geburt-der-e-mail" class="cnvs-block-section-heading cnvs-block-section-heading-1761030202481 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Die Geburt der E-Mail</span>
	</span>
</h2>



<p>Der eigentliche Durchbruch kam dann 1971:<br>Ray Tomlinson, Mitarbeiter beim Forschungsunternehmen BBN (Bolt, Beranek and Newman), arbeitete an einer Software namens SNDMSG, mit der sich Nachrichten zwischen Nutzern austauschen ließen – damals noch auf Großrechnern im Arpanet, dem militärischen Vorläufer des Internets.</p>



<p>Tomlinson suchte ein Zeichen, das einerseits in keinem Nutzernamen vorkam, andererseits aber auch die Bedeutung „bei“ ausdrücken konnte.<br>Seine Wahl fiel auf – richtig – das @-Zeichen.<br>Von da an trennte es Benutzername und Hostname, also z. B. <em>user@host</em>.</p>



<p>Damit war die E-Mail geboren – und das @-Zeichen wurde zum Symbol für die Vernetzung von Menschen weltweit.</p>



<h2 id="arroba-morsecode-museum" class="cnvs-block-section-heading cnvs-block-section-heading-1761030259071 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Arroba, Morsecode &amp; Museum</span>
	</span>
</h2>



<p>Aber die Geschichte geht noch weiter:<br>Im spanisch-portugiesischen Raum hat das @ sogar eine eigene Bezeichnung – <em>Arroba</em>.<br>Das steht ursprünglich für ein altes Gewichts- und Flüssigkeitsmaß, das rund 11,5 Kilogramm entsprach und vor allem bei Öl, Wein und Honig verwendet wurde.<br>Schöne Vorstellung, oder? 11,5 Kilo E-Mail…</p>



<p>Seit 2004 hat das Zeichen übrigens auch Einzug in das Morsealphabet gefunden – dort wird es durch das Signal <strong>. — .— .</strong> dargestellt.</p>



<p>Und im Jahr 2010 nahm das Museum of Modern Art (MoMA) in New York das @-Zeichen sogar in seine Design Collection auf.<br>Ein echtes Kunstobjekt also – zumindest offiziell.</p>



<h2 id="von-code-bis-klammeraffe" class="cnvs-block-section-heading cnvs-block-section-heading-1761030275472 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Von Code bis Klammeraffe</span>
	</span>
</h2>



<p>Heute begegnet uns das @ nicht nur in E-Mails, sondern auch auf Social-Media-Plattformen, um Nutzer zu markieren oder zu referenzieren.<br>In vielen Programmiersprachen erfüllt es außerdem spezielle Funktionen – mal als Annotation, mal als Operator oder einfach als Platzhalter für „bei“.</p>



<p>Und dann wäre da noch der unsägliche Begriff „Klammeraffe“, der in den 90ern durch die Verbreitung der E-Mail aufkam.<br>Ich persönlich bin froh, den Ausdruck jahrelang nicht gehört zu haben – er klingt einfach schrecklich und hat mit dem eleganten Symbol wenig gemein.</p>



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



<p>Ein Zeichen, das wir täglich benutzen, ohne groß drüber nachzudenken – und das doch eine unglaublich spannende Geschichte hat.<br>Vom Händlerzeichen über das Schlachtfeld bis in unsere E-Mail-Postfächer: Das @ steht heute wie kaum ein anderes Symbol für Kommunikation, Vernetzung und Moderne.</p>



<p>Wenn ihr mehr zu solchen Themen hören wollt, schaut (oder hört) gerne auf meinem <strong><a href="https://datort.de/podcasts/pad-one-please/" data-type="series" data-id="93">Podcast „Pad on Please“</a></strong> vorbei.</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/retro-computing/1188/das-zeichen-vom-klammeraffen-zum-kultsymbol/feed/</wfw:commentRss>
			<slash:comments>0</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 loading="lazy" 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="auto, (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>Pad One Please &#8211; Podcast Episode 1</title>
		<link>https://datort.de/pad-one-please-podcast/1024/pad-one-please-podcast-episode-1/</link>
					<comments>https://datort.de/pad-one-please-podcast/1024/pad-one-please-podcast-episode-1/#comments</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Fri, 01 Aug 2025 20:38:28 +0000</pubDate>
				<category><![CDATA[Pad One Please - Podcast]]></category>
		<category><![CDATA[Pad One Please]]></category>
		<category><![CDATA[Podcast]]></category>
		<guid isPermaLink="false">https://datort.de/?p=1024</guid>

					<description><![CDATA[Update: In der Zwischenzeit sind übrigens weitere Folgen erschienen. Ihr findet sie in der Podcast-Übersicht. Heute möchte ich&#8230;]]></description>
										<content:encoded><![CDATA[
<p><strong>Update: </strong>In der Zwischenzeit sind übrigens weitere Folgen erschienen. Ihr findet sie in der <strong><a href="https://datort.de/podcasts/pad-one-please/">Podcast-Übersicht</a></strong>.</p>



<p>Heute möchte ich mal etwas Neues probieren (zumindest für mich) <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Ich starte meinen ersten kleinen Podcast. In unregelmäßigen Abständen möchte ich dabei Anekdötchen zu Retro-Games erzählen. Aber auch spannende Themen rund um Technik der 80er, 90er und 2000er will nicht außen vorlassen. Und vielleicht wird sich die eine oder andere Episode auch um meine Zeit bei ESL und GIGA drehen. Da gibt&#8217;s sicher auch die eine oder andere (hoffentlich) interessante Geschichte zu erzählen.</p>



<p>Die Episoden sind dabei bewußt ein bisschen kürzer gehalten, sodass sie sich zum Beispiel zur Mittagspause schnell wegsnacken lassen. </p>



<p>In Folge 1 geht es heute um Space Taxi. Das Spiel ist mein Alltime Favorit, wenn es um Retro-Gaming geht. Immer wenn ich nach längerer Standzeit zurück zu meinem C64 kehre, ist Space Taxi nicht weit weg. </p>



<p>Viel Spaß beim Podcast! </p>


<div id="3768184833" class="castos-player dark-mode " tabindex="0" data-episode="1016" data-player_id="3768184833">
	<div class="player">
		<div class="player__main">
			<div class="player__artwork player__artwork-1016">
				<img decoding="async" src="https://datort.de/wp-content/uploads/2025/08/Episode-Cover-150x150.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">#001: Space Taxi (C64, 1984)</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-1016">
							<source src="https://datort.de/podcast-player/1016/001-space-taxi-c64-1984.mp3">
						</audio>
						<div class="ssp-progress" role="progressbar" title="Seek" aria-valuenow="0" aria-valuemin="0" aria-valuemax="557">
							<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="PT0H9M17S">9:17</time>
							</div>
						</div>
					</div>
				</div>
									<nav class="player-panels-nav">
													<button class="subscribe-btn" id="subscribe-btn-1016" title="Abonnieren">Abonnieren</button>
																			<button class="share-btn" id="share-btn-1016" title="Teilen">Teilen</button>
											</nav>
							</div>
		</div>
	</div>
			<div class="player-panels player-panels-1016">
							<div class="subscribe player-panel subscribe-1016">
					<div class="close-btn close-btn-1016">
						<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-1016" title="RSS Feed URL" readonly />
							</div>
							<button class="copy-rss copy-rss-1016" title="Copy RSS Feed URL" aria-label="Copy RSS Feed URL"></button>
						</div>
					</div>
				</div>
										<div class="share share-1016 player-panel">
					<div class="close-btn close-btn-1016">
						<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/001-space-taxi-c64-1984/&#038;t=#001: Space Taxi (C64, 1984)"
							   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/001-space-taxi-c64-1984/&#038;url=#001: Space Taxi (C64, 1984)"
							   target="_blank" rel="noopener noreferrer" class="share-icon twitter" title="Auf Twitter teilen">
								<span></span>
							</a>
							<a href="https://datort.de/podcast-player/1016/001-space-taxi-c64-1984.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/001-space-taxi-c64-1984/" class="input-link input-link-1016" title="Episode URL" readonly />
						</div>
						<button class="copy-link copy-link-1016" 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;m3kzbaoxmA&quot;&gt;&lt;a href=&quot;https://datort.de/podcast/001-space-taxi-c64-1984/&quot;&gt;#001: Space Taxi (C64, 1984)&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox=&quot;allow-scripts&quot; security=&quot;restricted&quot; src=&quot;https://datort.de/podcast/001-space-taxi-c64-1984/embed/#?secret=m3kzbaoxmA&quot; width=&quot;500&quot; height=&quot;350&quot; title=&quot;&#8222;#001: Space Taxi (C64, 1984)&#8220; &#8211; datort.de&quot; data-secret=&quot;m3kzbaoxmA&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-1016" readonly/>
						</div>
						<button class="copy-embed copy-embed-1016" 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/1016/001-space-taxi-c64-1984.mp3?ref=download" title="Pad One Please &#8211; Podcast Episode 1 " class="podcast-meta-download">Datei herunterladen</a> | <a href="https://datort.de/podcast-download/1016/001-space-taxi-c64-1984.mp3?ref=new_window" target="_blank" title="Pad One Please &#8211; Podcast Episode 1 " class="podcast-meta-new-window">In neuem Fenster abspielen</a> | <span class="podcast-meta-duration">Audiolänge: 9:17</span> | <span class="podcast-meta-date">Aufgenommen am  1. August 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></p>



<p></p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/pad-one-please-podcast/1024/pad-one-please-podcast-episode-1/feed/</wfw:commentRss>
			<slash:comments>2</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-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="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>AWTRIX STREAM: Die Kleine für den Schreibtisch</title>
		<link>https://datort.de/raspberry-arduino/929/awtrix-mini-die-kleine-fuer-den-schreibtisch/</link>
					<comments>https://datort.de/raspberry-arduino/929/awtrix-mini-die-kleine-fuer-den-schreibtisch/#comments</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Sat, 05 Apr 2025 16:11:45 +0000</pubDate>
				<category><![CDATA[LED]]></category>
		<category><![CDATA[Raspberry & Arduino]]></category>
		<category><![CDATA[Selbstgebaut]]></category>
		<category><![CDATA[Awtrix]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[Elektrotechnik]]></category>
		<category><![CDATA[ESP8266]]></category>
		<guid isPermaLink="false">https://datort.de/?p=929</guid>

					<description><![CDATA[Wenn ihr diesen Artikel gefunden habt, so kennt ihr höchstwahrscheinlich das AWTRIX-Projekt. Eine Firmware für ESP-Entwicklerboards, mit der&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Wenn ihr diesen Artikel gefunden habt, so kennt ihr höchstwahrscheinlich das <a href="https://blueforcer.github.io/awtrix3/#/" target="_blank" rel="noreferrer noopener">AWTRIX</a>-Projekt. Eine Firmware für ESP-Entwicklerboards, mit der sich Selbstbau-LED-Matrixen betreiben oder auch fertige Modelle wie die TC-001 von Ulanzi umpatchen lassen. Mit &#8222;AWTRIX STREAM&#8220; habe ich nun ein kleines Projekt gestartet, welches das Ganze etwas kompakter machen und auf ein LC-Display bringen soll.</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/929/awtrix-mini-die-kleine-fuer-den-schreibtisch/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FLMmw3sYUiGc%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p>Sehr kleine 32x8er-LED-Module zu fairen Preisen und für den passenden Standart zum Betrieb der Awtrix-Firmware zu finden, ist gar nicht so einfach. So entstand die Idee, stattdessen einfach ein 320&#215;172 Pixel großes Display zu verwenden. Mein Projekt ist am Ende <strong>keine</strong> eigenständige AWTRIX. Stattdessen spiegelt (oder &#8222;streamt&#8220;) sie sozusagen nur eine bereits in eurem Netzwerk vorhandene LED-Matrix mit laufender AWTRIX-Firmware drauf. Das läuft dann über Wifi und funktioniert erstaunlich gut und schnell.</p>



<h2 id="dokumentation" class="cnvs-block-section-heading cnvs-block-section-heading-1745162369158 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Dokumentation</span>
	</span>
</h2>



<p>Die Dokumentation befindet sich noch im Aufbau, aber gerade wenn ihr die MQTT-Befehle nutzen wollt, die mit Version 1.1.0 mitkamen, habe ich euch die da schon Mal aufgeschrieben.</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://datort.de/awtrix-stream-dokumentation/" target="_blank" rel="noreferrer noopener">AWTRIX STREAM Dokumentation</a></div>
</div>



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



<p>Um das Projekt nachzubauen benötigt ihr gar nicht viel. Löten ist optional: Nur wenn ihr die recht langen Kabel des Displays kürzen wollt, solltet ihr löten. Es geht aber auch ohne das, dann kann alles einfach zusammengesteckt werden.</p>



<ul class="wp-block-list">
<li>D1 Mini-Board (mit ESP8266-Chip)</li>



<li>Waveshare 1.47&#8243; LC-Display oder Noname (z.B. <a href="https://de.aliexpress.com/item/1005008541993365.html?spm=a2g0o.order_list.order_list_main.5.538f5c5fOcFET1&amp;gatewayAdapt=glo2deu" target="_blank" rel="noreferrer noopener nofollow">dieses</a>)*</li>



<li>6x 2mm-Schrauben (z.B. 2&#215;5 oder 2&#215;8)</li>



<li>einen 3D-Drucker**</li>
</ul>



<p>*) Ich will betonen das ich keine Werbung für das Waveshare-Display machen will. Ich habe mich aus 3 Gründen für dieses (im Vergleich etwas teurere) Display entschieden: Zum einen ist die Platine des Boards nur minimal größer als das Display was 3D-Gehäuse kompakter werden lies. Außerdem bringt das Display auf der Rückseite direkt Muttern zum verschrauben mit und da es sich um ein &#8222;Markenprodukt&#8220; handelt, solltet ihr beim Bestellen im besten Fall auf den Millimeter dasselbe Produkt erhalten. In der Theorie sollte auch jedes andere Display, welches einen ST7789-Chip mitbringt problemlos funktionieren wie das verlinkte Noname-Display.</p>



<p>**) Der 3D-Drucker ist optional. Ihr könnt das Projekt natürlich auch mit einem ganz eigenen Gehäuse oder in anderer Form nachbauen. Dann benötigt ihr nur die Hardwarekomponenten und könnt loslegen. </p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1000" height="562" src="https://datort.de/wp-content/uploads/2025/04/awtrix_mini_twitch.jpg" alt="" class="wp-image-947" srcset="https://datort.de/wp-content/uploads/2025/04/awtrix_mini_twitch.jpg 1000w, https://datort.de/wp-content/uploads/2025/04/awtrix_mini_twitch-300x169.jpg 300w, https://datort.de/wp-content/uploads/2025/04/awtrix_mini_twitch-768x432.jpg 768w, https://datort.de/wp-content/uploads/2025/04/awtrix_mini_twitch-380x214.jpg 380w, https://datort.de/wp-content/uploads/2025/04/awtrix_mini_twitch-800x450.jpg 800w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></figure>



<h2 id="3d-druck" class="cnvs-block-section-heading cnvs-block-section-heading-1741548970815 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>3D Druck</span>
	</span>
</h2>



<p>Wenn ihr das Projekt wie im Video gezeigt nachbauen möchtet, könnt ihr euch mein AWTRIX STREAM-Gehäuse drucken. Es besteht aus 3 Teilen: Einem Träger, auf dem das Display aufgeschraubt und das D1 Mini-Board aufgelegt wird. Sowie dem Hauptgehäuse und einer aufsteckbaren Front.</p>



<div class="wp-block-file"><a id="wp-block-file--media-6c509b7b-273d-4ee7-ad9b-7adba44d832e" href="https://datort.de/wp-content/uploads/2025/03/AwtrixMINI.zip">3D-Druck Dateien AWTRIX STREAM (A-Variante, für WS-LCD, STL)</a><a href="https://datort.de/wp-content/uploads/2025/03/AwtrixMINI.zip" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-6c509b7b-273d-4ee7-ad9b-7adba44d832e">Herunterladen</a></div>



<div class="wp-block-file"><a id="wp-block-file--media-126e15bb-b3ab-46a1-8b04-6a5dc1e14839" href="https://datort.de/wp-content/uploads/2025/04/Awtrix_Mini_B.zip">3D-Druck Dateien AWTRIX STREAM (B-Variante, für Noname-LCD, STL)</a><a href="https://datort.de/wp-content/uploads/2025/04/Awtrix_Mini_B.zip" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-126e15bb-b3ab-46a1-8b04-6a5dc1e14839">Herunterladen</a></div>



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



<h2 id="zusammenbau" class="cnvs-block-section-heading cnvs-block-section-heading-1741548272973 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Zusammenbau</span>
	</span>
</h2>



<p>Im ersten Schritt solltet ihr das Display mit dem D1 Mini-Board verbinden. Die folgende Tabelle zeigt, welche Pin des Displays mit welchem Pin des Boards verbunden werden muss. </p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>D1 Mini Board</strong></td><td><strong>Waveshare 1.47&#8243; Display</strong></td><td><strong>Noname 1.47&#8243; Display</strong></td></tr><tr><td>D5 (GPIO 14)</td><td>CLK</td><td>SCL</td></tr><tr><td>D7 (GPIO 13)</td><td>DIN</td><td>SDA</td></tr><tr><td>D1 (GPIO 5)</td><td>CS</td><td>CS</td></tr><tr><td>D4 (GPIO 2)</td><td>DC</td><td>DC</td></tr><tr><td>D6 (GPIO 12)</td><td>BL</td><td>BL</td></tr><tr><td>D3 (GPIO 0)</td><td>RST</td><td>RST</td></tr><tr><td>3V3</td><td>VCC</td><td>VDD</td></tr><tr><td>G</td><td>GND</td><td>GND</td></tr></tbody></table></figure>



<p>Wenn ihr nicht löten möchtet und das 3D-gedruckte Gehäuse verwenden möchtet, dann müsst ihr an der Stelle nur noch das Display mit 4 Schrauben an dem Träger anbringen und das Kabel vorsichtig verwickeln. Danach den Träger einschieben und von außen festschrauben. Front vorsichtig aufklippen und das wars. Weiter geht&#8217;s mit dem Flashen der Software. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="858" src="https://datort.de/wp-content/uploads/2025/03/Bildschirmfoto-2025-03-31-um-20.56.06-1024x858.png" alt="" class="wp-image-942" srcset="https://datort.de/wp-content/uploads/2025/03/Bildschirmfoto-2025-03-31-um-20.56.06-1024x858.png 1024w, https://datort.de/wp-content/uploads/2025/03/Bildschirmfoto-2025-03-31-um-20.56.06-300x251.png 300w, https://datort.de/wp-content/uploads/2025/03/Bildschirmfoto-2025-03-31-um-20.56.06-768x643.png 768w, https://datort.de/wp-content/uploads/2025/03/Bildschirmfoto-2025-03-31-um-20.56.06-380x318.png 380w, https://datort.de/wp-content/uploads/2025/03/Bildschirmfoto-2025-03-31-um-20.56.06-800x670.png 800w, https://datort.de/wp-content/uploads/2025/03/Bildschirmfoto-2025-03-31-um-20.56.06-1160x972.png 1160w, https://datort.de/wp-content/uploads/2025/03/Bildschirmfoto-2025-03-31-um-20.56.06.png 1375w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Der Schaltplan zum Anschluss ESP8266 und LC-Display (hier: Variante mit Waveshare-Display)</figcaption></figure>



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



<p>Um die Software auf das Board zu bekommen, müsst ihr es zunächst via USB mit eurem Rechner verbinden. Als nächstes benötigt ihr einen Chrome-basierten Browser, als Chrome selbst, Chromium, Brave oder MS Edge. Opera funktioniert u. U. auch. Dann geht ihr auf folgende Seite, auf der ich immer die aktuelle Software-Version bereitstelle:</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://esp.datort.de" target="_blank" rel="noreferrer noopener">https://esp.datort.de</a></div>
</div>



<p>Wählt dort das Projekt <strong>#002: AWTRIX STREAM vx.x.x (ehemals &#8222;Awtrix Mini&#8220;)</strong> aus und folgt den Anweisungen. Solltet ihr das lieber in Bewegtbild sehen wollen: Im Video zeige ich auch diesen Schritt.</p>



<p>Nach der Installation stellt das ESP-Board einen WLAN-Access Point zur Verfügung: </p>



<p><strong>SSID:</strong> <code>AWTRIX STREAM-Setup</code><br><strong>Passwort:</strong> <code>12345678</code></p>



<p>Sobald ihr verbunden seit, sollte sich ein Konfigurationsmenü öffnen. Wenn die Seite nicht automatisch erscheint, verbindet euch auf die IP-Adresse <code>http://192.168.4.1</code>. Hier könnt ihr nun euer Wlan konfigurieren. Außerdem könnt ihr dem Board noch einen Hostname vergeben und &#8211; <strong><em>ganz wichtig</em></strong> &#8211; die IP-Adresse der AWTRIX, die kopiert werden soll und von der unsere neue AWTRIX STREAM ihre Daten erhält.</p>



<p>Sind alle Einstellungen vorgenommen sollte sich die AWTRIX STREAM direkt mit ihrer großen Schwester verbinden. Habt ihr euch &#8222;verkonfiguriert&#8220;, so startet bitte mit der Installation der Software von vorne und wählt unbedingt &#8222;Erase Device&#8220; aus. Dann könnt ihr frisch durchstarten.</p>



<h2 id="changelog" class="cnvs-block-section-heading cnvs-block-section-heading-1745159684136 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Changelog</span>
	</span>
</h2>



<p>Um euch auf dem laufenden zu halten, was sich bei der Software so getan hat, kopiere ich euch hier die Änderungen der letzten Versionen rein. </p>



<pre class="wp-block-code"><code>## v1.1.0 - 20.04.2025

&#91;FEATURE] MQTT broker support
&#91;FEATURE] Change settings via MQTT
&#91;FEATURE] HTTP Basic Auth configuration to access secured AWTRIX hosts
&#91;FEATURE] Toggle display via MQTT
&#91;FEATURE] Reboot AWTRIX STREAM via MQTT
&#91;FEATURE] Erase all settings via MQTT to start over
&#91;FIX] Several layout/screen optimisations and new dialogs
&#91;FIX] Reduce Overhead on HTTP calls for better performance
&#91;FIX] Removed FPS counter on Serial connection for better performance
&#91;CHORE] Name change to a more fancy "AWTRIX STREAM". Yeah!

## v1.0.0 - 06.04.2025

Initial release 

</code></pre>



<h2 id="faq" class="cnvs-block-section-heading cnvs-block-section-heading-1743929300324 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>FAQ</span>
	</span>
</h2>



<p><strong>Benötige ich wirklich eine &#8222;richtige&#8220; AWTRIX oder Ulanzi TC001 mit AWTRIX-Firmware oder läuft die AWTRIX STREAM auch Standalone?</strong><br>Die AWTRIX STREAM wiederholt technisch gesehen nur das, was auf einer anderen LED-Matrix angezeigt wird. Sie kann nicht standalone betrieben werden.</p>



<p><strong>Gibt es einen anderen Weg die AWTRIX STREAM zu nutzen ohne erst eine LED-Matrix kaufen zu müssen? </strong><br>Ja. Wenn ihr noch ein ESP32-WROOM-32D-Board rumfliegen habt, könnt ihr da die AWTRIX-Firmware draufflashen. Die läuft dann auch ohne angeschlossene LED-Panele und kann so als Host fungieren.</p>



<p><strong>Ist der Sourcecode verfügbar? </strong><br>Ja, ihr findet das Projekt in meinem <a href="https://github.com/datort/awtrix-stream" target="_blank" rel="noreferrer noopener">Github Repository</a> unter der Attribution-NonCommercial-ShareAlike 4.0 International-Lizenz.</p>



<p><strong>Kann ich mehrere AWTRIX STREAN auf eine Host AWTRIX loslassen?</strong> <br>Theoretisch ja. Jede AWTRIX STREAM verbindet sich über das WLAN via HTTP mit der Host AWTRIX. Das generiert Last auf der Host AWTRIX und kann irgendwann dazu führen, dass sich die AWTRIX STREAM nur noch seltener aktualisieren und alles etwas holpriger wirkt. Wo da genau die Grenze ist, kann ich nicht sagen. 2-3 gleichzeitig habe ich erfolgreich getestet. Eine größere Herausforderung stellt das WLAN da: Das sollte eine gute Signalstärke sowohl für Host also auch für AWTRIX STREAM bieten.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/raspberry-arduino/929/awtrix-mini-die-kleine-fuer-den-schreibtisch/feed/</wfw:commentRss>
			<slash:comments>17</slash:comments>
		
		
			</item>
	</channel>
</rss>
