<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Playgrounds | Go Education Project</title><link>https://goeducation.net/docs/playground/</link><atom:link href="https://goeducation.net/docs/playground/index.xml" rel="self" type="application/rss+xml"/><description>Playgrounds</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-us</language><image><url>https://goeducation.net/media/logo.svg</url><title>Playgrounds</title><link>https://goeducation.net/docs/playground/</link></image><item><title>TinyGo Playground</title><link>https://goeducation.net/docs/playground/tinygo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://goeducation.net/docs/playground/tinygo/</guid><description>&lt;p&gt;Write, compile, and run TinyGo code directly in your browser — no installation, no toolchain, no setup required. The
is maintained by the TinyGo team and lets you experiment with real TinyGo code and see the output instantly.&lt;/p&gt;
&lt;div class="not-prose my-6"&gt;
&lt;a href="https://play.tinygo.org/" target="_blank" rel="noopener"
class="inline-flex items-center gap-2 px-6 py-3 rounded-full bg-primary-600 text-white font-semibold hover:bg-primary-700 transition-colors shadow-md"&gt;
Open TinyGo Playground ↗
&lt;/a&gt;
&lt;/div&gt;
&lt;h2 id="what-you-can-do"&gt;What you can do&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Write Go code targeting real microcontroller targets (Arduino, Pico, etc.)&lt;/li&gt;
&lt;li&gt;See compiled output, size reports, and error messages in real time&lt;/li&gt;
&lt;li&gt;Share snippets via URL — great for tutorials and asking for help&lt;/li&gt;
&lt;li&gt;Explore the standard library functions available in TinyGo&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="tips"&gt;Tips&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Use the target selector to match your hardware board&lt;/li&gt;
&lt;li&gt;The playground runs in a simulator, so GPIO output is shown visually rather than on real hardware&lt;/li&gt;
&lt;li&gt;Check the
for supported packages and drivers&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Visual Playground (Blockly)</title><link>https://goeducation.net/docs/playground/blockly/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://goeducation.net/docs/playground/blockly/</guid><description>&lt;p&gt;The Go Education Visual Playground lets you build programs by snapping blocks together — no syntax, no semicolons, just logic. Under the hood it generates real TinyGo code that you can copy and flash to your badge or board.&lt;/p&gt;
&lt;p&gt;It is designed for first-time learners and classroom settings where typing code is a barrier, and pairs naturally with the step-by-step tutorials.&lt;/p&gt;
&lt;div class="not-prose my-8"&gt;
&lt;a href="https://goeducation.net/blockly-playground/" target="_blank" rel="noopener"
class="inline-flex items-center gap-3 px-8 py-4 rounded-full bg-primary-600 text-white font-semibold text-lg hover:bg-primary-700 transition-colors shadow-lg"&gt;
Open Visual Playground ↗
&lt;/a&gt;
&lt;/div&gt;
&lt;h2 id="what-you-can-do"&gt;What you can do&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Drag and drop blocks to build a program — no typing required&lt;/li&gt;
&lt;li&gt;See the generated TinyGo / Go code on demand with the &lt;strong&gt;To Go&lt;/strong&gt; button&lt;/li&gt;
&lt;li&gt;Load demo programs (Hello World, FizzBuzz, Gopherino robot, DS18B20 sensor)&lt;/li&gt;
&lt;li&gt;Save and load your workspace as XML&lt;/li&gt;
&lt;li&gt;Copy generated code to clipboard and flash it to your badge or board&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="available-block-categories"&gt;Available block categories&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;Blocks&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Logic&lt;/td&gt;
&lt;td&gt;If/else, comparisons, boolean operators&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Loops&lt;/td&gt;
&lt;td&gt;Repeat, while, for&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Math&lt;/td&gt;
&lt;td&gt;Numbers, arithmetic, random&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Text&lt;/td&gt;
&lt;td&gt;Strings, print, I/O&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Variables&lt;/td&gt;
&lt;td&gt;Typed variables&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Functions&lt;/td&gt;
&lt;td&gt;Define and call Go functions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TinyGo&lt;/td&gt;
&lt;td&gt;LED control, sleep, goroutines, string conversion&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GopherBadge&lt;/td&gt;
&lt;td&gt;Button input&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gopherino&lt;/td&gt;
&lt;td&gt;Movement, distance sensor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sensors&lt;/td&gt;
&lt;td&gt;DS18B20 temperature sensor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Net/HTTP&lt;/td&gt;
&lt;td&gt;Cloudflare Workers, Fermyon Spin&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="building-the-playground"&gt;Building the playground&lt;/h2&gt;
&lt;p&gt;The playground is compiled from the
project. Run the following script from the &lt;code&gt;goeducation-site&lt;/code&gt; root to build and copy all files:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;./update-blockly.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This script requires Node.js. It runs &lt;code&gt;npm install &amp;amp;&amp;amp; npm run build&lt;/code&gt; in &lt;code&gt;../blockly-tinygo&lt;/code&gt;, then copies the compiled output and the full playground UI to &lt;code&gt;static/blockly-playground/&lt;/code&gt;.&lt;/p&gt;</description></item></channel></rss>