Skip to main content

I/O Devices

A page per way of talking to the world. Each one wires something up, shows the program, and runs it.

Every wire is labelled with both its GPIO number and its header pin, because they are not the same number and mixing them up costs an afternoon.

Being written​

The hardware works and has run on a board. Each page's own program is being written and run before it goes up.

GPIO — a pin high and low, and a pin read. With a diagram of the header.

PWM — a pin driven at a duty cycle, both channels.

UART — the serial line, taught as a loopback: one jumper from GPIO 14 to GPIO 15 (header pins 8 and 10), write a line and read it back.

SPI — the same idea on the SPI bus: a jumper from GPIO 10, MOSI, to GPIO 9, MISO (header pins 19 and 21), so a byte makes a real round trip without another chip.

Keyboard — a USB keyboard read from the board.

Joystick — a DualShock 4 over USB, its sticks and buttons.

Coming soon​

I²C — the only bus here that has never run on a board. It waits for that, not for the page.

The Switch Pro pad — the gamepad library knows one pad today.