• The Pi's Secret FM Receiver

    From Computer Nerd Kev@3:770/3 to All on Tue Sep 15 08:30:05 2020
    I took a deep look into the WiFi hardware on the Raspberry Pi Zero W.

    The chip used is the BCM43438 (which actually seems to be designed by
    Cypress Semiconductor), and also the same one used on the Pi3 Model B https://www.alldatasheet.com/datasheet-pdf/pdf/1018493/CYPRESS/BCM43438.html

    First, it's not USB connected as I'm sure I've heard suggested
    before. The chip actually supports either SPI or SDIO communications
    and the description of the sdio overlay in /boot/overlays/README
    suggests that the Pi defaults to communicating with it using SDIO
    in the 50MHz "high-speed 4-bit mode" (200Mbps maximum speed quoted
    in the datasheet). SDIO is the protocol used by SD cards for
    high-speed data transfer.

    It also has a built-in broadcast FM radio receiver, controlled via
    the same UART interface as the Bluetooth controller. This is able to
    output analogue stereo audio, or provide a digital stream. Most
    likely the pin that the FM antenna needs to be connected to isn't
    connected on the Pi circuit board, though you never know maybe it
    goes to one of the undocumented test pads?

    Not mentioned on this list for the Pi3B (though some entries are
    blank): https://raspberrypi.stackexchange.com/questions/91901/what-are-the-functions-of -the-test-pads-on-the-pi-3b-3b

    I don't know of a comprehensive list for the Pi Zero W's test pads.
    The schematics are useless, they don't even show the WiFi chip!

    The commands for controlling it over the UART connection are probably documented in Cypress' WICED SDK package. https://community.cypress.com/message/179340

    It would certinly be fun to combine this with the well known GPIO FM transmitter hack, to make a Raspberry Pi walkie talkie. But I'm
    guessing that the required pin/s are probably stuck under the
    chip (curse these modern chip packages! :) ).

    --
    __ __
    #_ < |\| |< _#

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Theo@3:770/3 to Computer Nerd Kev on Tue Sep 15 14:46:37 2020
    Computer Nerd Kev <not@telling.you.invalid> wrote:
    It also has a built-in broadcast FM radio receiver, controlled via
    the same UART interface as the Bluetooth controller. This is able to
    output analogue stereo audio, or provide a digital stream. Most
    likely the pin that the FM antenna needs to be connected to isn't
    connected on the Pi circuit board, though you never know maybe it
    goes to one of the undocumented test pads?

    Nice idea. The pin is pad E1 which is actually on one edge of the chip.
    Here's a picture:

    https://i.stack.imgur.com/EuIHC.jpg

    The orientation is unclear from that photo but it looks like pin A1 is the bottom left, and the small capacitor to the right of the writing 'C252' is connected to F1 and G1. I can't see what E1 does from behind it, and
    whether something could get at the ball from the side, or whether it's grounded.

    You can always try bonding an antenna to the PCB anyway, and relying on capacitive coupling ;-)

    The commands for controlling it over the UART connection are probably documented in Cypress' WICED SDK package. https://community.cypress.com/message/179340

    It's likely Android sources include it too, since FM using the wifi chip is common on phones.

    Theo

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)