Session Wrap-Up โ Pi 4 "Brain" Setup (Modern Stack)
First session on the new development platform for the Voice+Vision "head" project, moving off the archived AIY software onto current Raspberry Pi OS
Result: โ Fresh install running cleanly โ SSH, touchscreen, and camera all working, with the camera succeeding on the first real attempt (a stark contrast to the AIY stack). Ready for
picamera2 and TFLite next session.
What was set up
- Hardware: one of the spare Raspberry Pi 4 (1GB) boards, paired with the 8MP camera (V2, IMX219) freed up from the Vision Kit swap
- OS: fresh Raspberry Pi OS (64-bit, Bookworm/Trixie-based), flashed via Raspberry Pi Imager onto a 64GB card
- Hostname:
lerobot-vision(login user:brain) โ chosen to avoid repeating theraspberrypi.localcollision problem from the AIY kits - Display: the 10" touchscreen (previously idle on the old Pi 3) now in active use โ first time working with a monitor + mouse instead of pure headless SSH for this whole project
- Raspberry Pi Connect: enabled, as a cloud-relayed fallback for remote access, specifically to sidestep the recurring mDNS/
.localresolution flakiness hit throughout the Vision Kit saga. Not yet tested in practice โ worth trying next time.localmisbehaves.
Issues hit & resolved
- SSH refused connection at first โ the Imager's SSH-enable checkbox wasn't set (or hadn't taken effect) on first boot. Fixed via the desktop GUI: Raspberry Pi menu โ Preferences โ Raspberry Pi Configuration โ Interfaces tab โ enable SSH.
- Username mismatch โ briefly tried
pi@out of habit; actual configured username wasbrain. Straightforward once noticed โ no defaultpiaccount exists on modern Raspberry Pi OS (a change from the old AIY image). - Locale warnings (
setlocale: LC_CTYPE: cannot change locale) โ cosmetic only, fixed with:sudo apt-get install -y locales-all
Camera โ working cleanly, first try
Old libcamera-* commands are renamed to rpicam-* on current Raspberry Pi OS. Confirmed:
rpicam-hello --list-cameras
โ correctly detected imx219 (the 8MP sensor), full resolution and mode list shown, no errors.
Test capture:
rpicam-still -o ~/test_modern.jpg
Succeeded on the first attempt โ no cable issues, no background service conflicts, no GPU memory tuning needed, none of the friction from the old AIY/MMAL stack. The verbose auto-exposure warm-up output (#7... #148 frame counter) before capture is normal, expected behavior โ not an error.
libcamera/rpicam stack "just worked" on the first real attempt, after days of troubleshooting were needed on the 2021 AIY image for the same basic capability. Validates the decision to move development forward on modern hardware/software rather than continuing to extend the archived kits.Not yet done / next session
- Install picamera2 (the Python library, distinct from the
rpicam-*command-line tools) for programmatic camera control - Install TensorFlow Lite and run an actual detection model (not just raw capture)
- Eventually: same setup process on the Pi 5 + AI Camera (IMX500) once its SD card/cable arrive โ should be near-identical steps, per official Raspberry Pi documentation covering both boards
This document, plus the Voice Kit and Vision Kit final reports, form the complete project record so far. See also the overall roadmap.
Next session: migrating the LeRobot arm setup from Mac to this Pi.