Source: https://mokxi.com/learn/electronics-for-programmers
Updated: 2026-11-11

Electrical track
For programmers

# Electronics for programmers

You already think in state, timing and interfaces. This route maps them onto current, voltage, pull-ups and buses, with code you can read on a simulator that shows each wire.

Free In your browser 3 courses, 42 lessons, about 24 hours

Start free Blink: the first program See the course

Overview

## How you will learn it

Programmers often bounce off electronics because tutorials start with physics. This route starts where you already are: code that sets a pin, reads a button and talks to a chip, and then explains the circuit behind each line when it matters.

You will see why a floating input reads random values, why an LED needs a resistor, what a pull-up does and how I2C fits on two wires, each as a bug you can reproduce and fix.

Outcomes

## What you will learn

- Explain voltage, current and resistance with Ohm's law and pick part values.
- Know why inputs need pull-ups and buttons need debouncing.
- Read a datasheet's electrical limits and stay inside them.
- Debug hardware with a meter, a scope and a logic analyzer, not just prints.

Your route

## The courses and lessons to take

Every lesson opens in the editor right away, signed in or not, and the simulator checks each step.

- Step 1 · 16 lessons · 12 h

### Embedded on the Arduino Uno

Familiar code first: pins, inputs and timing.

- Blink: the first program An Arduino Uno, one pin and a program. Drive an output from code, watch the timing be real, and find out what delay() costs you.
- Reading a pin, and the pull-up A button with no resistor of its own, an input that must never float, and why pressed reads low. The single most common wiring in embedded work.
- Two rates at once, without delay The pattern that unlocks everything else: keep when each thing last happened, and ask the time instead of waiting for it.
- Reading a voltage The ADC turns a voltage into a number from 0 to 1023. Build a divider, read two taps of it, and work out what a count is worth.
Every lesson in the course
- Step 2 · 20 lessons · 10 h

### Electronics basics

The circuit theory behind it, one idea each.

- Ohm's law: volts, amps and ohms One resistor across 5 V. Change the resistor and watch the current change, then pick a resistor for a current you want. The one equation behind every circuit.
- The voltage divider Two resistors in a row split a voltage in a fixed ratio. Read the middle with a meter, change the ratio, and build a divider for a voltage you choose.
- Charging a capacitor A resistor, a capacitor and a switch. Watch a voltage take time to get somewhere, and learn the one number that says how long.
- The transistor as a switch A tiny current into the base switches a big current through the collector. Switch an LED with a transistor and measure how much smaller the control current is.
Every lesson in the course
- Step 3 · 6 lessons · 2 h

### Debug like an engineer

The tools that replace guessing.

The multimeter, the oscilloscope, the logic probe and analyzer, Serial done right, and a method that finds any fault. Ends with a boss: three bugs in one circuit.
Every lesson in the course

Keep going

## Guides and tools on the same subject

Guide

### Pull-up resistors and the floating input

Open it

Guide

### Debouncing a button

Open it

Guide

### Ohm's law in a circuit you can run

Open it

Track

### Electrical track

Current and voltage you can see, then transistors, op-amps, filters, power and PCBs. Every circuit runs in a real circuit simulator in your browser.
See the whole track

Questions

## Questions people ask

How much electronics does a programmer need?

Enough to keep a board safe and debug it: Ohm's law, pull-ups, current limits and how a bus works. That is what this route covers first.

Will I need to solder?

Not to learn. Everything runs in the simulator. When you build for real, a breadboard needs no soldering either.

Can I use Python instead of C++?

Yes. MicroPython on the Pico teaches the same hardware ideas in Python.
