← Embedded Track
Embedded Systems & IoT · Course 04

Raspberry Pi
Intermediate Projects

Turn a Raspberry Pi into useful always-on appliances: dashboard, DNS ad blocker, file server, camera, remote access endpoint, and network monitor.

Start Course 04 ← Course 03 Course 05 →
10Modules
LinuxServices + storage
NetworkingDNS, SSH, dashboards
CapstoneHome operations box
Course Progress
0%
Module 01

Appliance Mindset

Beginner Raspberry Pi lessons teach the board. This course teaches the Pi as a product: a small, reliable, always-on computer that performs one useful job.

🎯 Course Outcome

Learners turn a Raspberry Pi into a home operations box that combines network blocking, status dashboard, file sharing, camera monitoring, and device health checks.

Raspberry Pi 4/5Linux servicesNetworkingStorageSecurity basics

Prototype

Something works once while you are watching it.

Appliance

Something starts on boot, logs errors, survives reboots, and is easy to maintain.

📦 Appliance Checklist
  • Has a clear purpose.
  • Uses a stable power supply and cooling.
  • Has predictable network access.
  • Starts required services automatically.
  • Documents install, update, backup, and recovery steps.
🧠 Quick Check
What is the biggest difference between a prototype and an appliance?
Module 02

Secure SSH & Updates

Intermediate Pi work starts with remote access. Learners enable SSH, update the system, create safer habits, and avoid exposing services carelessly.

🔐 First Hardening Steps
  1. Change default passwords and use a named user account.
  2. Run system updates before installing services.
  3. Use SSH keys where practical.
  4. Only expose services to the local network unless you know exactly why they need internet access.
  5. Document how to log in, update, and restart.
sudo apt update
sudo apt full-upgrade -y
sudo reboot

hostname -I
ssh pi@YOUR_PI_IP
⚠️
Safety ruleDo not port-forward SSH or dashboards to the public internet as a beginner. Keep projects on your LAN or use a reputable VPN/tunnel approach after you understand the risk.
🧪 Lab: Remote Admin Ready

Update the Pi, confirm SSH access from your laptop, write down the hostname/IP, and reboot to confirm you can reconnect without a monitor.

🧠 Quick Check
Why should beginners avoid exposing SSH directly to the internet?
Module 03

Static IP & Hostnames

A home appliance is annoying if its address keeps changing. This module teaches predictable access through hostnames, DHCP reservations, and simple network documentation.

🧭 Addressing Options
MethodBest For
HostnameEasy local access like raspberrypi.local when mDNS works.
Router DHCP reservationMost reliable beginner option: router always gives the Pi the same IP.
Manual static IP on PiUseful, but easier to misconfigure if router range is not understood.
hostname
hostname -I
ping raspberrypi.local
ssh pi@raspberrypi.local
🧪 Lab: Network Card

Create a small network card for the device: hostname, IP address, purpose, installed services, admin URL, and recovery notes.

🧠 Quick Check
Why use a DHCP reservation for a Pi appliance?
Module 04

Pi-hole DNS Appliance

Learners build a real network appliance: a DNS-based blocker that filters requests for devices on a home network.

🛡️ How DNS Blocking Works

Devices ask DNS where a domain lives. Pi-hole answers normal domains normally, but blocks known unwanted domains by returning an empty or blocked response. It works at the network request level, not inside a specific browser.

# Typical install approach from a trusted shell command source:
# Review official instructions before running installers.

pihole status
pihole -t
pihole restartdns
🧠
Teaching pointPi-hole is not just about ads. It teaches DNS, clients, router configuration, allowlists, blocklists, logs, and why infrastructure changes should be reversible.
🧪 Lab: DNS Test

Point one test device to the Pi-hole as DNS, browse normally, then inspect the query log. Do not change the whole router until one test device works.

🧠 Quick Check
What should you test before changing DNS for the whole network?
Module 05

Home Dashboard

A dashboard turns a headless device into something understandable. Learners build a simple web page showing system health, network links, and project shortcuts.

📊 Dashboard Content
  • Device hostname and IP address.
  • CPU temperature and uptime.
  • Disk usage.
  • Links to Pi-hole, NAS share notes, camera stream, and network monitor.
  • Status cards for installed services.
uptime
vcgencmd measure_temp
df -h
systemctl status ssh --no-pager
🧪 Lab: Static Status Page

Create a small HTML dashboard served by a lightweight web server. Add command outputs manually first, then discuss how later courses will automate them.

🧠 Quick Check
Why is a dashboard useful on a headless Pi?
Module 06

Personal NAS

Learners add external storage and share files across a local network. The goal is practical file access, not enterprise-grade storage.

💾 NAS Concepts
ConceptMeaning
Mount pointFolder where a drive appears in Linux.
ShareNetwork-accessible folder.
PermissionsRules for who can read or write files.
BackupA second copy. A NAS alone is not a backup.
lsblk
df -h
mkdir -p ~/shared
chmod 755 ~/shared
⚠️
Storage truthA Raspberry Pi NAS is great for learning and light home use. It is not a replacement for serious backups unless you also design redundancy and off-device copies.
🧪 Lab: Shared Folder

Create a shared folder, add a test file, connect from another computer, and document permissions and recovery steps.

🧠 Quick Check
Why is a NAS not automatically a backup?
Module 07

Camera Station

Learners add a camera feed or periodic snapshots, then think about privacy, storage, and motion-based recording.

📷 Camera Project Modes
ModeUse
SnapshotOccasional image capture for simple monitoring.
TimelapseProgress tracking for plants, projects, or rooms.
Motion captureRecord only when change is detected.
StreamLive local viewing, higher network and CPU load.
# Examples depend on camera stack and OS version.
# Common checks:

libcamera-hello
libcamera-still -o test.jpg
🔒
Privacy ruleOnly place cameras where people know they are being used, and keep streams local unless you fully understand access control.
🧪 Lab: Snapshot Button

Create a simple command or page link that takes a snapshot and saves it to a dated folder.

🧠 Quick Check
Why should camera streams stay local for beginner projects?
Module 08

Remote Access Endpoint

The Pi can become a safe remote endpoint for learning remote administration, local desktop access, and service control. This module stays defensive and permission-based.

🖥️ Remote Access Types
TypePurpose
SSHCommand-line administration.
VNC / remote desktopGraphical access to the Pi desktop.
VPN / tunnelControlled access into your own network without exposing random ports.
Web dashboardBrowser-based device control and status.
⚠️
Permission ruleOnly connect to systems you own or have explicit permission to manage. Remote access tools are for administration, support, and learning — not stealth access.
🧪 Lab: Local Remote Desktop

Enable a local-only desktop access method, connect from another computer on the same network, then disable it and document when it should be used.

🧠 Quick Check
What is the safest beginner scope for remote desktop practice?
Module 09

Network Monitor

Learners build a simple monitor that checks whether important local devices and services are online, then displays the result on the dashboard.

📡 What to Monitor
  • Router reachable by ping.
  • Internet DNS reachable.
  • Pi-hole service running.
  • Dashboard service running.
  • NAS share reachable.
  • Camera command working.
ping -c 2 192.168.1.1
systemctl is-active ssh
systemctl is-active lighttpd
curl -I http://localhost
🧪 Lab: Status Script

Write a simple script that checks three services and writes PASS/FAIL results to a text file the dashboard can display.

🧠 Quick Check
What makes a monitor useful?
Module 10

Capstone: Home Operations Box

The final project combines the course into a practical local appliance that teaches services, dashboards, DNS, files, camera, and monitoring.

🏁 Final Build Requirements
  1. Pi has a stable hostname or reserved IP.
  2. SSH is enabled and documented safely.
  3. Pi-hole or DNS learning lab is installed and tested on one client.
  4. Dashboard page links to all services and shows device notes.
  5. Shared folder exists for local file transfer.
  6. Camera snapshot or timelapse command works if hardware is available.
  7. Status script checks at least three services.
  8. README documents setup, admin URLs, backup notes, and rollback steps.
📦 Portfolio Deliverables
  • Architecture diagram.
  • Photos or screenshots of services.
  • Network card with IP/hostname.
  • Install commands used.
  • Troubleshooting section.
  • Short demo video showing dashboard and at least two working services.
🧠 Final Check
What makes this capstone stronger than a random collection of Pi tools?