Before tutorial 01 · about 30 minutes

Set up your laptop.

Four installations, once per laptop. You do not need your device credentials yet, and nothing here can break anything.

Most of this is waiting for downloads.

Do it before your first session if you can. If a download stalls, start it again — nothing is lost.

  1. 01Arduino IDE
  2. 02ESP32 support
  3. 03Three libraries
  4. 04Garden Spine
  5. Tutorial 01

Step 01

Install the Arduino IDE

This is the program you write and upload code in. You do not need any other editor.

Download Arduino IDE 2.x →

Install it, then open it once and let it finish setting itself up. It may ask permission to install drivers. Allow it.

Step 02

Teach it about ESP32 boards

The IDE ships knowing about Arduino boards only. Your board is an ESP32, so you point the IDE at Espressif's list first.

Paste this into Additional boards manager URLs, then click OK:

https://espressif.github.io/arduino-esp32/package_esp32_index.json

Search for esp32 and install esp32 by Espressif Systems, version 3.3.7.

This is the long one.

Several hundred megabytes of compiler. Leave it running and read step 03 while you wait.

Step 03

Install three libraries

A library is code someone else wrote so you do not have to. Install all three now, even though you will not use the last two until later.

Search forVersionWhat it is for
PubSubClientby Nick O’Leary2.8MQTT. Every example needs it.
DHT sensor libraryby Adafruit1.4.6The temperature and humidity sensor, from tutorial 02.
ESP32Servoby Kevin Harrington3.0.9The servo, from tutorial 04.
If a box appears offering to install more.

The DHT library depends on Adafruit Unified Sensor. When the IDE offers to install it too, say yes. Without it, tutorial 02 will not compile.

Step 04

Add the Garden Spine library

This is the code your team shares. It handles Wi-Fi, security, and the message format so your sketch stays short.

  1. Download it as a ZIP. Open the ladybug-starter repository, click the green Code button, then Download ZIP. Do not unzip it.

    done when: you have a file called ladybug-starter-main.zip.

  2. Hand the ZIP to the IDE.SketchInclude LibraryAdd .ZIP Library…

    done when: the console at the bottom says the library was installed.

  3. Check it worked. Open FileExamples and scroll to the very bottom, under Examples from custom libraries.

    done when: you see GardenSpine with five sketches inside it.

Expected menu
  • GardenSpine
  • 01_FirstMessage
  • 02_ClimateNode
  • 03_Subscribe
  • 04_ServoReaction
  • 05_DeliberateError

Orientation

Where your files live

Two folders matter, and mixing them up is the most common way to lose an afternoon.

Your documents folder

  • 01_FirstMessage
  • 01_FirstMessage.inothe sketch you edit and upload
  • config.hyou create this in tutorial 01. Your password lives here

Yours. Edit freely.

The IDE's own libraries folder

  • GardenSpine
  • src/GardenSpine.hput here by Add .ZIP Library
  • src/spine_ca.hthe programme's security certificate, already filled in
  • examples/the five sketches in the menu above

Leave alone. You never edit this.

Your sketch says #include <GardenSpine.h> and the IDE finds it in the second folder. You do not copy it anywhere.

You are ready

Get your first message onto the dashboard

Tutorial 01 takes about fifteen minutes and needs the credential slip from your kit box.

Start tutorial 01 →

Setup problems only

If something went wrong

No port under Tools → Port

Use a USB data cable. Charge-only cables power the board but carry no data. Some boards also need a driver for their USB chip — look for CP210x or CH340 printed next to the USB socket.

No GardenSpine under File → Examples

Step 04 did not finish. Try Add .ZIP Library again and watch the console at the bottom for the confirmation line.

esp32 is missing from Tools → Board

The board manager URL in step 02 has a typo. Paste it again, close Preferences, then reopen Boards Manager.

DHT.h: No such file or directory

The DHT library needs Adafruit Unified Sensor alongside it. Install that too.

Downloads keep failing

The ESP32 package is several hundred megabytes. Use a stable connection rather than a phone hotspot for this step.

Problems that appear after your device starts publishing belong in troubleshooting.

Later, not now

Saving your team's work

When your team is ready to keep its code somewhere safe, read the short git guide. You do not need it to finish tutorial 01.