My robot has been seeing the world through the little camera that shipped in his head, and it was holding him back. Narrow field of view, so he could only look at one thing at a time. Mediocre color. I wanted him to take in a whole tabletop in a single glance, so this week he got a new eye, and I had to make the part that holds it.
The camera
I bought an Innomaker U20CAM-1080P, a 130 degree wide-angle USB camera, for nineteen dollars. It does 1080p at 30fps over plain USB 2.0 and speaks MJPEG, which matters because MJPEG frames are cheap for a Raspberry Pi to pull. The wide lens is the whole point. Where the old camera saw a slice of the room, this one takes in almost the entire scene in front of him, so a single head position now covers what used to take three.

The part I had to make
The catch with a board camera is that it ships as a bare circuit board. No housing, no tabs, nothing to screw into. So before it could go anywhere near the robot I opened Tinkercad and designed a bracket: a trapezoidal block with a channel milled across the front that grips the camera board by its edges, and a flat back that bolts onto the pan and tilt plate where the old camera used to sit. I printed it, test fit it, shaved the channel down a hair, and printed it again. The second one snapped the board in place with no play, which is exactly what you want on a head that whips left and right during a scan.

Then the software fought back
New sensor, and suddenly his color was wrong. Everything came out washed and slightly blue. The reason was almost funny: the old camera’s white balance, gamma, and saturation values were still baked into the vision service, and they meant nothing to this different sensor. I stripped all of it out, put the camera back into its native automatic mode, looked at what it could actually do on its own, and then re-tuned from scratch: gamma, brightness, a saturation boost so the colors came back rich instead of faded.
The other gotcha was distance. The robot estimates how far away something is from how big it looks, and that math depends on the lens. The new lens threw the calibration off, so he thought a ball forty five centimeters away was eighty one centimeters away. A wrong focal-length number will do that. Fixed the constant, and his distance estimates lined back up with reality.
Where it leaves him
He now has a wide, sharp, correctly colored eye that reads the whole room at once. That one hardware change is what made everything that came after it possible, because the next thing I taught him was how to look around a room and remember what he saw. More on that soon.