What Is SWD and How Does It Compare to JTAG?
Discover the differences between SWD and JTAG, including wiring, debugging performance, flashing firmware, and ARM-specific features for embedded systems.
An Overview of JTAG for Makers
Explore JTAG fundamentals, scan chains, boundary-scan testing, and debugging techniques for developing, testing, and programming embedded systems.
A Beginner’s Guide to JavaScript
Learn JavaScript fundamentals including variables, loops, functions, DOM manipulation, and events to build interactive websites with confidence.
Intro to JSON
Explore JSON structure, data types, nesting, and syntax rules to build valid, efficient files for APIs, applications, and local data storage.
An Introduction to YAML for Makers
Learn YAML fundamentals, including scalars, sequences, mappings, strings, comments, and best practices for readable configuration files.
How Hardware Gets Hacked (Part 7): Freshness and Randomness
Learn how challenge-response authentication, nonces, and cryptographic MACs help embedded systems defend against replay attacks.
Comparing MicroPython, Zephyr, Lua, and Forth
Explore the strengths and tradeoffs of MicroPython, Zephyr, Lua, and Forth for embedded development and rapid prototyping.
XRP Classroom Triage and Troubleshooting guide
If you've ever stood in front of a classroom full of students while an XRP robot starts driving in unexpected circles and you're not entirely sure why — this post is for you.
How Hardware Gets Hacked (Part 6)
Learn how rolling counters and cryptographic MACs prevent replay attacks, authenticate devices, and strengthen embedded security.
Debug Better: Take a break
Find out how the brain's default mode network supports debugging, learning, and creative problem solving during short breaks.
How Hardware Gets Hacked (Part 5)
Learn how replay attacks exploit repeated unlock messages, why authenticity matters, and how embedded systems can defend against them.
An Introduction to JavaScript Event Handlers
Learn how JavaScript event handlers respond to user actions, attach and remove listeners, access event data, and manage propagation.
Docker Part 2: Building Your First Container & Best Practices
We're going to move from theory to practice. We'll run our first container, build a custom Python application, and look at when and when not to use Docker in your projects.
How Hardware Gets Hacked (Part 4): Memory Protections
Understand how memory read attacks work on MCUs and how to defend using debug disable, encryption, and hardware protection features.
Low-Cost, Power Efficient EMG Prosthetic Hand (Part 2)
Creating a low-cost prosthetic arm is challenging, but making one that is also easy to calibrate and accurate is even tougher.
How Hardware Gets Hacked (Part 3): Adopting the Attacker Mindset
Explore how attackers gather device info, map inputs, and uncover vulnerabilities using reconnaissance in embedded hardware security.
Docker Part 1: Fixing “It Works on My Machine"
In this post, I want to explain what Docker is, why it helps with these problems, and give a practical understanding of how it fits into development workflows.
How Hardware Gets Hacked (Part 2): On-boarding
Explore a hardware security workflow using firmware builds, simulation tools, serial commands, and automated tests for microcontroller systems.
Getting Started with the Microchip VeryVerilog Kit
Follow the setup and programming process for the VeryVerilog kit, including firmware loading and exploring built-in logic demos.
The Best MCU Peripheral You've Never Heard Of
Learn how Microchip’s CLB, CLC, and AVR CCL peripherals enable gate-level functions without external hardware.

