Course Booklets
Beginner-friendly activity books packed with diagrams, code walkthroughs, and theory. Read below or use your browser's Print → Save as PDF to download.
Let's Get Started!
Welcome to the Rysera Intermediate Course — Course on Integrated System Design! Over the next few weeks you're going to build something really cool: a Medibox.
A Medibox is a smart medicine dispenser — a device that reminds you to take medicine at the right time, shows the time and environment conditions on a screen, and can even be controlled from your phone. Think of it as a mini hospital device you build yourself.
By the end of this course, you'll have:
- Wired up real electronic components on a circuit board
- Designed your own PCB (Printed Circuit Board) in professional software
- Written C++ code to make your device work
- Connected your device to the internet
- 3D-designed and printed an enclosure for it
Today we're going to work with the 1.3" TFT Display. TFT stands for Thin Film Transistor — it's a colorful screen, just like the screen on your phone, but much smaller!
The display has 8 pins — power, ground, and 6 signal wires. It communicates using SPI which means it only needs a few wires to send a full-color image to the screen at high speed.
What is SPI?
SPI — Serial Peripheral Interface — is a communication "language" that your ESP32 and TFT screen use to talk to each other. Think of it like texting: the ESP32 sends messages (pixel data), and the TFT displays them.
- MOSI — Master Out, Slave In (ESP32 → TFT, sends data)
- MISO — Master In, Slave Out (TFT → ESP32, sends data back)
- SCLK — Clock (keeps both devices in sync)
- CS — Chip Select (tells the TFT "hey, I'm talking to you!")
Wiring Diagram (ESP32 → 1.3" TFT)
Let's write your first Medibox code! Follow the steps below carefully.
// Day 1 Starter Code — Display Your Name
#include <TFT_eSPI.h>
#include <SPI.h>
TFT_eSPI tft = TFT_eSPI();
void setup() {
tft.init();
tft.setRotation(1);
tft.fillScreen(TFT_BLACK);
// Set text properties
tft.setTextColor(TFT_GREEN, TFT_BLACK);
tft.setTextSize(3);
// Display your name!
tft.setCursor(20, 80);
tft.print("Hello, World!");
}
void loop() {
// Nothing here for now
}TFT_GREEN to TFT_CYAN or TFT_YELLOW!New booklets and quizzes are added each week. Check back here after each session.