📡 Embedded Systems & IoT Tools

The hardware and software I use for tinkering with electronics; Microcontrollers (AVR, ARM Cortex), PCB design software, soldering tools, oscilloscopes, and firmware development stacks. Also, how I integrate hardware projects with cloud backends and radio communication.

Embedded development is where software meets the physical world.
I’ve always enjoyed the mix of logic, electronics, and problem-solving that comes with building devices that actually do something.
My workflow blends firmware development, PCB design, and cloud connectivity for end-to-end IoT solutions.

⚙️ Microcontrollers & Boards

  • STM32 (ARM Cortex-M Series)
    My primary platform for most embedded projects. I use CubeMX IDE to configure peripherals, generate HAL code, and manage complex pin mappings before diving into firmware logic.
  • AVR (Atmega / ATTiny Series)
    Used for smaller, power-efficient projects — reliable, easy to program, and widely supported.
  • Raspberry Pi (Multiple Units)
    My Swiss army knife for IoT experiments — serving as controllers, gateways, and even small Linux servers for data collection and automation.

💾 Firmware & Development Environments

  • STM32CubeMX IDE – For firmware generation and peripheral configuration on STM32 boards.
  • PlatformIO – Cross-platform embedded IDE that integrates with VS Code, perfect for managing multiple board types in one workspace.
  • Atmel Studio – For programming and debugging AVR microcontrollers.
  • C / C++ – The foundation of all my embedded firmware. I focus on modular, efficient code that can run on limited hardware.
  • Make & GCC Toolchains – For building and testing lightweight projects without full IDEs.

🧠 Circuit Design & Prototyping

  • KiCad – My go-to tool for PCB design and layout. I use it to design custom boards for sensors, controllers, and IoT devices.
  • Breadboards & Logic Analyzers – For fast prototyping, debugging timing issues, and testing signal flow.
  • Soldering & Multimeter Tools – The basics that make hardware tangible — every project eventually touches the workbench.

🌐 Connectivity & Cloud Integration

  • MQTT & REST APIs – For connecting microcontrollers to cloud platforms and dashboards.
  • AWS IoT Core & Custom APIs – Used to collect, analyze, and visualize data from remote sensors.
  • Radio Links & Ham Radio Equipment – Occasionally used for low-bandwidth, long-distance communication where WiFi or cellular aren’t available.

🧩 Supporting Utilities

  • Serial Terminals & USB Analyzers – For debugging communication protocols and monitoring device logs.
  • Python Scripts – Used for automation, testing device responses, or handling data parsing.
  • Firmware Versioning with Git – Every embedded project is tracked like any other software product — versioned, documented, and reproducible.

Working with embedded systems keeps me grounded in how software interacts with reality — from blinking an LED to deploying IoT networks that feed data into full-stack applications.
It’s where precision, patience, and curiosity come together to make real-world systems come alive.