• Re: RP400 40-pin connector

    From Theo@21:1/5 to John Larkin on Mon Aug 12 17:39:35 2024
    XPost: sci.electronics.design

    In comp.sys.raspberry-pi John Larkin <jjlarkin@highlandtechnology.com> wrote:
    On Sun, 11 Aug 2024 16:22:04 -0400, "Edward Rawde"
    <invalid@invalid.invalid> wrote:

    "John Larkin" <jjlarkin@highlandtechnology.com> wrote in message news:d21ibjdvt6odqium3ado62ob1e7sa6n9hc@4ax.com...
    I want to use an Raspberry Pi 400 (the keyboard thing) as the
    dev/debug system for an RP2040 based product.

    https://www.amazon.com/Raspberry-Computer-Keyboard-Layout-Kabel/dp/B08QCQVWH2

    It has a 40-pin connector on the back. Various sources say that pins 1

    This connector?
    https://www.pi4j.com/1.3/images/pi4j-rpi-400-pinout.png

    Yes.

    Be aware that WiringPi pin numbers are only useful if you want to use that library (or similar which use the same mapping). The real BCM pin numbers
    are likely more useful.

    I normally go by:
    https://pinout.xyz/
    which gives all the optional features if you click on a pin. It also shows
    the differences between boards (eg pin 13 is different on Pi 1 rev 1).

    It seems the 400 is identical to the 4, since it's the same SoC in a
    different case.

    3 and 5 are either GPIO ports 8 9 and 7 or maybe 2 3 and 4.

    Sometimes the pins are labeled WPI and BCM. Wot's that?

    WiringPi pin numbers and Broadcom pin numbers probably.

    https://www.amazon.com/Coolwell-Waveshare-Raspberry-Adapter-Expansion/dp/B08RZCR7S8

    If that's just a connector then continuity check it to the above drawing of the connector on the Pi.

    The real question is whether pin 3 is GPIO8 or GPIO2, and which two
    pins are the SW debug.

    Pin 3:

    "GPIO 2 (I2C Data)
    Alt0 Alt1 Alt2 Alt3 Alt4 Alt5
    I2C1 SDA SMI SA3 DPI VSYNC AVEOUT VSYNC AVEIN VSYNC

    Physical/Board pin 3
    GPIO/BCM pin 2
    Wiring Pi pin 8
    GPIO/BCM pin 0 on Rev 1 ( very early ) Pi

    SDA (I2C1 Data) is one of the i2c pins on the Pi, learn more about i2c.

    SDA includes a fixed, 1.8 kΩ pull-up to 3.3v, which means this pin is not suitable for use as a general purpose IO where no pull-up resistor is
    desired."
    https://pinout.xyz/pinout/pin3_gpio2/

    Pis 0-4 (inc 400) don't have SWD debug, they have JTAG (pins 13, 15, 16,
    18). I think you need something in config.txt to enable ARM-side JTAG.

    (the Pi 5 does use SWD, on a separate header).

    On the Pi4, pin 3 is GPIO2. It seems like the pins are renamed on the
    Pi 400, where pin 3 is GPIO8. Why would they do that?

    That's the WiringPi confusion.

    (I think in the early Pi 1 days the pin numbering - like other parts of the hardware design - was quite confused, and WiringPi came up with their
    numbers to make sense of it. I think they're mostly just an additional headache now)

    Theo

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From albert@spenarnc.xs4all.nl@21:1/5 to jjlarkin@highlandtechnology.com on Thu Aug 15 13:13:57 2024
    XPost: sci.electronics.design

    In article <d21ibjdvt6odqium3ado62ob1e7sa6n9hc@4ax.com>,
    John Larkin <jjlarkin@highlandtechnology.com> wrote:
    I want to use an Raspberry Pi 400 (the keyboard thing) as the
    dev/debug system for an RP2040 based product.

    https://www.amazon.com/Raspberry-Computer-Keyboard-Layout-Kabel/dp/B08QCQVWH2

    It has a 40-pin connector on the back. Various sources say that pins 1
    3 and 5 are either GPIO ports 8 9 and 7 or maybe 2 3 and 4.

    Sometimes the pins are labeled WPI and BCM. Wot's that?

    https://www.amazon.com/Coolwell-Waveshare-Raspberry-Adapter-Expansion/dp/B08RZCR7S8

    I can fix most mistakes there in software, just by reassigning port
    names. But two pins are critical, the SWDIO and SWCLK debug lines out
    to a Pi Pico or to the 2040 chip.

    I suspect that on the Pi 400 pin 18 is GPIO5 = SWDIO and pin 22 is
    GPIO6 = SWCLK.

    Is that right? Does that actually work?

    I also note that some people also connect the UART tx/rx between the
    Pi400 and a Pico for debugging. Should I do that too? Does it help
    software development?

    Is the schematics from the R Pi 400 not available?
    I have the orangepi 800. The schematics are such that I can trace the
    connector pins to the soc pins. The RK3399 is fully documented.
    Mapping the io I can do "das blinken light" on the 26 pin (rp1
    compatible) connector, using ciforth (a Forth developed by me).
    Or light the upper case or numlock leds.


    Thanks!
    --
    Don't praise the day before the evening. One swallow doesn't make spring.
    You must not say "hey" before you have crossed the bridge. Don't sell the
    hide of the bear until you shot it. Better one bird in the hand than ten in
    the air. First gain is a cat purring. - the Wise from Antrim -

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From john larkin @21:1/5 to albert@spenarnc.xs4all.nl on Thu Aug 15 08:23:59 2024
    XPost: sci.electronics.design

    On Thu, 15 Aug 2024 13:13:57 +0200, albert@spenarnc.xs4all.nl wrote:

    In article <d21ibjdvt6odqium3ado62ob1e7sa6n9hc@4ax.com>,
    John Larkin <jjlarkin@highlandtechnology.com> wrote:
    I want to use an Raspberry Pi 400 (the keyboard thing) as the
    dev/debug system for an RP2040 based product.
    https://www.amazon.com/Raspberry-Computer-Keyboard-Layout-Kabel/dp/B08QCQVWH2 >>
    It has a 40-pin connector on the back. Various sources say that pins 1
    3 and 5 are either GPIO ports 8 9 and 7 or maybe 2 3 and 4.

    Sometimes the pins are labeled WPI and BCM. Wot's that?
    https://www.amazon.com/Coolwell-Waveshare-Raspberry-Adapter-Expansion/dp/B08RZCR7S8

    I can fix most mistakes there in software, just by reassigning port
    names. But two pins are critical, the SWDIO and SWCLK debug lines out
    to a Pi Pico or to the 2040 chip.

    I suspect that on the Pi 400 pin 18 is GPIO5 = SWDIO and pin 22 is
    GPIO6 = SWCLK.

    Is that right? Does that actually work?

    I also note that some people also connect the UART tx/rx between the
    Pi400 and a Pico for debugging. Should I do that too? Does it help
    software development?

    Is the schematics from the R Pi 400 not available?

    Yes, but the port pin nunbering is different from the Pi 4 and 5, so I
    was concerned about which pins to connect to a Pico (or a 2040 chip)
    for program loading and debugging.

    This apparently works

    https://www.dropbox.com/scl/fi/sd8mkqz3rw55fcevjouvi/OKdo_Pi400_debug_Pico.jpg?rlkey=kb5xjo75n5e5k3ncy4qs2caur&raw=1

    and one can actually count the pins on the connectors.

    One of my guys is hacking some connections and verifying. We're laying
    out some PCBs for debugging and production test, and we need to get
    the pins right.



    I have the orangepi 800. The schematics are such that I can trace the >connector pins to the soc pins. The RK3399 is fully documented.
    Mapping the io I can do "das blinken light" on the 26 pin (rp1
    compatible) connector, using ciforth (a Forth developed by me).
    Or light the upper case or numlock leds.


    Thanks!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Theo@21:1/5 to All on Thu Aug 15 17:46:40 2024
    XPost: sci.electronics.design

    In comp.sys.raspberry-pi john larkin <jlarkin_highland_tech> wrote:
    Yes, but the port pin nunbering is different from the Pi 4 and 5, so I
    was concerned about which pins to connect to a Pico (or a 2040 chip)
    for program loading and debugging.

    This apparently works

    https://www.dropbox.com/scl/fi/sd8mkqz3rw55fcevjouvi/OKdo_Pi400_debug_Pico.jpg?rlkey=kb5xjo75n5e5k3ncy4qs2caur&raw=1

    and one can actually count the pins on the connectors.

    One of my guys is hacking some connections and verifying. We're laying
    out some PCBs for debugging and production test, and we need to get
    the pins right.

    Ah, that's SWD *output*. None of the Pis have specific hardware to act as
    an SWD debugger, so it's just bitbanged GPIOs. For that it's just down to whatever pins your software has decided to use. You can presumably
    reconfigure it to use any GPIO pins.

    (5 and Pico have dedicated SWD input connectors, but that's to allow *them*
    to be debugged)

    Theo

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)