Tuesday, April 4, 2023

Upsizing a Pi Zero (2W) to a Pi 3 Footprint

Recently I learned, and was intrigued, by two products from WaveShare, both enabling a small footprint Raspberry Pi Zero (2W in my case) to fill a Raspberry Pi 3 case by including a suite of adapters, plugs, and sockets. With the uninspiring brand name, "Raspberry Pi Zero [] to 3B Adapter." 

Raspberry Pi Zero To 3B Adapter, Alternative Solution for Raspberry Pi 3 Model B/B+

Raspberry Pi Zero 2W To 3B Adapter, Alternative Solution for Raspberry Pi 3 Model B/B+

Since I have 2 Pi's running NetBSD 10 BETA, I decided to try each version in a different system. Pictures follow; the basic difference between the A and B versions is the former may work with the vanilla Pi Zero while the latter probably doesn't.


The "A" Board

Good: Cheaper of the 2 boards. HDMI full size socket (though now what do you do with the micro-HDMI already at hand?)

Bad: Does not relocate the microSD socket, making case adjustments necessary. See images.

Ugly: Ethernet is 100 BT.

Assembly is a little challenging for two hands, as the three connections for power, USB, and video must be made simultaneously. The connections seemed firm and sound once made, but I'd want to be careful not to torque the board any when joining to the Pi. I wouldn't think you would change this once plugged on (I don't plan to) either.

Access to the 40 pin bus is not obstructed as the board design wraps the opposite side.

NetBSD compatibility

Once I powered up the combined boards and booted a previously running system, I was happy to see the startup succeeded, with the provided RealTek ethernet stack working fine with NetBSD (some versions don't, or seem to only provide 100BT while claiming gigabit).

The USB V2 ports were fine; given the Zero doesn't have USB-3 I wouldn't expect an add-on board to provide accelerated throughput.

The "B" Board

Good: Includes an audio jack. Really good: Providing a micro-USB socket in the expected Pi3 location, somehow rewiring the onboard socket to an outboard one (I wonder what happens if you try to put chips in both sockets?) The funny aspect of this feature was that it went unremarked in the online feature set.

Bad: Case fit was a little tight; tolerances are fair. The connections were different than the A board, as only the HDMI port  is plugged in, while other connections get routed through "Pogo" pins. It sounded dubious (to me, who grew up reading Pogo in the comics) and I'm happily converted.

Ugly: Really can't see any downsides yet. Well, to be fair, being unable to access on-board wireless is a downside, requiring external wired or wireless dongles which might (or might not) work well under NetBSD.

Wifi on a pi3 with NetBSD?

  • RPI3 and RPI0W builtin WiFi - bwfm(4)
  • "Note that the built-in WiFi in the RPI3 is not yet supported."

FreeBSD doesn't (yet) support Pi Wifi either - see https://wiki.freebsd.org/arm/Raspberry%20Pi

NetBSD compatibility

As this board appears to include an identical ethernet adapter logic as the "A" board, this system also rebooted with no issues (other than the usual DHCP name shuffling due to alternate MAC addresses than earlier adapters.

The "B" board has an audio jack, which the other does not. Though it seemed to be a valid device, my first tests playing music were failures of varying degrees. VLC/MPG123 worked once, then got really choppy. Error logs filled with messages.


[     5.502165] ure0: Realtek (0x0bda) USB 10/100 LAN (0x8152), rev 2.10/20.00, addr 6

[     3.828299] ure0: Realtek (0x0bda) USB 10/100 LAN (0x8152), rev 2.10/20.00, addr 4
[     4.428379] uaudio0 at uhub1 port 6 configuration 1 interface 0
[     4.438382] uaudio0: Solid State System Co.,Ltd. (0x0c76) USB PnP Audio Device (0x1203), rev 1.10/1.00, addr 5

Mar 25 23:00:00 b /netbsd: [ 5929.7443850] uaudio0: pintr error: IOERROR
Mar 25 23:00:00 b /netbsd: [ 5929.7443850] uaudio0: uaudio_chan_pintr: count(40) != size(1920), status(13)


The Pi Zero started out as a $5 computer.... [ raspberrypi.com/news/raspberry-pi-zero/ ]
Then it crept up a bit with the more powerful 2W. OK, it tripled at $15, but that doesn't include a necessary power supply, much less nice to have features like USB ports (mainboard has one, in the micro style). Spending as much or more on an expansion board needs justification, or at least a comparison between features versus price. I like the "all-in-one" feel of the expanded system in a tidy case, compared to a board with plugs hanging out left right and center.


Top view. I left off a fan as the Zero is not a heat source of consequence.
Side view, showing the plastic frame cut away to allow the microSD card to stick out where it is on the Zero, but in a Three case.

The cutaway.

Zero, screwed in on top of the adapter board.

Can't close the case with the SD card on the Zero.

The closed case with the card in the new location.

It fits!

The end. For now.