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 + is given. E.g. the following two wires are not joined:
  |
--|--
  |
but the following are:
  |
--+--
  |
Simple symmetric components:
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: diode
    • a: anode (where electrons can come in from)
    • c: cathode
    Sample usage in a circuit:
    --aDc--
    Can also be used vertically like aany other circuit:
    |
    a
    D
    c
    |
    We can also change the port order, the device is still the same due to capital D:
    --cDa--
    
     |
    Dac--
    
     |
    Dca--
    
       |
    --caD
  • DC DC source. Ports:
    • p: positive
    • n: negative
    E.g. a 10 V source with a 10 Ohm resistor would be:
    +---pDC_10_n---+
    |              |
    +----R_10------+
    If only one side is given, the other is assumed to be at a the ground G. We can also omit p and m in that case and assume that p is the one used, e.g. the above would be equivalent to:
    DC_10---R_10---G
    If the voltage is not given, it is assumed to be a variable voltage power supply.
  • LED: same as diode
  • I: electric current source. Ports:
  • P: potentiometer source. Ports:
    • 1: one of the sides
    • 2: the middle
    • 3: the other side
  • T: transistor. The ports are sgTd:
    • s: source
    • g: gate
    • d: gate
    Sample usage in a circuit:
    ---+
       |
    --sgTd--
    All the following are also equivalent:
       |
       g
    --sTd--
    
        |
    --Tsgd--
       |
  • V: Voltmeter. Ports:
    • p: positive
    • n: negative
    If we don't need to specify explicit positive and negative sides, we can just use:
    ---V---
    without any ports. This is notably often the case for AC circuits.
    Optionally, we can also add the sides as in:
  • 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.:
    RPI_PICO_W__1gp0____3gnd
                |       |
                R_2k    |
                |       |
                +-aLEDc-+
    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.
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.:
+-----+
|     |
C_1p  R_2k
|     |
+-----+
means:
Micro is denoted as u.
Wires can just freely come in and out of specs of a component, they are then just connected to the component, e.g.:
DC_10---R_10---G
means applying a voltage of 10 V across a 10 Ohm resistor, which would lead to a current of 1 A
If a component has more than two parameters, units are used to distinguish them when possible, e.g.:
AC_1kV_2MHz
means an AC source with:
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.
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:
west flash --runner uf2
This flashes the image, and immediately turns off BOOTSEL mode and runs the program.
However to run again you need to unplug the USB and re-plug with BOOTSEL again so it is still painful.
Video 1.
Let's run Zephyr RTOS on Raspberry Pi Pico. Ep.1 by Mr. Green's Workshop
. Source.
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:
screen /dev/ttyUSB0 115200
host shows:
*** Booting Zephyr OS build v4.2.0-491-g47b07e5a09ef ***
Hello World! rpi_pico/rp2040
Nice!
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: