PROJECTS

Workshops I designed, teaching material I maintain, and things I built — from laser-cut lamps and milled acrylic lenses to a full-stack booking system.

$ ls ./teaching

Teaching repositories for Fab Academy embedded, interface and application programming: KiCad boards that students can mill themselves, with matching examples in Arduino, MicroPython and CircuitPython.

Milled copper breakout PCB with a XIAO ESP32C3 module and antenna

fab-xiao-esp32c3

A XIAO ESP32C3 breakout board in KiCad with LED, button and I²C header, plus code examples.

Milled copper breakout PCB with a XIAO RP2040 module, LED and push button

fab-xiao-rp2040

The same breakout board for the XIAO RP2040: blink, button, PWM, serial and NeoPixel examples in Arduino, MicroPython and CircuitPython.

QPad board with OLED display and capacitive touch pads

qpad-xiao-examples

Examples for the QPad board (OLED and six touch pads): two-way serial between the board and a desktop app written in Processing and in Python with PyQt6.

$ ls ./workshops

Two Aurora Lamps with laser-engraved acrylic panels glowing green on 3D-printed bases

workshop designer & instructor

Aurora Lamp

A hands-on workshop I designed for students that combines three fabrication skills in one take-home object: they trace and engrave their own image onto an acrylic panel using Inkscape, customise the 3D-printed base in Tinkercad, and program LED animations on an ESP32 with Arduino IDE or WLED.

I designed every part of the lamp for easy manufacturing in large quantities, so a whole class can build one each in a single session.

Run for over 2,000 students since 2021.

  • ESP32
  • NeoPixel
  • Arduino
  • WLED
  • laser cutting
  • 3D printing
Spot Price Lamp: an acrylic panel engraved with the Super Fab Lab Oulu logo, lit green

workshop extension author

Spot Price Lamp

Turns the Aurora Lamp into a live electricity-price indicator. Every 15 minutes the ESP32 fetches the current Nordic spot price from a public API, syncs time over NTP and fades its LEDs from green to red as power gets more expensive.

Used as teaching material by other organisations.

  • ESP32
  • C++
  • REST API
  • ArduinoJson
  • NTP

$ ls ./fabrication

$ ls ./software

North Star cinema logo

group project full-stack developer & DevOps

North Star Cinema

A cinema booking system built by a team of three for the Advanced Web Project course at OAMK. It has a customer app and an admin panel in React and TypeScript, and a Node.js/Express API on PostgreSQL with JWT authentication, Stripe payments, QR-code tickets and e-mail confirmations.

Built the CI/CD: tag-triggered GitHub Actions pipelines deploying to Azure.

  • React
  • TypeScript
  • Node.js
  • Express
  • PostgreSQL
  • Stripe
  • Azure
  • GitHub Actions

▌