Wkat is SPINKY?


This document should be cited using something like the bibtex entry:

@techreport{SPINKY,
author={Henry Gordon Dietz},
title={What is SPINKY?},
month={May},
year={2026},
institution={University of Kentucky},
howpublished={Aggregate.Org online technical report},
URL={http://aggregate.org/DIT/SPINKY/}
}

Latest revision is May 4, 2026.


SPINKY (or SpinKY) stands for SPIN from KentuckY, although "spinky" is also appropriately enough an obsolete spelling of "spunky." This is a cheap digital camera designed to capture ultra-wide cylindrical-projection panoramic views by spinning a camera and stitching the ROIs from multiple images captured while spinning.

This project was inspired by an article at DPReview, Jeff Bridges' WideluxX revival just got a lot more real, published April 28, 2026. The $4400 limited-production WIDELUX*X is a fairly literal version of the original Widelux F8, using 135 film just as it did. The not-very-detailed full manual for the one of the original versions is available from M. Butkus. The Widelux entry in camera-wiki doesn't give many details either, but it includes a few images taken by Widelux cameras that show the distinctive cylindrical projection and also explain the image quality limitations of the camera. In any case, the original Widelux versions are now selling on eBay for upwards of $1500. Put simply, I see the charm of a spinning-lens camera, but for most of us, this is a special-purpose toy, and it's pretty difficult to justify the price of any of the above. Using film is also awkward, and the truth is that the image quality of the Widelux is easily in reach for a cheap digital camera sensor. Thus, the idea of SPINKY is to be a much more accessible version, with a target build cost of under $50.

It Begins!

The initial concept was to make SPINKY live in the same body shape as an original Widelux. However, the original Widelux is actually a quite large camera: approximately 165x90x60mm. That makes sense because the film path is not simple, and 135 film can't make sharp bends. However, it seems that a digital version could be smaller, so my initial goal was to create a 3D-printable parametric model of the basic body and see how easily I could fit the guts into it.

So, on May 2, 2026, I started working on a 3D model using OpenSCAD. This being 2026, I first figured I'd try using an AI to generate a rough model that I could fix up. Well, the first few AIs I tried produced models that were bad enough to be of no help at all. Then I tried MakerWorld-Image-to-3D with a single, front-facing, image of an original Widelux. The amazing result was:

Wow! Using that model as a guide, it only took a couple of hours to make a parametric OpenSCAD model and make the print shown at the top of this page. To be clear, the MakerWorld-Image-to-3D model had a number of serious flaws, including non-manifold mesh construction and the charming mutilation of text labels that we've all gotten used to from AIs. However, after fixing the non-manifold edges, the STL version of this mesh became an excellent template for making my OpenSCAD model. In general, I kept as much of the STL mesh as possible, but replaced the key components with OpenSCAD solid object models that would be precise, e.g., replacing the slightly oval rotating segment with a true cylinder and changing the text label to SPINKY 260502. I also removed the shutter button, which the MakerWorld model had fused with the structure next to it. I expected to replace that with a momentary electronic switch anyway. The Makerworld model was 100mm across, but it was pretty clear that wouldn't easily fit the guts, so my print was scaled to 125x67x48mm. It turns out that's actually a bit too small to fit a servo directly driving rotation of an ESP32-CAM boardlet. So, we have several options:

  1. Make it bigger. With a little cleverness, it fits the 150mm wide upscale. That's still smaller than the original, and easily printable, but it's bigger than I'd like. Incidentally, this fits best with the servo above, not under, the ESP32-CAM boardlet.
  2. Use one gear to indirectly rotate the core. This avoids stacking the relatively tall servo on the ESP32-CAM board. Still, it's hard to fit unless the body is scaled to at least 140mm width.
  3. Rotate only the camera, not the ESP32 board. This requires one of the 75mm long cables for the OV2640 camera, but easily fits within the 125mm body.
  4. Forget about fitting inside a Widelux-shaped body and make the body form follow function. This would naturally produce a more cylindrical body, with either a grip under the rotating part or the left and right sides bent backward so the rotating part sits farther in front of where your hands hold the sides. There would also be space for a USB battery using an 18650 in the grip.

Of the above, #2 is my least favorite because gear tolerancing will cause a little wobble. On May 3, I created an OpenSCAD model for how #1 could work: SPINKY 260503. It is viable, but I don't like the 150mm size. Option #3 seems the best of the Widelux-shaped options, and is a particularly good candidate for embedding Qi wireless charging using guts similar to Tic Tac Camera Using ESP32CAM And Wireless Charging.

However, #4 is most compelling. There are 180 and 270-degree servos, but none of the Widelux-shaped versions could deliver more than about 130-140 degree views because the user's fingers (and then the body) will get in the way. Given that the ESP32-CAM is available with a 160-degree lens, and projection could be re-mapped to cylindrical in software, versions #1, #2, and #3 are not really giving you a benefit for the work of spinning the lens. In contrast, it is pretty easy for #4 to deliver a full 270-degree view, especially if the camera is held from below.

A quick note about image quality for any version of SPINKY: it will not be great, but should be at least competitive with the original film-based Widelux. There are two viable camera modules, the OV2640 and OV5640, which are respectively intended to deliver 2MP and 5MP images. With SPINKY using an OV2640, I expect between 4-7MP images. The OV5640 should deliver 11-17MP. While those numbers are not impressive, it is useful to remember that 135 film typically only delivers the equivanet of around 1.5-6MP and, despite the larger file area for the Widelux, the moving lens arrangement typically produces lower effective image quality and resolution than conventional 135 film cameras.

Does it really need to look like a Widelux?

So, I asked the community if the camera really needs to look like a Widelux. I've only gotten a couple of responses so far, but both say "nope." I'd like to get a bit more community feedback before I abandon the Widelux body shape. As of May 6, I've managed to come up with a fairly tight modular design that would allow up to a full 270 degree rotation and looks nothing like a Widelux:

As pictured, SPINKY 260506 is 76x178x64mm, which is quite large. However, that's including the grip base. The SPINKY head is just 76x46x64mm, and it could sit on a truly tiny base that added as little as 6mm to the height, but would then need to be controlled via the 802.11 web page interface (e.g., using any web browser on your phone) and powered by a 5V USB supply. The head mounts on whatever base or grip via the servo output shaft, i.e., the base or grip is effectively an oddly-shaped servo horn. The head only needs two wires connecting to it, +5V and ground.

The 3D-printed head, including the ESP32-CAM and servo it contains, weighs about 75g and the 3D-printed grip is another 75g (not counting any power supply it would contain). The grip is a minor refinement of a grip design I've been using for years (e.g., my Arca Swiss Compatible Hand Grip), and is both very comfortable and large enough to easily contain a substantial power source. It also could easily be used for double duty as the grip on a combo monopod/hiking stick, such as this one, which I happen to have gotten via Amazon Vine.

Build cost for the head without a power supply would be around $10. The grip cost depends primarily on the power supply it holds. It is possible to cram an 18650 and 5V boost converter in there. My earliest version of the grip hid a standard 9V battery and 7805 regulator, and another viable option is a CR123A and boost converter. Anyway, there are plenty of options, but the key is that the servo and ESP32-CAM both need 5V, and worst case draw for the two is close to 1A (although average draw is less than 400mA while operating).

If you have any comments or suggestions, you can send them to Professor Hank Dietz or, better still, post in the above noted DPReview link.


The Aggregate The only thing set in stone is our name.