diff --git a/examples/ov5640_stopmotion_kaluga1_3.py b/examples/ov5640_stopmotion_kaluga1_3.py
index 40d7d02..1d9c95a 100644
--- a/examples/ov5640_stopmotion_kaluga1_3.py
+++ b/examples/ov5640_stopmotion_kaluga1_3.py
@@ -235,7 +235,26 @@ def take_stop_motion_gif(n_frames=10, replay_frame_time=0.3):
             g.add_frame(frame, replay_frame_time)
             for i in range(1, n_frames):
                 print(f"{i}/{n_frames}")
-                old_frame.blit(0, 0, frame, x1=0, y1=0, x2=frame.width, y2=frame.height)
+
+                # CircuitPython Versions <= 8.2.0
+                if hasattr(old_frame, "blit"):
+                    old_frame.blit(
+                        0, 0, frame, x1=0, y1=0, x2=frame.width, y2=frame.height
+                    )
+
+                # CircuitPython Versions >= 9.0.0
+                else:
+                    bitmaptools.blit(
+                        old_frame,
+                        frame,
+                        0,
+                        0,
+                        x1=0,
+                        y1=0,
+                        x2=frame.width,
+                        y2=frame.height,
+                    )
+
                 frame = wait_record_pressed_update_display(False, cap)
                 g.add_frame(frame, replay_frame_time)
             print("done")