Skip to content

Metro RP2350 DVI output defaults to 72Hz refresh (capture cards like 60Hz) #10242

Open
@samblenny

Description

@samblenny

CircuitPython version and board name

Adafruit CircuitPython 9.2.7 on 2025-04-01; Adafruit Metro RP2350 with rp2350b

Code/REPL

# No code needed to trigger the bug, just:
# 1. Connect HSTX DVI adapter to an HDMI capture card with HDMI passthrough to a TV
# 2. Power up the board with an empty code.py
# 3. Let CircuitPython supervisor initialize the default picodvi.Framebuffer config

Behavior

When I connect the Metro's HSTX port to a DVI adapter and connect the DVI adapter to a TV, the TV shows the CircuitPython console. But, it reports that the video mode is 640x480@72Hz (not 60Hz).

When I try to capture the video output with an AverMedia GC551G2, it says "Not Supported". That makes sense because many capture cards and video scalers appear to generally expect 60Hz refresh for lower resolution video modes (based on my reading of various manuals). My impression is that TVs and monitors that have VGA or component video inputs may be more flexible about accepting a range of refresh rates.

This is what the capture card output looks like when I boot the Metro RP2350 with an empty code.py:

Image

Description

No response

Additional information

If I change microcontroller.cpu.frequency from its default of 150MHz down to 125MHz (because 150/72*60 = 125), then the TV reports a 60Hz refresh rate and the capture card immediately starts working happily, like this:

Image

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions