Ciro's ASCII art circuit diagram notation Updated 2025-07-27
This notation is designed to be relatively easy to write. This is achieved by not drawing ultra complex ASCII art boxes of every component. It would be slightly more readable if we did that, but prioritizing the writer here.
Two wires are only joined if but the following are:
+
is given. E.g. the following two wires are not joined: |
--|--
|
|
--+--
|
Simple symmetric components:
-
,+
and|
: wireAC
: AC source. Parameters:e.g.:If only one side is given, the other is assumed to be at a groundAC_1Hz_2V
G
.C
: capacitorG
: ground. Often used together withDC
, e.g.:means applying a voltage of 10 V across a 10 Ohm resistor, which would lead to a current of 1 ADC_10---R_10---G
L
: inductorMICROPHONE
. As a multi-letter symmetric component, you can connect the two wires anywhere, e.g.or:---MICROPHONE---
| MICROPHONE |
SPEAKER
R
: resistorSQUID
: SQUID deviceX
: Josephson junction
Asymmetric components have multiple letters indicating different ports. The capital letter indicates the device, and lower case letters the ports. The wires then go into the ports:
D
: diodeSample usage in a circuit:a
: anode (where electrons can come in from)c
: cathode
Can also be used vertically like aany other circuit:--aDc--
We can also change the port order, the device is still the same due to capital| a D c |
D
:--cDa-- | Dac-- | Dca-- | --caD
DC
DC source. Ports:E.g. a 10 V source with a 10 Ohm resistor would be:p
: positiven
: negative
If only one side is given, the other is assumed to be at a the ground+---pDC_10_n---+ | | +----R_10------+
G
. We can also omitp
andm
in that case and assume thatp
is the one used, e.g. the above would be equivalent to:If the voltage is not given, it is assumed to be a variable voltage power supply.DC_10---R_10---G
LED
: same as diodeI
: electric current source. Ports:P
: potentiometer source. Ports:1
: one of the sides2
: the middle3
: the other side
T
: transistor. The ports aresgTd
:Sample usage in a circuit:s
: sourceg
: gated
: gate
All the following are also equivalent:---+ | --sgTd--
| g --sTd-- | --Tsgd-- |
- ports can also be separated by underscores from the components to increase readability. Underscores can also be used to increase readability of longer multi-word component names e.g.:which is the same as:
RPI_PICO_W__1gp0____3gnd | | R_2k | | | +-aLEDc-+
represents a circuit linking port 1 of a Raspberry Pi Pico W, which is GPIO pin 0, through a resistor and an LED, back to pin 3 of the board, which is ground.RPI_PICO_W 1gp0 3gnd | | R_2k | | | +-aLEDc-+
Numbers characterizing components are put just next to each component with an underscore. When there is only one parameter, standard units are assumed, e.g.:means:Micro is denoted as
+-----+
| |
C_1p R_2k
| |
+-----+
u
. Raspberry Pi Pico H Updated 2025-07-26
Has Serial wire debug debug pre-soldered. Why would you ever get one without unless you are a clueless newbie like Ciro Santilli?!?!
It is however possible to solder it yourself on Raspberry Pi Pico W.
Run Zephyr on Raspberry Pi Pico 2025-07-26
Note that the LED blinker example does not work on the Raspberry Pi Pico W, see also: Run Zephyr on Raspberry Pi Pico W.
You can speed up the debug loop a little bit by plugging the Pi with BOOTSEL selected, and then running:This flashes the image, and immediately turns off BOOTSEL mode and runs the program.
west flash --runner uf2
However to run again you need to unplug the USB and re-plug with BOOTSEL again so it is still painful.
Run Zephyr on Raspberry Pi Pico W 2025-07-26
The Zephir LED blinker example does not work on the Raspberry Pi Pico W because the on-board LED is wired differently. But the hello world works and with:host shows:Nice!
screen /dev/ttyUSB0 115200
*** Booting Zephyr OS build v4.2.0-491-g47b07e5a09ef ***
Hello World! rpi_pico/rp2040
Zephyr blinky example Created 2025-07-26 Updated 2025-07-27
Blinks the on-board LED if the board has one.
Does not work on:
- Micro Bit: build fails
- Raspberry Pi Pico W: build works but does nothing because the LED is connected differently