Arduboy parallax 3d

Hey, so I’m gonna (hopefully) have 2 working transparent oleds soon…

Anyone who has made a 3d game for arduboy, able to help make a perspective shift run on a second screen somehow?

Virtual boy style x google glass?

Running two displays off one controller might be difficult, but I could connect two 32u4 up via serial channel so they are synchronized. Actually I think networked of the damned might be a good fit for this, if the code was modified to just put the two views just offset from each other.

But starduino might be pretty cool too!


Ping @jhhoward and @rv6502

1 Like

This one is gonna be quite fun too :smiley:

What’s the plan here? To make these into a sort of AR goggles with one display per lens?

Do you have a plan for how you are going to handle the optics / focus for the displays?

In terms of networked rendering setup: the way that Network of the Damned works is to communicate the button state of players each frame and then each Arduboy steps the game at the same rate. Probably a more suitable way to do it with stereo rendering is to have a host / client configuration where the host works out what to draw and communicates the minimal amount of data needed to render a frame. e.g. for a traditional rasteriser, a list of triangle vertices. Then the CPU + RAM intense parts (rasterising) can be shared across the two micro controllers.

A simple wire frame rendering might work well for this and would be relatively easy to get up and running.

If you want to make something really cool then add an IMU / gyro and do some basic 3DoF head tracking :smiley:

1 Like

Dragonball ‘scouter’ confirmed.


It’s not exactly 3D but this could probably be done with Dark & Under using parallax-based methods.

But it depends on what the actual setup is like, how much memory is available, and how the hell one goes about calculating (and possibly calibrating) the necessary offsets.

Theoretically it might be possible to create an API that has a concept of ‘layers’ and will correctly offset each layer, but getting it into a state that’s usable and effective would probably require a fairly complex amount of maths.

1 Like

If you have a spare gpio and it’s acceptable to halve the frame rate you just wire them in parallel with separate chip selects so you address them sequentially. The main problem will probably be RAM though depending on if/how arduboy buffers the display (I honestly haven’t taken a look into it so I have no idea).

Shwing, as an Ardubouy and VB owner. I’d love to see this.

Doable, yes. but that will be extremely painful.

The 3DS with 400 pixels wide for each eyes was bad enough, 128 pixels will be extremely coarse.

The parallax effect will be limited to a granularity of about 20 meters which is terrible for stuff coming toward the user. It’s headache-inducing.

It would work for 2D backgrounds if they’re depth-faked at a fixed pixel offset.

Something like Shadow Runner would work.

Yes, I mean it’s mostly a joke/meme but… Curious how it would turn out.

No, it probably won’t be focused but I’d like to see what it’s like maybe I could try to put some crazy glasses in front of them.

Just curious if anyone had any ideas for the code side of it for something that I could try out proof of concept, just to see what it’s like.

Gonna try and get them up and running today.

Ya I figure, but, should be worth some lol’s

If you had enough of these transparent displays could you stack them together and make something like the looking glass holographic display? Each display renders a ‘depth slice’ of the 3d model


The dude who got me back on this project has that planned I’ll leave it to him:

I wanna make some glasses.

I need to make some flex extension cables (thank jeebus for oshpark flex) and figure out my own driver board.

I guess each side of the glasses will be its own mcu and power supply, probably talking over serial. I dunno maybe having both displays on one controller would be easier from a code perspective? But mechanically it will be easy to have them separate only need 3 wires to connect them

Syncing the inputs and lock-stepping is easy enough.
Giving the view-matrix an offset shouldn’t be a problem either.

The 2D background is at “infinity” so I don’t need to mess with it.

Is it SPI and what’s the LED controller model?
Gotta check the byte orientation if it’s possible to set it to 64x128 sideways.

It’s easy to rotate the 3D rasteriser with the camera’s view matrix but the UI and background is much more work.

Add a gyro for turning in networked of the damned and you got yourself a 32u4-based VR headset.


I hope this thing works!

My head is too wide, need to go wider.

Also going to try to make the frames a little thinner, but I need room to affix the displays.


Now all that’s missing is a pipe and maybe a white coat :grin:

1 Like

I am thinking about putting small pictures in paper on the other side of the transparent screen, and we have something like the old overlays of the Magnavox Odyssey (those you put directly on the TV screen). Those pictures could be printed and shared on Internet, but also handmade drawings or paintings inserted in the device. A new creation range!


Thats a cool idea!