Shop Learn
New Raspberry Pi Zero — Parallax Forums

New Raspberry Pi Zero

pik33pik33 Posts: 1,110
edited 2021-10-28 07:57 in General Discussion

I already tested a (bare metal programmd) Pi Zero as a good companion for a P2 :)

Now they released a new version: Pi Zero 2 - with 4x A53 on board. The rest (the form factor, connectors, etc) remained the same. $15 - or rather $21 here when including VAT - still one of the cheapest things with a CPU.

Ordered, to be tested as soon as I receive it.

https://www.raspberrypi.com/news/new-raspberry-pi-zero-2-w-2/

Comments

  • ColeyColey Posts: 1,089

    This is unexpected and great news.
    How far did you get with bare metal programming?

  • @pik33 said:
    I already tested a (bare metal programmd) Pi Zero as a good companion for a P2 :)

    Now they released a new version: Pi Zero 2 - with 4x A53 on board. The rest (the form factor, connectors, etc) remained the same. $15 - or rather $21 here when including VAT - still one of the cheapest things with a CPU.

    Ordered, to be tested as soon as I receive it.

    https://www.raspberrypi.com/news/new-raspberry-pi-zero-2-w-2/

    What tools are required to "bare metal program" the Pi? Is it relatively easy to coordinate the multiple cores? I have an application that needs Bluetooth as well as USB host and it would be nice to avoid the long boot time of Linux.

  • pik33pik33 Posts: 1,110
    edited 2021-10-30 12:30

    Ultibo - www.ultibo.org

    We have a lot of control on what we do with cores. including to free a core and make it do realtime tasks

    We have no bluetooth yet :( (work in progress)

    We have a lot of things working over USB (keyboard, mice, serial devices, hubs, storage)

    I didn't tried USB gadget yet, but it seems to be possible too. USB subsystem is open to make a driver if someone know how to do this, most of low lewel things are done

    We have VC4 available including a camera and openGLES. Also, on bigger Pis Ethernet works, too.

    New RPi Zero works as I tried it yesterday.

    The compiled code (kernel7.img) is small (up to several MBs) and starts in seconds (3..5) After that you can even remove the SD card (if you don't want to use it as a storage)

  • Too bad about the lack of Bluetooth support. I actually need BLE not just traditional Bluetooth. I'm kind of surprised it takes 3-5 seconds to boot. I figured it would be almost instantaneous. That's certainly better than the Linux boot speed though. Even when I got rid of the GUI, Linux took forever to boot on a Pi Zero. I only need USB serial so I guess that's supported.

  • pik33pik33 Posts: 1,110
    edited 2021-10-30 15:18

    The Raspberry Pi has to load the firmware first. Then the firmware loads kernel7.img. There is one second internal delay, which can be switched off. Also, the rainbow splash screen takes about a second, too and can be switched off, too.
    The boot time on RPi4 is much slower as it needs about 5 seconds to display the rainbow splash screen.
    Bluetooth is work in progress: https://ultibo.org/forum/viewtopic.php?f=10&t=1379&p=9550&hilit=bluetooth#p9550

  • jmgjmg Posts: 14,847

    @pik33 said:

    We have a lot of things working over USB (keyboard, mice, serial devices, hubs, storage)

    Has anyone reported serial practical upper UART speeds yet ?

    I did a quick trawl and info on higher usable BAUD rate is sparse, seems limited by small FIFOs in the UARTS.

    With 4 cores now, the Pi Zero 2W could dedicate one core to UART manager, or maybe even one for USB, one for UART RX and one for UART TX ?
    UART HW seems to be PeriphCLK /16 so 15.625MBd or 31.25MBd peak baud rates.

    FT232H boards start at the same ~$15, and are limited to 12MBd, so something that can go faster would be nice to have.

  • MicksterMickster Posts: 1,923

    FWIW: I am using the Picomite as a front-end to my P2. It's just nice to have a BASIC interpreter with on-board editor (coloured text supported) to facilitate rapid, on-machine development.

    This is the first release of Micromite BASIC that is 100% open source.

    At the default 125MHz, it executes ~100,000 lines/sec. It can be overclocked to 250MHz, however.

    Startup is instant and such things as PWM are set and forget.
    Datasheet states that UART BAUD is up to 921600 bps.

    https://geoffg.net/picomite.html

    https://github.com/UKTailwind/PicoMite

  • pik33pik33 Posts: 1,110
    edited 2021-10-31 06:24

    @jmg said:

    Has anyone reported serial practical upper UART speeds yet ?

    I did a quick trawl and info on higher usable BAUD rate is sparse, seems limited by small FIFOs in the UARTS.

    In the robot project using P2+RPi4/Linux I tested 4 Mbps (maximum I can set without messing with HW registers). The RPi and the P2 are connected using 1m long RJ45 Ethernet cable (UART is connected to the RJ45 socket on the custom daughterboard)
    When using standard "breadboard type" 20 cm connectors between RPi and P2 3 Mbps was the maximum. Higher speeds caused transsmission errors.

  • jmgjmg Posts: 14,847

    @pik33 said:

    @jmg said:

    Has anyone reported serial practical upper UART speeds yet ?

    I did a quick trawl and info on higher usable BAUD rate is sparse, seems limited by small FIFOs in the UARTS.

    In the robot project using P2+RPi4/Linux I tested 4 Mbps (maximum I can set without messing with HW registers). The RPi and the P2 are connected using 1m long RJ45 Ethernet cable (UART is connected to the RJ45 socket on the custom daughterboard)
    When using standard "breadboard type" 20 cm connectors between RPi and P2 3 Mbps was the maximum. Higher speeds caused transsmission errors.

    Thanks. Were those results using the Ultibo bare metal pgm, mentioned in #4 ?

    I think the Pi series also suffers somewhat, because they decided the primary UART is shifted to support Bluetooth, leaving a lower performance UART for the user.

  • pik33pik33 Posts: 1,110
    edited 2021-11-01 17:28

    No, this is Linux powered RPi4 as it has to process data from L515 lidar/depth camera. No way I can do this in bare metal. I can (and I did) connect a standard RPi camera using Ultibo, but not this USB3 (no support for USB3 in Ultibo yet) thing with very complex libraries/API.

    Using Ultibo you have more freedom with setting serial clock/speed/etc, so maybe more can be achieved

    Raspberry Pis with Bluetooth use the primary serial port to service Bluetooth chip. If Bluetooth is not needed, the primary port can be used at its standard pins. This can be done using an entry in config.txt

    Raspberry Pi 4 has 6 UARTs, one "secondary" and 5 "full" so there is no more problem with the primary UART used by Bluetooth; you have 4 more of them - they have to be set up in config.txt.

    Raspberry Pi 4 uses 750 MHz PLLD instead of 500 MHz which means theoretical speed can be up to 375 Mbps - I don't think any real cable can pass such a signal - USB and Ethernet use more sophisticated physical protocols, low voltage, differential pairs.

Sign In or Register to comment.