<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Block 1 Labs]]></title><description><![CDATA[Post Block 1 lab completions — blink, datasheet exercise, firmware quality]]></description><link>https://forum.grapesiot.com/category/13</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Jul 2026 09:25:44 GMT</lastBuildDate><atom:link href="https://forum.grapesiot.com/category/13.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 22 Jul 2026 06:23:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[📋 Block 1 Labs — How to Submit]]></title><description><![CDATA[How to Submit Your Lab
Every lab submission must include:

Session number and lab name (e.g. "Lab 2.1.1 — UART Deep Dive")
What it does — one paragraph description
Code — paste your firmware using code blocks
Evidence — serial output screenshot OR wiring photo OR video link
What you learned — one sentence

Format example:

Lab: 2.1.1 — UART Two-Board Communication
Description: Connected two ESP32 boards via UART. Board A sends a SensorReading_t struct every 2 seconds. Board B receives, parses, and prints.
// your code here

Serial output:
[INF][1234] Received: temp=27.4, hum=62.1

What I learned: UART needs shared GND — forgot this and got garbage data for 20 minutes.

Tag your post with the block tag e.g. block-2
]]></description><link>https://forum.grapesiot.com/topic/7/block-1-labs-how-to-submit</link><guid isPermaLink="true">https://forum.grapesiot.com/topic/7/block-1-labs-how-to-submit</guid><dc:creator><![CDATA[admin]]></dc:creator><pubDate>Wed, 22 Jul 2026 06:23:25 GMT</pubDate></item></channel></rss>