#include <Arduino.h>
// Note: You'll need to install DHT library via PlatformIO
#define DHT_PIN D2 // GPIO4
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println("Temperature Monitor Started!");
Serial.println("Note: Install DHT library for full functionality");
}
void loop() {
// Placeholder - with DHT library you would read actual valuesTemperature Monitor
1830
Alice Arduino#include <Arduino.h>
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(500);
digitalWrite(LED_BUILTIN, LOW);
delay(500);
}
Arduino Blink
11830
Alice Arduino#include <Arduino.h>
#include <Servo.h>
#define SERVO_PIN D4 // GPIO2
Servo myServo;
int angle = 0;
int direction = 1;
void setup() {
Serial.begin(115200);
myServo.attach(SERVO_PIN);
Serial.println("Servo Control Started!");
}Servo Motor Control
810
Bob Builder#include <Arduino.h>
// RGB LED pins on Wemos D1
#define RED_PIN D5 // GPIO14
#define GREEN_PIN D6 // GPIO12
#define BLUE_PIN D7 // GPIO13
void setup() {
Serial.begin(115200);
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
Serial.println("RGB LED Started!");
}RGB LED Blink
2780
Alice Arduino#include <Arduino.h>
#include <WiFi.h>
#include <PubSubClient.h>
// Plant telemetry: publishes soil moisture to broker.emqx.io.
// Topic: granrojo/demo/plant/<chip-id>/moisture (matches the playground subscription).
const char* WIFI_SSID = "your-wifi"; // TODO: set this
const char* WIFI_PASS = "your-password"; // TODO: set this
const char* MQTT_HOST = "broker.emqx.io";
const uint16_t MQTT_PORT = 1883;
#define SOIL_PIN 34
Playground Plant Sensor
2770
Alice Arduino#include <Arduino.h>
// Example protocol for a Wemos D1 + MAX7219-style 8x8 matrix:
// MATRIX: followed by 64 bits, row-major, e.g. MATRIX:00011000...
// Swap the renderPattern body for your matrix library of choice.
void renderPattern(const String& bits) {
Serial.print("DISPLAY ");
Serial.println(bits);
}
void setup() {
Serial.begin(115200);
}Playground Wemos 8x8 Matrix
2770
Alice Arduino#include <Arduino.h>
// Track-display firmware stub for ESP32 + ST7789 / SSD1306 / OLED.
// Wire format: TRACK:{"t":"<title>","a":"<artists>","al":"<album>"}
void renderTrack(const String& payload) {
Serial.print("RENDER ");
Serial.println(payload);
// TODO: parse JSON with ArduinoJson and draw the t/a/al fields.
}
void setup() {
Serial.begin(115200);
Serial.println("READY:SPOTIFY");Playground Track Display
1770
Alice Arduino#include <Arduino.h>
// CO2 / temperature / humidity stub firmware for the live-graph playground.
// Replace the readSensor() body with your SCD30 or SCD41 library calls.
struct Reading { int co2; float t; float rh; };
Reading readSensor() {
// TODO: replace with real sensor reads.
int co2 = 450 + random(0, 700);
float t = 20.0 + random(0, 80) / 10.0;
float rh = 35.0 + random(0, 300) / 10.0;
return { co2, t, rh };
}Playground CO₂ Sensor
1770
Alice Arduino#include <Arduino.h>
#define BUTTON_PIN D3
bool lastPressed = false;
void setup() {
Serial.begin(115200);
pinMode(BUTTON_PIN, INPUT_PULLUP);
}
void loop() {
bool pressed = digitalRead(BUTTON_PIN) == LOW;
if (pressed != lastPressed) {Playground Button Remote
2770
Alice Arduino#include <Arduino.h>
// Weather-sign firmware stub for ESP32 + e-ink display.
// Replace renderForecast() with calls to your e-ink driver (GxEPD2, etc).
// Wire format: WEATHER:{"t":"22.3","s":"Clear","w":4.2,"tz":"...","days":[...]}
void renderForecast(const String& payload) {
Serial.print("RENDER ");
Serial.println(payload);
// TODO: parse JSON with ArduinoJson and draw the fields on your panel.
}
void setup() {
Serial.begin(115200);Playground Weather Sign
#include <Arduino.h>
// Eight-button MIDI pad → USB serial lines for the esp32-midi-pad playground.
// Wire each button: GPIO → switch → GND (internal pull-ups enabled).
// Protocol: NOTEON:<note>:<velocity> NOTEOFF:<note>
static const uint8_t BTN_COUNT = 8;
static const uint8_t BTN_PINS[BTN_COUNT] = {13, 14, 27, 26, 25, 33, 32, 23};
static const uint8_t BTN_NOTES[BTN_COUNT] = {60, 62, 64, 65, 67, 69, 71, 72};
bool pressed[BTN_COUNT] = {false};
void setup() {
Serial.begin(115200);
for (uint8_t i = 0; i < BTN_COUNT; i++) {