In the continuing quest for higher rpm, I've moved the controller down below the screen and across the axis of rotation. It's a lot harder to get at if I need to rewire anything, but it does improve the balance.
It feels as though I'm endlessly rebuilding it, for diminishing improvements. But in the most recent rebuild I finally solved a mystery that has been bugging me. When the display had been running for a while, it would quite abruptly lose balance and start vibrating. After the last occurrence, it was never quite the same. On stripping it down I found this.

That's the mount for the slip ring. A cylinder carrying a couple of copper bands fits over the pillar, and an M4 bolt goes own the middle to hold it all together. It has very clearly become bent, and without any signs of cracking. Presumably, as it spins, it heats up enough to soften the PLA, and the spring loaded brushes push it out of alignment.

I've reprinted it in ABS; going to see how well that lasts.

Pi 4 model A
I continue to fail to shoot footage of it that does it justice.
This feels like a good match of style and content.
I’m now suspicious of all the PLA parts. The little pit with the Pi in it is getting very warm.
kind of feels like it needs monsters?
Voxel Doom

YouTube
I do like an ample window and natural light, but it makes it hard to see the leds. Hence this pirate astronaut.
Doom running at a larger scale. Easier to make out what's going on, harder to see what's shooting at you.
https://youtu.be/bRe1OSkeiQg
Voxel Doom

YouTube
This display works by spinning a matrix display rapidly about a vertical axis, lighting up each LED as it passes through part of a 3D image. The way you update the displays has a big impact on the quality of the image.
In this gif, each dot represents a column of LEDs - we're looking at the device from above. Here the panel is treated like a 2D display which just happens to be moving. Each scan line is repeatedly visited in turn, sweeping out a set of slices where the image can be displayed.
If you turn the panels 90 degrees so their scan lines are now columns, you can do a bit better. The update doesn't have to be sequential - instead of stepping one column at a time, you can skip a few each time. As long as you pick a number which is coprime with the number of columns, and you wrap around once you go past the last one, you'll still visit each of them but spread out more evenly throughout the volume.
The real improvement comes when you adjust the update rate for each column to match the length of the track they have to sweep out. Instead of wrapping around when you reach the last column, you wrap around when your counter reaches the square of the number of columns, and you update the column corresponding to the integer square root of the counter. This gets rid of the bright dense region in the middle, and adds more updates out at the edges making them less sparse.
In practice it's complicated by the fact that these panels update two lines at once. Every time you update a column in the outer half, you're also updating one in the inner half. I couldn't find a simple procedural update strategy to spread these evenly, so I ended up generating a lookup table for it using simulated annealing.
First test of the new design, and already I’m happy. Quiet, high refresh rate, and doesn’t feel like it’s seconds away from embedding itself in my face.
Dynamic balancing using a tray of marbles and iPhone slowmo.
These guys.
- YouTube

Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.

So many complaints about the framerate on that last video, so I decided to upload one with a shorter exposure and more flicker. But I still ended up keeping it below 30 fps, so I suspect the complaints will be about both framerate and flicker. Just have to hope the algorithm doesn’t go so large on this one. https://youtu.be/gBfclb9hXCI
- YouTube

Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.

New dome!
There are many advantages to moving to smaller panels in the new design (momentum etc), but the price drop going to a 300mm dome from 400mm would be justification enough.
There’s now an accelerometer in the base, synced to the rotation of the screen. I’m hoping this will help me get it balanced better. I don’t entirely understand the shape it’s producing, but the line is pointing in roughly the direction I think it should be pointing.
2D video of 3D projection of 4D object.
Original voxels
There’s a fair bit of planning involved in finding the true centre and height of these domes. When I come to make the cut it feels like cleaving the Cullinan diamond.
With the previous dome the cut had a somewhat hand made look to it, so I printed a thin piece of trim to slip over the edge and keep it neat. It was too big for the printer so I used TPU, printing it in a spiral and flexing it back in to the right diameter. An unexpected benefit was that it was way quieter with that isolating the dome from the base.
This time the cut went better, but I’m still going to give it a gasket for that reason.
Enbubbled.
25 fps. That's an actual frame rate.
Taking it all apart so I can film myself making it.
Now thinking I should have filmed the tool I made to press all the clips on this IEC socket so I could get it out of the housing in order to film the satisfying click it makes when it goes in.
Easier to see the 3D when it's only the camera that's moving.
Meme crustacean
Yet another round of finding new places to hang counterweights, and I’ve hit 900rpm - 30fps. Amazing to scroll back to the start of this thread and see me wonder if I could get some sort of rudimentary depth effect going.
https://www.youtube.com/watch?v=ydk3BhlUWYE I've been working more on capturing footage. Hand held camera movement is still a mess, but putting the content into rotisserie mode helps sell the 3D with a static camera.
Volumetric fish bowl

YouTube
What this thing needed was another source of barely recognisable low res flickery points of light.
You look like a good Joe
I built a contraption for my camera
Construction video for this display… https://youtu.be/pcAEqbYwixU
Vortex Assembly

YouTube

I tried the thumbnail testing feature on Youtube for the first time, which was fun. Upload 3 different images, and it randomly applies them and shows you which one was the most engaging. This was the winner.

(I didn't include one with my surprised face and an overlaid arrow pointing at something)

Everyone needs to build one of these displays so I can spend my time writing games for it.
@ancientjames Maybe someone can transplant nds or n64 emulator.
×
Taking it all apart so I can film myself making it.
Now thinking I should have filmed the tool I made to press all the clips on this IEC socket so I could get it out of the housing in order to film the satisfying click it makes when it goes in.
Easier to see the 3D when it's only the camera that's moving.
Meme crustacean
Yet another round of finding new places to hang counterweights, and I’ve hit 900rpm - 30fps. Amazing to scroll back to the start of this thread and see me wonder if I could get some sort of rudimentary depth effect going.
https://www.youtube.com/watch?v=ydk3BhlUWYE I've been working more on capturing footage. Hand held camera movement is still a mess, but putting the content into rotisserie mode helps sell the 3D with a static camera.
Volumetric fish bowl

YouTube
What this thing needed was another source of barely recognisable low res flickery points of light.
You look like a good Joe
I built a contraption for my camera
Construction video for this display… https://youtu.be/pcAEqbYwixU
Vortex Assembly

YouTube
I uploaded the 3D printable parts for it here. https://github.com/AncientJames/VortexParts - honestly don’t know if it’s at all useful without the specific parts I had (and the panels are just aliexpress roulette), but lots of people were asking.
GitHub - AncientJames/VortexParts: printable parts for the Vortex 3D display

printable parts for the Vortex 3D display. Contribute to AncientJames/VortexParts development by creating an account on GitHub.

GitHub

I tried the thumbnail testing feature on Youtube for the first time, which was fun. Upload 3 different images, and it randomly applies them and shows you which one was the most engaging. This was the winner.

(I didn't include one with my surprised face and an overlaid arrow pointing at something)

Everyone needs to build one of these displays so I can spend my time writing games for it.
@ancientjames the problem with rotary type displays is that you can't have anything in the middle 🤔 the reciprocating display type would handle it better bit I guess it would be louder
@ancientjames the Lander demo is one of the cornerstones from my childhood that got me into programming games so this image is hitting me right in the feels

@ancientjames
I reckon you would sell a run of 100 in no time, maybe 1000, perhaps more.

Perhaps a batch of 10 first for debugging.

The old vector graphics arcade game Tempest might translate well to your display.

@ancientjames I was looking at building one in the local nerdspace when I saw you have a github, but stopped since there’s no software (no criticism, we all admire your work)
@subROV I’m going to put the software on github but I’m making an explanatory video to go with it.
@ancientjames I involuntarily made a surprised face when reading this - maybe a have a future as a content creator.
@jonbro The market for reacts videos is wide open at the moment. So many things going unreacted to.
@ancientjames I didn't start following this project until recently but it's been super inspiring for me and I really appreciate the effort you have put into sharing it with us. It's fantastic.
@ancientjames haha, you've reached the uncanny valley now where I think you are showing me a 3d render of the product.
@jonbro There's definitely a sweet spot of realistically scrappy but not too shitty, which I keep missing
@ancientjames absolutely gorgeous work! 🧡

@ancientjames Ooh, this all looks quite nice!

In the unlikely event you have an Xbox Kinect laying around, or a Pixel 4/Pixel 4 XL, I bet it would pair quite well as a realtime source for your display, e.g. https://research.google/blog/udepth-real-time-3d-depth-sensing-on-the-pixel-4/

uDepth: Real-time 3D Depth Sensing on the Pixel 4

Posted by Michael Schoenberg, uDepth Software Lead and Adarsh Kowdle, uDepth Hardware/Systems Lead, Google Research The ability to determine 3D i...

@ancientjames
Holy shit it looks even better close up like that
@jonny @ancientjames Agreed. This looks awesome. Showed it to our teenager and he wants to know where we can buy one. 😅
@tsturm @jonny @ancientjames
You can buy one voxon.co with 5k$.
@ancientjames it’s really hard not to think you’re moving the camera around, that’s a bit uncanny
@ancientjames Kinda want to see what happens if you feed it a live stream of itself. Figure there's a 90% chance the image just collapses into garbage, but it might be cool.
@varx I did try that! The depth camera isn't fooled for a second, and you just see snapshots of the panel at various angles inside the dome.
@ancientjames Do you think this could be done with an OLED screen? Too fragile?
@hjhja45yaejsgjmf a fast oled refreshes at a few hundred fps, this needs a few thousand. You could make it work, but it wouldn't have the same density of voxels.
@ancientjames Try making a 3d version of the Crab Rave video

@ancientjames it was probably asked 10 times already but:

is the display opaque? If so, does that mean you have to display each column twice, once for viewing from ahead of the rotation and once for viewing from behind?

@wolf480pl that’s right - the left side lights up in the leading direction, the right side lights up the trailing direction.
Since the light from each led falls off when they’re edge on, that leaves a dark line right through the centre of view. The trick I’m pleased with in this latest design is that there’s another panel facing the other way, but offset from the axis. This means each voxel is actually visited 4 times from 4 different angles, filling in the gap (& improving refresh & brightness)
@ancientjames does the axis go through the surface of one of the panels, or do you have a dead zone in the very center of the volume?
@wolf480pl one panel is on the axis. The whole volume can be addressed, but there’s a region in the centre that only gets visited by one of the panels.
In the video above, the green doom guy has one foot right in the centre of rotation. You might be able to see that there’s a dark sector in the floor there, where the second panel isn’t able to provide the extra coverage.

@ancientjames Have you considered adding a diffuser sheet to the panel to give pixels more volume or it would be a bad idea?

For example:
https://marc.merlins.org/perso/electronics/post_2019-04-09_Trying-Diffusers-for-RGB-Panels-run-by-SmartMatrix_GFX.html

Edit: Just found your previous posts and that coating idea would indeed be better.

https://mastodon.social/@Cqoicebordel/111941336507268924

Marc's Blog: electronics - Trying Diffusers for RGB Panels run by SmartMatrix::GFX

@ancientjames that's what people have second channels for I think :p
@ferrix I'm all second channel.