DAEDALUS
LOCAL TIME --:--:--LOCATION NOVGOROD STATIONWEATHER 15°C · CLEAR ☼

FIELD NOTE // NEURODIVERSITY AND DESIGN PHILOSOPHY

The Circuit Works. I Just Don't Know Why.

On autism, electronics, and why I sometimes need to rebuild a perfectly good schematic just to understand it.

I have a complicated relationship with electronics schematics. Not because I don't understand electronics, but because understanding electronics and understanding someone else's electronic design are apparently two entirely different skills. I know what resistors do. I understand capacitors, transistors, amplifiers, voltage regulators, and the general principles governing how electricity behaves when we convince it to do something useful. I've worked with electronics for most of my life, and I'm perfectly comfortable reasoning about circuits.

Then someone hands me a schematic, and suddenly I'm staring at what might as well be an ancient Egyptian wiring diagram.

The frustrating part is that I can usually identify everything on the page. I can trace the connections, calculate voltages, identify signal paths, and recognize familiar circuit arrangements. What I can't always do is understand why someone arranged those components in that particular way. My autistic brain has a rather significant difficulty separating what a design physically does from what its designer intended it to accomplish.

That distinction matters considerably more than it might initially appear. A traditional schematic documents electrical relationships, but it doesn't necessarily communicate the reasoning behind them. To someone who intuitively recognizes the patterns, that reasoning might be obvious. To me, it can be completely invisible.

The Three Power Rails of Doom

Imagine looking at a schematic for an audio processor. There's an input stage, some filtering, an amplifier, a microcontroller, and a handful of other components. Nothing especially unusual. I understand the individual components and have a reasonable idea of what the finished device is supposed to accomplish.

Then the power supply branches into three different rails.

Why three? Why not two? Why not one? Is one isolated to prevent digital switching noise from contaminating the analog signal? Is another providing a different voltage? Is the output amplifier drawing enough current to justify its own supply? Perhaps there's a grounding consideration, or a component with some particularly inconvenient electrical requirements.

All of these are reasonable explanations, but the schematic itself might not tell me which one is correct. It simply presents three power rails as an established fact, apparently confident that I'll absorb the designer's intentions through some form of electrical telepathy.

For another engineer, recognizing the topology might provide enough context to move forward. For me, the uncertainty can become a roadblock. I don't want to memorize that this particular design has three rails. I want to understand the problem that requires three rails, because once I understand the problem, the design choices become meaningful.

This is where my approach to engineering starts looking a little different.

Everything Is LEGO

I've written previously about the way I learn and design things using what I call the LEGO principle. I don't begin by trying to understand an entire complicated system at once. Instead, I break it into small, independent functional pieces, each with a specific responsibility.

Lately, I've started calling these pieces Geodes. The name comes from the idea that something apparently complicated can be broken open to reveal an organized structure inside. Each Geode represents one recognizable function, with clearly defined inputs, outputs, and behavior.

The important distinction is that a Geode doesn't necessarily represent a single electronic component. It represents something the system does.

A resistor might be part of a Geode, but so might an entire amplifier. A voltage regulator can be a Geode. So can a complete power supply made from several smaller Geodes. The level of detail depends on what I'm trying to understand.

The goal is to turn an unfamiliar technical design into a collection of recognizable functions that can be understood at a glance.

Think about how most people understand a computer. They don't need to know the electrical topology of every circuit on the motherboard to understand that the power supply provides electricity, the processor executes instructions, the memory stores working data, and the graphics subsystem produces images. Those are functional blocks, and each has a role that can be described without explaining every transistor involved.

That's the kind of representation I need for electronics.

Instead of beginning with fifty components and seventy wires, I want to begin with five boxes connected by arrows. Once those five boxes make sense, I can open any one of them and examine the smaller boxes inside.

It's LEGO, except the blocks occasionally catch fire when assembled incorrectly.

Turning a Schematic Into Something My Brain Recognizes

Let's use a relatively simple example: a temperature-controlled cooling fan. The device measures temperature and automatically adjusts a fan's speed. There are plenty of ways to build one, but we'll assume we're using a temperature sensor, a microcontroller, and a transistor-based fan driver.

A conventional schematic might present the temperature sensor, a handful of resistors, a decoupling capacitor, the microcontroller, a MOSFET, a protection diode, a power supply, and several connections running between them. If the schematic is particularly enthusiastic, components belonging to the same functional system might be scattered across multiple pages.

Instead of trying to understand the entire thing electrically, I first translate it into a sequence of actions:

Measure temperature → Interpret temperature → Decide fan speed → Control fan → Move air

That's the entire machine, described as five functional Geodes.

Each block has a purpose that can be understood without knowing anything about the underlying circuit. The first produces temperature information. The second converts that information into a usable measurement. The third determines how fast the fan should run. The fourth translates that decision into electrical power delivered to the motor. The fifth is the physical result.

Now I have something I can reason about.

The temperature sensor isn't just a mysterious three-pin device connected to the microcontroller. It's the component responsible for answering the question, "How hot is it?" The MOSFET isn't simply a transistor connected to a PWM-capable output. It's the component responsible for controlling how much electrical power reaches the fan.

Once those purposes are established, I can start examining their implementations.

Step One: Identify What the Entire Circuit Is Supposed to Do

Before worrying about individual components, I try to describe the circuit in one plain-English sentence. For our cooling fan, that sentence might be: "This device measures temperature and increases airflow when things get hot."

That sentence becomes the top-level Geode. Everything inside the circuit should contribute to that function, either directly or by supporting something that does.

This is an important distinction because electronic circuits contain plenty of components that don't participate directly in the obvious purpose of the device. Power regulation, noise filtering, protection circuitry, clock generation, and supporting logic are all necessary, but they can obscure the primary signal path.

By identifying the overall function first, I establish a reference point. When I encounter an unfamiliar component or connection, I can ask which part of the system it supports rather than trying to understand it in isolation.

Step Two: Divide the Circuit Into Recognizable Jobs

Next, I identify the major functional responsibilities. For the cooling fan, I might organize them into four primary Geodes:

  1. Power: Takes the available electrical supply and provides the voltages required by the other blocks.
  2. Sensing: Measures the temperature and produces a signal representing that measurement.
  3. Decision: Determines the appropriate fan speed based on the measured temperature.
  4. Actuation: Drives the fan motor according to the requested speed.

Notice that none of these descriptions requires a component part number, a pin assignment, or an electrical formula. That's intentional. I'm defining responsibilities before implementations.

This is also where the mysterious three power rails from our earlier example become easier to understand. Instead of seeing three arbitrary branches on a schematic, I want three named functional outputs: "Clean analog power," "Digital logic power," and "High-current motor power." If those are the actual design requirements, I've immediately answered the question that was preventing me from understanding the circuit.

The branches now have reasons to exist. One supplies noise-sensitive analog components, another powers the microcontroller, and the third handles the motor's electrical demands. Of course, different rail names alone don't prove that the supplies are independently regulated or electrically isolated. Those implementation details still need to be examined. But at least I know what I'm examining and why.

Step Three: Define What Goes In and What Comes Out

Every Geode needs a defined interface. This is probably the most important part of the entire method because it transforms a collection of components into a system of cooperating functions.

For the sensing Geode, the input might be the physical temperature of a heatsink. The output might be a digital temperature reading in degrees Celsius. For the decision Geode, the input is that temperature reading, and the output is a requested fan speed. The actuation Geode takes that speed request and produces the electrical signal needed to drive the motor.

In a simplified representation, the circuit becomes:

[Temperature Sensor] → [Fan Speed Controller] → [Motor Driver] → [Fan]

The power system feeds the electrical blocks from underneath, while the main sequence shows how information becomes an action.

This is something a person can look at and understand almost immediately, even without knowing much about electronics. More importantly, it's something I can understand without having to reconstruct the designer's entire thought process.

I can now ask specific questions. How does the sensor communicate with the controller? What happens if the temperature reading is invalid? Does the motor driver use PWM? What happens if the microcontroller stops responding?

Those are useful engineering questions, and they arise naturally from the functional structure.

Step Four: Open One Geode at a Time

Once I understand the top-level design, I can examine each block independently.

Let's open the motor-driver Geode. Inside, I might find a gate resistor, a MOSFET, a gate pull-down resistor, and a flyback diode if we're driving an appropriate inductive load. Depending on the fan type, the actual implementation could be quite different, but the principle remains the same.

Now those components have recognizable jobs.

The MOSFET switches current through the load. The gate resistor helps control switching behavior. The pull-down resistor helps ensure the MOSFET remains off when the control signal isn't actively driven. The diode, where appropriate, provides a path for inductive current when switching stops.

I haven't changed the physics. I've simply given the components a reason to exist within the context of the overall design.

If I need to go further, I can break the motor driver into smaller Geodes: input conditioning, switching, and protection. Each represents a specific responsibility, and each can be examined without losing sight of the system it belongs to.

Eventually, I'll reach a level where the individual components make sense on their own. At that point, I can work with the conventional schematic because I already understand what I'm looking at.

The trick is that I approached the circuit from the outside inward, rather than trying to reconstruct the entire machine from the individual electrical connections.

Step Five: Reconnect Everything and Follow the Behavior

The final step is making sure the Geodes actually form a working system rather than a collection of attractively labeled boxes.

I follow a piece of information or an electrical action from beginning to end. The heatsink temperature rises. The sensor detects the change. The controller calculates the appropriate response. The motor driver changes its output, and the fan speeds up.

Then I examine what happens when something goes wrong. What if the sensor disconnects? What if the fan stalls? What happens during power-up, before the microcontroller has initialized its outputs? Can the motor's electrical noise interfere with the sensor readings?

This is where the functional model becomes more than a learning aid. It helps identify missing responsibilities, poorly defined interfaces, and failure conditions that might otherwise be buried in the electrical details.

A system that looks perfectly reasonable as a schematic may reveal some interesting architectural decisions when every block is forced to explain its purpose.

Occasionally, those decisions are excellent. Occasionally, I find myself wondering whether the designer was being paid by the resistor.

Microcontrollers: Somehow Both Better and Worse

Microcontrollers complicate this process because they allow significant portions of a system's behavior to exist outside the schematic entirely.

A wire connected to a microcontroller pin tells me almost nothing about why that connection exists. The pin could control a motor, monitor a button, communicate with another device, or participate in a complicated sequence of events that only makes sense when examining the firmware.

Without access to that firmware, I'm missing a substantial portion of the design. I can understand the electrical connections perfectly and still have no idea what the circuit is actually supposed to accomplish.

But when the software is available, microcontrollers can make the system considerably easier for me to understand.

I can read code. More importantly, I can visualize code as a sequence of logical operations. Read a sensor, evaluate a condition, calculate a value, and update an output. Each operation has an identifiable purpose, and each can become its own Geode.

In fact, I often find it easier to understand the electronics by examining the firmware first. If I see code that reads an analog input, compares it against a threshold, and activates a digital output, I already have a functional model. I can then return to the schematic and identify the physical components implementing those behaviors.

The relationship between software and hardware becomes much clearer when both are organized using the same functional model. A software function that calculates fan speed belongs to the decision Geode. The ADC and its associated circuitry belong to sensing. The MOSFET and its supporting components belong to actuation.

Instead of maintaining two entirely separate mental representations, I can organize the whole device as one system whose Geodes happen to contain different kinds of implementations.

Some are software. Some are hardware. Some are a mixture of both.

The electrons don't care, and neither do I.

Why the Method Works for Me

I think one of the most misunderstood aspects of autism is the assumption that difficulty understanding something must indicate an inability to comprehend the underlying subject.

That's not necessarily the case. At least, it isn't in mine.

My problem with schematics isn't primarily the electronics. It's the amount of implicit reasoning required to turn the documentation into a functional mental model. Traditional schematics assume the reader can recognize certain conventions and infer the purposes behind particular arrangements.

Sometimes I can. Sometimes I absolutely cannot.

The Geode method reduces that ambiguity by making intent explicit. Instead of asking me to infer the purpose of a circuit from its topology, it gives me the purpose first and allows me to investigate the topology afterward.

It also means I don't have to keep the entire circuit in my head at once. If I'm examining a voltage regulator, I can temporarily treat the rest of the system as a collection of interfaces. I know what voltage the regulator needs to accept, what voltage it needs to produce, and what electrical demands it must satisfy. I don't need to simultaneously reason about every other component on the board.

There's a useful distinction here between simplification and abstraction. I'm not removing complexity from the design or pretending the details don't matter. I'm organizing complexity into layers so that I only have to engage with the details relevant to the problem I'm currently solving.

And while this approach happens to be particularly helpful for my autistic brain, I suspect plenty of other people would benefit from it as well.

Schematics Should Be the Details, Not the Introduction

I don't think traditional schematics need to disappear. They're indispensable for representing electrical connectivity, and there's a reason engineers have been using them for so long.

But I do think they would be considerably more accessible if we stopped treating them as the only meaningful representation of an electronic design.

Imagine opening an electronics project and seeing a functional overview before the actual schematic. Not a vague marketing diagram with a picture of a microchip and some decorative arrows, but a proper system architecture built from connected functional blocks.

Each Geode would have a name, a purpose, inputs, outputs, operating requirements, and perhaps a short explanation of why it exists. Clicking on one would reveal its internal structure, potentially composed of smaller Geodes, until eventually reaching the individual components and their connections.

A power-management Geode might open into regulation, filtering, and protection blocks. A signal-processing Geode might contain amplification, filtering, conversion, and output conditioning. A microcontroller Geode could include both its electrical interfaces and the software behaviors responsible for controlling them.

A person could understand the broad purpose of the system at a glance, then explore whatever level of technical detail they needed.

More importantly, the relationship between a block's purpose and its implementation would remain visible. You wouldn't have to guess why the designer separated those three power rails. The design would explicitly identify the requirements that justified the separation.

That's how I increasingly approach my own designs, whether I'm working with electronics, software, or entire computing systems. The architecture begins with recognizable responsibilities. The implementation follows.

Engineering Shouldn't Require Mind Reading

There's an interesting side effect to reconstructing circuits this way. By the time I've finished breaking a schematic into Geodes, I often understand it more thoroughly than I would have if I'd simply accepted the original arrangement and moved on.

Reconstructing the design forces me to examine its assumptions. Why does this stage need filtering? Why is that component isolated? Why does this signal pass through three separate stages when two might appear sufficient? Sometimes I discover legitimate engineering constraints that weren't immediately apparent. Other times I find opportunities to simplify the architecture or improve its reliability.

The process isn't always efficient. I can spend hours reorganizing something another engineer might understand in minutes. That's frustrating, particularly when I know I have the technical knowledge necessary to work with the design.

But the alternative is trying to force my brain to process information in a way it doesn't naturally accommodate. I've tried that approach often enough to know how productive it is, which is to say, not particularly.

So I build Geodes.

I take the enormous, intimidating schematic and turn it into a few recognizable functions. I give those functions clear responsibilities, connect their inputs and outputs, and examine their implementations one piece at a time. Eventually, the electrical relationships stop looking arbitrary because I understand the purpose behind them.

It's a technique I've developed out of necessity, but it has become a central part of how I think about engineering. I don't want to build systems that can only be understood by the person who designed them. I want to build systems whose structure communicates their intentions, where every component has an identifiable responsibility and every connection has a reason to exist.

A schematic tells me how the electricity gets from one place to another.

A Geode tells me why it's making the trip.

And personally, I find the second question considerably more interesting.

DAEDALUS_OS TERMINAL

DAEDALUS_OS v3.8.0

CONNECTED.

How can I help?

Technology should adapt to people.

Choose a perspective above or type help for commands.