Maker ยท Technical Deep-Dive

AIY Vision Kit (V1.1) โ€” Setup Troubleshooting Log

Getting the Pi Zero WH online โ€” a different set of quirks from the Voice Kit

Status: Resolved. The Vision Kit's Pi Zero WH is online and reachable over WiFi at its own dedicated hostname (aiy-vision.local). Every blocker along the way turned out to be software or process-state related โ€” nothing here needed a hardware fix.

The short version

A record of getting the Vision Kit's Raspberry Pi Zero WH online, following on from the Voice Kit setup. Unlike the Voice Kit (which needed its own Pi 3/4), this kit shipped with its own Pi Zero WH โ€” smaller, cheaper, but with its own quirks (no ethernet port, no power LED, different HDMI size).

1. Hardware assembly

2. "Is it even alive?" โ€” the power LED red herring

Spent time worried the board was dead because nothing lit up. Turned out to be a non-issue:

The Raspberry Pi Zero has no dedicated power LED at all โ€” only a single green "ACT" LED that reacts to SD card activity. With no SD card inserted, or before the OS starts reading files, this LED stays completely dark even with power flowing normally. Blinking during boot, then settling to solid green, is the normal pattern for a Pi Zero that booted successfully โ€” not a fault.

Lesson: don't diagnose Pi Zero power issues by the LED alone; check network reachability instead.

3. No WiFi, no ethernet port โ€” using USB gadget mode

The Pi Zero has no ethernet port, so the "plug in a cable" fallback from the Voice Kit didn't apply here. Instead, used USB gadget mode to get a direct network connection over the data USB port:

  1. On the SD card's boot partition, added to the bottom of config.txt: dtoverlay=dwc2
  2. In cmdline.txt, added right after rootwait (same line): modules-load=dwc2,g_ether
  3. Created an empty file named ssh (no extension) in the boot partition.
  4. Connected the Pi's USB data port (not PWR IN) to the laptop via micro-USB cable.
  5. After ~30โ€“60 seconds, laptop showed a new "USB Ethernet/RNDIS Gadget" network interface.

This is a genuinely useful technique for any future headless Pi Zero work โ€” no WiFi or ethernet required at all for initial access.

4. SSH login confusion โ€” two Pis, same hostname

Hit repeated "Permission denied" errors trying to log in, despite the default credentials being correct. Root cause: both the Voice Kit Pi and the Vision Kit Pi used the same default hostname (raspberrypi.local), and a stale ARP/mDNS cache entry from the Voice Kit was interfering โ€” SSH's "REMOTE HOST IDENTIFICATION HAS CHANGED" warning was the giveaway.

Fix: cleared the stale entry, confirmed via arp -a, then reconnected cleanly.

Preventative fix: gave the Vision Kit Pi a distinct hostname to avoid this permanently:

sudo raspi-config
# System Options โ†’ Hostname โ†’ aiy-vision โ†’ reboot

5. WiFi config file โ€” invisible curly quotes

Once inside via USB, tried setting up real WiFi. raspi-config's WiFi option failed with:

Could not communicate with wpa_supplicant

Checking the config file directly revealed the actual problem:

ssid="Zornlink"     โ† curly opening quote, straight closing quote

Smart/curly quotes had been introduced somewhere in the editing process (likely from an app that auto-formats quotation marks) and wpa_supplicant can't parse them as valid string delimiters. Retyped both the SSID and password using plain straight quotes directly in nano, avoiding paste from any source that might reformat them.

6. Stale wpa_supplicant process

After fixing the quotes, wpa_cli -i wlan0 reconfigure still failed:

Failed to connect to non-global ctrl_ifname: wlan0 error: No such file or directory

systemctl status wpa_supplicant showed the service had been running continuously since the very first boot (timestamped 2021!), not properly bound to wlan0. Rather than patch a stale process, did a full reboot โ€” which also applied the pending hostname change in one step.

7. Result

After reboot:

ssh pi@aiy-vision.local

connected cleanly with the new hostname and new password, and:

ip a show wlan0

showed a real WiFi IP (192.168.2.85) โ€” fully working, independent of the USB tether.

Key takeaways

Reference documents