Voxel based robotics platform

Be advised the content posted below is under copyright protection.

I’m going to be frank here, while this is a pipedream, I have been considering designing my own robotics system for about a decade now.

I wanted to base it off Voxels where the whole thing was symmetric. Every part conforming to an exact sized 3D grid, not unlike building in Minecraft.

Extremely early attempts looked like this and had an emphases on 3D printability.:



The system was not symettric, it had awkward holes for the nuts and bolts we know now. This created a real set of problems when designing blocks for it. Which direction should a hole point? Should it accept the bolt or nut in this direction? It was pretty nasty in that regard, and just didn’t work in a generic sense.

What I’ve come up with sense conceptually looks more like this:

Screen Shot 2020-06-06 at 3.46.37 PM

Blocks are collections of voxels that have been pre-formed. That is a 1x6 Block would be 1 x 6 voxels long and be a single part you could hold in your hand. There would be a huge collection of these just like LEGO bricks or VEX C-chan.

Each block is slightly undersized for it’s voxel. The black line represents the virtual space a voxel takes up. This allows for a few mm distance between parts while keeping to the grid which is really useful.

Here are some random prior attempts:

Screen Shot 2018-05-11 at 10.52.49 AM

Screen Shot 2018-05-11 at 10.54.10 AM

Screen Shot 2018-05-11 at 10.54.24 AM


This problem quickly becomes one of ease of use, and ease of manufacturability. Threads are $$$ so avoiding them is crucial. That’s why VEX uses stamped metal and readily available hardware in the form of 8-32 bolts and nuts. It avoids them having to ever make threads which means they can make the system fast and easy.

The LEGO style pop pin that is used in NXT, Bionicle and Tetrix is nothing short of wizardy:


And as far as I can tell, VEX IQ worked hard to develop their own that didn’t infringe upon the patents that LEGO no doubt has on that pin.

My previous naive attempts have all been overly complicated, relying on threads and such. Generally speaking putting threads on the fasteners and not the blocks makes sense as the threads are expensive, lots of blocks, small amount of threads but this doesn’t really get to the core of what I want to accomplish.

Ideally we’d have a system where blocks of arbitrary sizes, so long as they conform to the grid, could connect at any point, in any configuration to other adjacent blocks using ~some~ kind of ideally one or two part connector.

Even more ideally this would be easy to snap together, create a firm bond between the parts, later be easy to disassemble, not alter the parts in any way, etc.

Furthermore, connecting at the surface (that is using only a few mm of the block to actually make the connection) would allow one block to be connected to all six neighbors. My current attempts at a connector do not accomplish this. It “uses” the entire block to establish the connection.

So, what I’m thinking now is something like a cylindrical connector with teeth on the ends. Each face of the blocks would have an inset that these teeth could push past and lock into.

Screen Shot 2020-06-06 at 3.32.33 PM

A much fancier version of this could use ball bearings, like this robot tool changer does. That system is explained in detail at about the one minute mark of the video:

Screen Shot 2020-06-06 at 3.39.01 PM

It’s not a complicated idea, but scaling that down to a 6-8mm low cost kids toy connector is challenging - probably not feasible. So plastic fingers seem like a better, cheaper way for now.

The exact way this should latch is bugging me. I really don’t have a great answer. I suppose magnets or even spring action applying a small amount of force to hold the parts together in the direction of attachment is probably fine. The whole point of these pins is to make it easy to remove in one particular direction while making the perpendicular directions very strong., but I could see problems with this when people try to attach bars together to make longer spans.

Anyway this is just a weird idea as of yet. Working on it passively.


Looks great! Keep up the good work.


That looks absolutely amazing! Thank you so much for this.