Hi, I'm Max Halanen

Computer Scientist & Embedded Developer

Passionate about embedded systems, IoT development, and systems engineering. Currently pursuing Computer Science at Carleton University with a focus in software engineering.

Max Halanen

About Me

I'm a Computer Science student at Carleton University with a passion for embedded systems, IoT technology, and systems security. My experience ranges from microcontroller programming to large-scale network automation and deployment systems.

Currently working as a Software Developer at General Dynamics and conducting embedded security research at Carleton University, I specialize in embedded software development, hardware security, and systems engineering. My academic background combined with hands-on industry experience has provided me with both theoretical knowledge and practical skills in embedded development and security.

Education

Bachelor of Computer Science Honors

Carleton University • Expected Graduation: May 2027

GPA: 3.9 / 4.0 • Ottawa, ON

Relevant Courses: Discrete Mathematics and Algorithms II (A+), Database Management Systems (A+), Introduction to Systems Programming (A), Applied Cryptography and Authentication (A+), Operating Systems (A+)

3.9

GPA

2+

Years Experience

Current Position

Software Developer - Internship

General Dynamics (GDMS-C)

May 2026 - Present • Ottawa, ON

Embedded Security Researcher (Part-Time)

Carleton University

Jan 2026 - Present • Ottawa, ON
  • Implemented secure device attestation on ESP32-C6 using ECDSA-signed tokens for verification.
  • Analyzed isolation differences between ESP-TEE and ARM TrustZone, identifying key security tradeoffs.
  • Built a secure device–server protocol to remotely validate trusted hardware through cryptographic attestation.

Previous Experience

Embedded Software Developer - Internship

General Dynamics (GDMS-C)

Sep 2025 - Dec 2025 • Ottawa, ON
  • Led software migration to a secure ARMv8 processor, reducing product lifecycle costs by $125k.
  • Abstracted I2C interface to GPIO, enabling a standard CMSIS GPIO interface for an I/O expander.
  • Created containerized dev and build environments to streamline CI/CD and ensure consistent development.
  • Developed a WS2812 LED driver using DMA-driven PWM to eliminate CPU load.
  • Implemented FreeRTOS CLI accessible via TCP and UART enabling runtime debug and statistics.

Systems Engineer - Internship

General Dynamics (GDMS-C)

Sep 2024 - Aug 2025 • Ottawa, ON
  • Developed a router configuration automation app, saving $25,000 in projected salary costs.
  • Built RAG chain LLM to increase lab efficiency by assisting in document search and retrieval processes.
  • Created remote installer deploying software across 100+ machines using PowerShell and WinRM.
  • Worked on a Wireshark packet dissector, opening up new capabilities in debugging and automation.
  • Automated media file auditing system, comparing tens of thousands of files against specification spreadsheets.

Programming Instructor

Geek Education

Sep 2021 - Dec 2021 • Remote
  • Taught Python and Scratch programming to 20+ students, developing curriculum and interactive coding exercises.
  • Mentored students in computational thinking, problem-solving, and software development best practices.
  • Created engaging project-based learning experiences including games, animations, and interactive applications.
  • Adapted teaching methods to accommodate different learning styles and skill levels across age groups.

Skills & Technologies

Languages

C/C++
Python
Verilog
Assembly (x86, ARM, RISC-V)
PowerShell
Bash
Java

Embedded & Hardware

ARM TrustZone
STM32
ESP32
Oscilloscope
Logic Analyzer
USART
SPI
I2C

Tools

Git
GDB
QEMU
Valgrind
FreeRTOS
Docker
Linux
KiCad

Networking

Wireshark
LwIP
TCP/IP
ESXi/vSphere
PuTTY

Featured Projects

STM32 IoT Thermostat

STM32 IoT Thermostat System

IoT thermostat using STM32H5 with BMP180 sensor for temperature, pressure, and altitude monitoring. Implemented UDP server using LwIP stack to transmit sensor data to HTTP server on home lab, accessible globally through Tailscale VPN network.

STM32H5 C LwIP UDP BMP180
Handheld GPS Device

Handheld GPS Prototype

Handheld GPS navigation device using an ESP32 to display maps in real time based on user location. Maps loaded from SD card to TFT LCD over SPI, integrated a magnetometer via I2C for compass heading (direntionality).

ESP32 C/C++ GPS I2C SPI UART
Arch Linux Home Lab

Arch Linux Home Lab

Arch Linux home lab linked to the internet via a VNC server and Tailscale VPN. The server helps maintain a consistent development environment across different machines, as well as run network applications from a centralized computer (dotfiles on GitHub).

Arch Linux Networking dotfiles Neovim Lua VNC Tailscale/VPN

Get In Touch

Let's Connect

I'm always interested in new opportunities and collaborations. Feel free to reach out!

maxhalanen@cmail.carleton.ca
416-274-9660
Ottawa, ON