Maker.io main logo

Projects

Blogs See All

BLOG
111

How Hardware Gets Hacked (Part 8): Brute Force and Timing Attacks

By Nathan Jones

Explore how brute force and timing attacks can expose embedded device PINs, and learn defenses including rate limits and constant-time comparisons.

BLOG
216

How Hardware Gets Hacked (Part 7): Freshness and Randomness

By Nathan Jones

Learn how challenge-response authentication, nonces, and cryptographic MACs help embedded systems defend against replay attacks.

BLOG
487

Comparing MicroPython, Zephyr, Lua, and Forth

By Nathan Jones

Explore the strengths and tradeoffs of MicroPython, Zephyr, Lua, and Forth for embedded development and rapid prototyping.

BLOG
186

How Hardware Gets Hacked (Part 6)

By Nathan Jones

Learn how rolling counters and cryptographic MACs prevent replay attacks, authenticate devices, and strengthen embedded security.

BLOG
81

Debug Better: Take a break

By Nathan Jones

Find out how the brain's default mode network supports debugging, learning, and creative problem solving during short breaks.

BLOG
129

How Hardware Gets Hacked (Part 5)

By Nathan Jones

Learn how replay attacks exploit repeated unlock messages, why authenticity matters, and how embedded systems can defend against them.

Tutorials See All

TUTORIAL
150

Thread-safe printf Debugging - Part 2

By Nathan Jones

Learn how to make printf and snprintf safe for ISRs and RTOS threads by preventing race conditions using interrupts, mutexes, and atomics.

TUTORIAL
119

Thread-safe printf Debugging - Part 1

By Nathan Jones

Learn methods to strengthen embedded debug workflows with atomic checks, mutex tools, and race-free UART handling.

TUTORIAL
190

Smaller printf Debugging

By Nathan Jones

A technical analysis of printf performance, memory trade-offs, and the benefits of small-footprint alternatives for optimizing embedded C projects.

TUTORIAL
111

Faster printf Debugging (Part 3)

By Nathan Jones

Learn serialization and COBS framing to send debug logs at lightning speed from STM32 boards. Compare MessagePack, FlatBuffers, & bitproto for fast debug output.

TUTORIAL
286

Faster printf Debugging (Part 2)

By Nathan Jones

Learn non-blocking UART and USB tricks to slash printf debug times on STM32 boards. Speed up embedded logging with interrupts, DMA, and smart buffering.

TUTORIAL
214

Why Is This Code Bad?

By Nathan Jones

Discover the difference between messy and clean code with real examples. See why certain code examples are harder to use and maintain.