You are browsing as a guest. Sign up (or log in) to start making projects!

aryavora21

@aryavora21

Joined June 4th, 2026

  • 7Devlogs
  • 5Projects
  • 1Ships
  • 7Votes
Open comments for this post

21h 4m 37s logged

Wireless Pico UART REPL via Pi Zero 2W

What I worked on:
Executed the dual-board bridge bring-up: connecting the Raspberry Pi Pico (real-time controller) to the Pi Zero 2W (high-level brain) over a physical UART link. Wired Zero GPIO 14/15 (mini UART TX/RX) to Pico GP1/GP0 (UART0 RX/TX) on a shared power rail, with SWD on GPIO 24/25 for flashing. After flashing fresh MicroPython v1.23.0 via OpenOCD over SWD, set up the MicroPython REPL to duplicate over UART so the Zero can wirelessly talk to the Pico.Hit two blockers: wiring polarity was wrong initially (TX-to-TX, RX-to-RX instead of a null-modem crossover), and os.dupterm(uart, 1) crashed boot.py since RP2040 MicroPython only supports dupterm slot 0. Both fixed, and added core_freq=250 to the Zero’s config.txt to stop the mini UART baud rate drifting with CPU frequency scaling.Followed up (this session): wrote tools/blink.py and uploaded it to the Pico via tools/upload_to_pico.py, confirming the full host -> SSH -> Zero -> UART -> Pico pipeline end-to-end.

What I learned:
Embedded Trap: RP2040 MicroPython’s os.dupterm() only supports slot index 0. Slot 1 is silently invalid, causing a boot-time crash invisible unless you’re watching USB REPL output. Use os.dupterm(uart) or os.dupterm(uart, 0).
Hardware Lesson: Pi Zero 2W mini UART (ttyS0) derives its baud rate from the VPU core clock. Without core_freq=250, frequency scaling causes the baud rate to drift; even a 1% mismatch causes data loss.
SSH Issue: After rebooting the Zero, the SSH host key changed, blocking password login until passing -o StrictHostKeyChecking=accept-new.What’s next: Now that the wireless UART REPL bridge and upload pipeline are verified, next is wiring an MPU6050 + two servos on the Pico for a simple tilt-correction gyroscope test, adding an OLED pitch/roll readout, and smoke-testing the Zero’s PiCam/mic/speaker independently.

0
0
2
Open comments for this post

2h 13m 14s logged

Mediapad - Final Build & Shipping

After finishing the PCB design, I wrapped up the enclosure and prepared Mediapad for submission. The goal of this project was to create a dedicated USB media controller with physical controls for music playback and volume adjustment. The final design includes three mechanical switches for media controls and a rotary encoder for volume control, all powered by a Seeed Studio XIAO RP2040. The project details and feature set are documented in my project page and repository.

0
0
4
Open comments for this post

1h 11m 25s logged

improving backend ui:

ive gotten the ai model to self think and run a local model on my rpi 4, its currently able to research online, plan out tasks & adding shell tools soon

0
0
3

Followers

Loading…