diff --git a/python/pokedex_rpi.py b/python/pokedex_rpi.py
index a14d3428e7f881e62615346b898a75f44cfa2e61..2f87792ef41b4d87a956dc754ed179391d118352 100644
--- a/python/pokedex_rpi.py
+++ b/python/pokedex_rpi.py
@@ -28,20 +28,28 @@ with open(json_path, "r") as f:
 # --- Inference ---
 with Hailo(hef_path) as hailo:
     model_h, model_w, _ = hailo.get_input_shape()
+    print(f"-- Hailo model input size: {model_w}x{model_h}")
 
-    # Initialize camera and configure MAIN output only (no preview)
     picam2 = Picamera2()
+
+    # Use *raw* capture configuration with correct size
     config = picam2.create_still_configuration(
         main={"size": (model_w, model_h), "format": "RGB888"},
-        display=None  # Disable preview stream to avoid tiny resolution
+        lores=None,
+        display=None
     )
     picam2.configure(config)
     picam2.start()
 
     print("-- Capturing image...")
     frame = picam2.capture_array()
+    print(f"-- Captured frame shape: {frame.shape}")
+
+    if frame.shape[0] != model_h or frame.shape[1] != model_w:
+        print("-- Frame shape doesn't match model input size. Aborting.")
+        exit(1)
 
-    # Optional: Show the captured image
+    # Optional: display image
     try:
         cv2.imshow("Captured Image", frame)
         print("-- Press any key to continue...")
@@ -58,4 +66,4 @@ with Hailo(hef_path) as hailo:
 
     predicted_idx = int(np.argmax(inference_results))
     predicted_name = class_names[predicted_idx]
-    print(f"-- Predicted Pokémon: {predicted_name}")
\ No newline at end of file
+    print(f"-- Predicted Pokémon: {predicted_name}")