Personal knowledge base

Embedded Pandora

A long-term, continuously growing reference for everything I learn about electronics, embedded systems, four programming languages, sensors, protocols, automotive systems, Linux, networking, bootloaders, and packaging. Every topic lives in its own logically-organized folder — a lab notebook that's meant to still make sense in ten years.

Domains

⚡

Electronics

Voltage, current, resistance, passive components, semiconductors — the circuit-level foundation everything else builds on.

Domain
🔧

Embedded

Microcontrollers, GPIO, interrupts, timers, memory, and debugging — the core building blocks of firmware.

Domain
📘

C

The C language itself, from first principles — variables, control flow, functions, arrays, strings, pointers, and structs, explained for someone with only basic exposure.

Domain
🧩

Embedded C

Storage classes, integer overflow, compilation and linking, malloc/pointers/registers, and data structures built from scratch — the C language as it actually behaves on bare metal.

Domain
🔷

C++

Classes, inheritance, templates, the STL, and smart pointers — built directly on top of the C domain, plus what a bare-metal C++ codebase typically avoids.

Domain
🐹

Go

Goroutines, channels, interfaces, and no exceptions — a modern, garbage-collected language explained by direct contrast with C and C++, plus where it fits in embedded/IoT.

Domain
🛰️

Sensors

GNSS, accelerometers, gyroscopes, and temperature sensing — the physics behind the number your firmware reads.

Domain
🔌

Protocols

SPI, I2C, UART, CAN, and other buses — each protocol gets its own home, never lumped together.

Domain
🚗

Automotive

Radar, LiDAR, and camera sensors; ADAS and levels of driving automation; UDS and CAPL for talking to a vehicle's own computers.

Domain
🌐

Networking

TCP, IP, UDP, Ethernet, DNS — layered networking concepts, each as an individually organized topic.

Domain
🐧

Linux

Kernel, drivers, boot process, processes, memory, and filesystems on embedded Linux.

Domain
🥾

Bootloaders

Boot flow fundamentals and U-Boot specifics, kept separate from the Linux kernel material.

Domain
📦

Snap

Snapcraft, confinement, and Ubuntu Core packaging — its own space, not folded into Linux.

Domain
🔒

Security

Secure coding principles, CVEs and vulnerability scoring, dependency analysis, and automotive cybersecurity — concepts that cut across every other domain.

Domain
🤖

AI Systems

RAG, fine-tuning, caching, guardrails, feedback loops, agentic evals, and observability — production AI design patterns, and how each one changes on embedded/edge hardware.

Domain
📚

References

Books, datasheets, articles, and curated links that don't belong to a single topic.

Domain

How this notebook works

Every piece of knowledge is classified before it's written down: domain → category → topic. SPI and I2C are separate topics under Protocols; TCP, IP, and UDP are separated under Networking; C, Embedded C, C++, and Go are four separate domains rather than one giant "programming" catch-all, precisely so each can be read start to finish on its own terms. Linux, bootloaders, and Snap each evolve independently too. Nothing gets dumped into a catch-all folder. See GUIDE.md for the full convention on where new material belongs and how to add it.