WiFi Station 2023 Model A

Raspberry Pi Zero WH

The WiFi Station 2023 Model C (WS23c) is Raspberry Pi Zero WH running the Raspberry Pi OS. Like other Mesh Stations they are ultra low cost, having only 512MByte of random access memory (RAM).

Raspberry Pi Zero WH measures only 65mm by 30mm, but has a lot of features.

rpi0wh_1
source: micro robotics

As of September 2023, Raspberry Pi Zero WH should be available cheaply in reasonable quantity worldwide.

Zero W

A slightly LESS expensive version called "Raspberry Pi Zero W" is just a "Raspberry Pi Zero WH" but WITHOUT headers soldered on (thus the missing H at the end of the name).

The above image shows a Raspberry Pi Zero W next to a Raspberry Pi Zero WH, both mounted according to our novel Spacer Wall design.

Although headers are NOT required in most use cases, when given a choice it is best to pick the Zero WH, so the 40 expansion pins can be used to attach peripherals instantly.

Dimension

Raspberry Pi Zero W is light and small, besides the "standard" positioning on the window sill, it can be deployed almost anywhere e.g. stick on to the window glass with adhesive tape or throw into a backpack with a battery pack.

rpi0wh

Wireless

Rpi0w only has a 2.4GHz wifi radio that is NOT capable of running as a mesh

Zero W uses a resonant cavity antenna design from Proant to reduce cost.

Raspberry Pi Foundation will not release the antenna pattern freely to the public (needs signing some documents), luckily Carl Turner has measured the antenna pattern and published it freely!

rpi0w

Note from the pattern that the radio signal on the header side is rather weak, which our Spacer Wall design takes full advantage of.

1. Micro USB Ethernet Hub

An optional Micro-USB Ethernet Hub can be added to Mesh Stations to give them extra features. Typically these hubs expands the single micro-SD port on the Mesh Station into 3 x USB2 Type A female ports and also 1 x 100BaseTX ethernet port.

Although Multiple Transaction Translator (MTT) hubs have higher performances, these Micro-USB Ethernet Hubs are normally of the cheaper Single Transaction Translator (STT) type.

Troubleshooting

Some links to help you troubleshoot your Micro-USB Ethernet Hub:

2. CoreChips based Ethernet Hub

Micro-USB Ethernet Hubs built with Corechips components tends to be cheapest. Some of them will have problems with its ethernet driver (please see section below on "Fixing Linux Driver"), so do not expect the ethernet to work easily, but they are so CHEAP in Australia (less than AUD10 including tax and delivery) they are worth buying just for the 3 x USB2 ports alone and the whole device is packaged in such a small and convenient physical form factor.

2.1. Hardware Design

When we opened up some CoreChips based ethernet hubs, we discovered that the traditional transformers are replaced with capacitors by using capacitive coupling, we cannot find any documentation on using capacitors from CoreChips but there are plenty from others (e.g. Realtek, Texas Instruments etc.).

CoreChips_Ethernet

As an interesting aside, it is possible to have ethernet RJ45 connectors with integrated transformers hidden inside (so there is no need for any external transformer), like Raspberry Pi RJ45 connectors which has transformers.

Although using capacitive coupling can be considered low-end and are not suitable in all situations, they can be used in some limited situations after considering all the pros and cons e.g. using it only occasionally, always using less than one metre of Cat5e or better grade cables, connecting only to "compatible" ethernet devices that can tolerate others not having transformers, powering both devices from the same extension board etc.

2.2. CoreChips SL2.1A

CoreChips_SL2-1A.pdf (385.1 KB)

  • this is a Single Transaction Translator Hub

2.3. CoreChips SR7600

The ethernet chip is normally the CoreChips SR7600, which seems to be the same as the CoreChips RD9700 in almost every way:

Fixing Linux Driver

Some CoreChips SR9700 based Ethernet Hubs have USB Device ID that are DIFFERENT to the 0x9700 defined in the Linux driver:

https://github.com/torvalds/linux/blob/master/drivers/net/usb/sr9700.c

Instead of 0x9700, these Ethernet Hubs have numbers like 0x9702. For them to work properly under Linux, these extra Device IDs need to be added to the Linux driver.

3. Terminus Technology

Terminus has a number of USB Hubs.

3.1. Terminus FE1.1

Terminus_FE1-1S.pdf (409.2 KB)

  • this is a Single Transaction Translator Hub

WiFi

The onboard wifi adapter can be made to work as BOTH an access point and a managed client.

1. Raspberry Pi Zero W

Wiphy phy0
        wiphy index: 0
        max # scan SSIDs: 10
        max scan IEs length: 2048 bytes
        max # sched scan SSIDs: 16
        max # match sets: 16
        Retry short limit: 7
        Retry long limit: 4
        Coverage class: 0 (up to 0m)
        Device supports roaming.
        Supported Ciphers:
                * WEP40 (00-0f-ac:1)
                * WEP104 (00-0f-ac:5)
                * TKIP (00-0f-ac:2)
                * CCMP-128 (00-0f-ac:4)
        Available Antennas: TX 0 RX 0
        Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * P2P-client
                 * P2P-GO
                 * P2P-device
        Band 1:
                Capabilities: 0x1020
                        HT20
                        Static SM Power Save
                        RX HT20 SGI
                        No RX STBC
                        Max AMSDU length: 3839 bytes
                        DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 16 usec (0x07)
                HT TX/RX MCS rate indexes supported: 0-7
                Bitrates (non-HT):
                        * 1.0 Mbps
                        * 2.0 Mbps (short preamble supported)
                        * 5.5 Mbps (short preamble supported)
                        * 11.0 Mbps (short preamble supported)
                        * 6.0 Mbps
                        * 9.0 Mbps
                        * 12.0 Mbps
                        * 18.0 Mbps
                        * 24.0 Mbps
                        * 36.0 Mbps
                        * 48.0 Mbps
                        * 54.0 Mbps
                Frequencies:
                        * 2412 MHz [1] (20.0 dBm)
                        * 2417 MHz [2] (20.0 dBm)
                        * 2422 MHz [3] (20.0 dBm)
                        * 2427 MHz [4] (20.0 dBm)
                        * 2432 MHz [5] (20.0 dBm)
                        * 2437 MHz [6] (20.0 dBm)
                        * 2442 MHz [7] (20.0 dBm)
                        * 2447 MHz [8] (20.0 dBm)
                        * 2452 MHz [9] (20.0 dBm)
                        * 2457 MHz [10] (20.0 dBm)
                        * 2462 MHz [11] (20.0 dBm)
                        * 2467 MHz [12] (20.0 dBm)
                        * 2472 MHz [13] (20.0 dBm)
                        * 2484 MHz [14] (disabled)
        Supported commands:
                 * new_interface
                 * set_interface
                 * new_key
                 * start_ap
                 * join_ibss
                 * set_pmksa
                 * del_pmksa
                 * flush_pmksa
                 * remain_on_channel
                 * frame
                 * set_wiphy_netns
                 * set_channel
                 * start_sched_scan
                 * start_p2p_device
                 * connect
                 * disconnect
                 * crit_protocol_start
                 * crit_protocol_stop
                 * update_connect_params
        software interface modes (can always be added):
        valid interface combinations:
                 * #{ managed } <= 1, #{ P2P-device } <= 1, #{ P2P-client, P2P-GO } <= 1,
                   total <= 3, #channels <= 2
                 * #{ managed } <= 1, #{ AP } <= 1, #{ P2P-client } <= 1, #{ P2P-device } <= 1,
                   total <= 4, #channels <= 1
        Device supports scan flush.
        Device supports randomizing MAC-addr in sched scans.
        max # scan plans: 1
        max scan plan interval: 508
        max scan plan iterations: 0
        Supported TX frame types:
                 * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * P2P-device: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
        Supported RX frame types:
                 * managed: 0x40 0xd0
                 * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
                 * P2P-client: 0x40 0xd0
                 * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
                 * P2P-device: 0x40 0xd0
        Supported extended features:
                * [ CQM_RSSI_LIST ]: multiple CQM_RSSI_THOLD records
                * [ 4WAY_HANDSHAKE_STA_PSK ]: 4-way handshake with PSK in station mode
                * [ 4WAY_HANDSHAKE_STA_1X ]: 4-way handshake with 802.1X in station mode

2. Raspberry Pi Zero 2 W

Similar to rpi0w but have extra CMAC (00-0f-ac:6) cipher.

root@rpizero2w:~# iw list
Wiphy phy0
        wiphy index: 0
        max # scan SSIDs: 10
        max scan IEs length: 2048 bytes
        max # sched scan SSIDs: 16
        max # match sets: 16
        Retry short limit: 7
        Retry long limit: 4
        Coverage class: 0 (up to 0m)
        Device supports roaming.
        Supported Ciphers:
                * WEP40 (00-0f-ac:1)
                * WEP104 (00-0f-ac:5)
                * TKIP (00-0f-ac:2)
                * CCMP-128 (00-0f-ac:4)
                * CMAC (00-0f-ac:6)
        Available Antennas: TX 0 RX 0
        Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * P2P-client
                 * P2P-GO
                 * P2P-device
        Band 1:
                Capabilities: 0x1020
                        HT20
                        Static SM Power Save
                        RX HT20 SGI
                        No RX STBC
                        Max AMSDU length: 3839 bytes
                        DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 16 usec (0x07)
                HT TX/RX MCS rate indexes supported: 0-7
                Bitrates (non-HT):
                        * 1.0 Mbps
                        * 2.0 Mbps (short preamble supported)
                        * 5.5 Mbps (short preamble supported)
                        * 11.0 Mbps (short preamble supported)
                        * 6.0 Mbps
                        * 9.0 Mbps
                        * 12.0 Mbps
                        * 18.0 Mbps
                        * 24.0 Mbps
                        * 36.0 Mbps
                        * 48.0 Mbps
                        * 54.0 Mbps
                Frequencies:
                        * 2412 MHz [1] (20.0 dBm)
                        * 2417 MHz [2] (20.0 dBm)
                        * 2422 MHz [3] (20.0 dBm)
                        * 2427 MHz [4] (20.0 dBm)
                        * 2432 MHz [5] (20.0 dBm)
                        * 2437 MHz [6] (20.0 dBm)
                        * 2442 MHz [7] (20.0 dBm)
                        * 2447 MHz [8] (20.0 dBm)
                        * 2452 MHz [9] (20.0 dBm)
                        * 2457 MHz [10] (20.0 dBm)
                        * 2462 MHz [11] (20.0 dBm)
                        * 2467 MHz [12] (20.0 dBm)
                        * 2472 MHz [13] (20.0 dBm)
                        * 2484 MHz [14] (disabled)
        Supported commands:
                 * new_interface
                 * set_interface
                 * new_key
                 * start_ap
                 * join_ibss
                 * set_pmksa
                 * del_pmksa
                 * flush_pmksa
                 * remain_on_channel
                 * frame
                 * set_wiphy_netns
                 * set_channel
                 * start_sched_scan
                 * start_p2p_device
                 * connect
                 * disconnect
                 * crit_protocol_start
                 * crit_protocol_stop
                 * update_connect_params
        software interface modes (can always be added):
        valid interface combinations:
                 * #{ managed } <= 2, #{ P2P-device } <= 1, #{ P2P-client, P2P-GO } <= 1,
                   total <= 3, #channels <= 2
                 * #{ managed } <= 1, #{ AP } <= 1, #{ P2P-client } <= 1, #{ P2P-device } <= 1,
                   total <= 4, #channels <= 1
        Device supports scan flush.
        Device supports randomizing MAC-addr in sched scans.
        max # scan plans: 1
        max scan plan interval: 508
        max scan plan iterations: 0
        Supported TX frame types:
                 * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * P2P-device: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
        Supported RX frame types:
                 * managed: 0x40 0xb0 0xd0
                 * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
                 * P2P-client: 0x40 0xd0
                 * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
                 * P2P-device: 0x40 0xd0
        Supported extended features:
                * [ CQM_RSSI_LIST ]: multiple CQM_RSSI_THOLD records
                * [ 4WAY_HANDSHAKE_STA_PSK ]: 4-way handshake with PSK in station mode
                * [ 4WAY_HANDSHAKE_STA_1X ]: 4-way handshake with 802.1X in station mode
                * [ SAE_OFFLOAD ]: SAE offload support

Audio Peripheral

If possible add MEMS instead of ECM microphones to your Mesh Station.

USB Microphones

Header based Microphone and Speaker

HAT based Microphone and Speakers

Relay

Relay should be 3.3V instead 5V.

3V_relay

Notice "03VDC" printed on the blue relay box in the image above.

Display

E-Paper

White "e-paper" 48.55mm x 23.71mm display (total dimension 65.00mm x 30.20mm) with SPI interface

white_display

TFT

TFT 1.3" inch 240x240 TFT with SPI interface

TFT

Battery

803040 Li-Po battery (1000mAh 3.7V) includes charger with I2C communication bus, attaches neatly underneath raspberry pi zero.

battery

Ethernet

Ethernet and 3 USB ports can be added above Raspberry Pi Zero W via microSD adapter:

ethernet_top

Ethernet and 3 USB ports can be added below Raspberry Pi Zero W via Pogo pins:

ethernet

Digital Terrestrial Television

There are four main digital terrestrial television standards:

DTT

The adapter below supports both DVB-T (and its newer version DVB-T2):

DVB