Top
Best
New

Posted by chris_overseas 2 days ago

S.A.R.C.A.S.M: Slightly Annoying Rubik's Cube Automatic Solving Machine(github.com)
272 points | 56 comments
vindar79 1 day ago|
Hi all. I just found this thread. I'm the creator of SARCASM. Thanks to the OP for sharing. I spent many hours on this build but it was a lot of fun. I'm happy to see that others are enjoying it also :-)

If you're interested in the technical side, I wrote detailed posts on the hardware and software on the Teensy forum: https://forum.pjrc.com/index.php?threads/sarcasm-an-over-eng...

hermitcrab 1 day ago||
Very cool. I remember being the first kid at school to have a Rubiks cube, in the 70s (I read about it in Omni magazine). I had no idea how to solve it. I sent off for a booklet about solving it. I got back a booklet about group theory, far beyond my teenage brain.
ugh123 1 day ago|||
I think this is an amazing all around build combining the physical mechanics for solving (a relatively understood problem in rubik's robot solving scene) but along with the graphics integration and some real personality from the bot avatar that gave me quite a few laughs. Well done!
shmeeed 1 day ago|||
I love how you approached the problem and perfectioned the "product" in all aspects. There's so many playful details that could easily go unnoticed! You're impressively resourceful, and one can tell this was a work of love.

I wish I could buy something like it as a DIY set, just to own it, admire it, show it to people, and have everybody be in awe of your work. What a time to be alive that stuff like this is in reach of a sufficiently dedicated hobbyist!

ramses0 1 day ago|||
This makes me want to teleport it back to the 1920s, enclose it in glass and charge people a nickel to use it! You'd be rich!
ewalk153 1 day ago|||
Can you post the STL files for the shell and Arms?

Great project.

vindar79 1 day ago||
Sure. I will add them on github later today. The repo is currently in a very messy state. I would like to clean it and provide detailled assembly steps but I have to much work currently. Hopefully I can do this in a couple of months.
vindar79 1 day ago||
Done. Added stl files to the repo.
scrollaway 1 day ago||
> I'm the creator of SARCASM.

Glad I’m not the only one who sometimes justifies spending time on project purely because of the name I can give to them.

vindar79 1 day ago||
hehe, it was indeed a major motivation :-)
nneonneo 2 days ago||
Related - there's a Guinness record for the fastest Rubik's cube solving robot; it stands at 103 milliseconds:

https://www.youtube.com/shorts/ue2gZ2vxs48

https://engineering.purdue.edu/ECE/News/2025/purdue-ece-stud...

adrianN 1 day ago||
I wonder how many cubes they exploded in the making of that robot
hermitcrab 1 day ago|||
Impressive and a bit mad.
hammock 2 days ago||
Robotic solver is more of a physical problem than a mental one. A photo of the cube from top and bottom corners and you can solve it in a nanosecond
teiferer 1 day ago||
First, you still need to optimize the solution to fit the constraints of mechanical solving. It needs to be as few moves as possible, some of them are parallelizable, etc. Not a trivial problem.

Second, nanosecond? You know that a GHz CPU does a single clock tick in one nanosecond, right?

rossant 1 day ago|||
Maybe there's a new instruction we don't know about in modern CPUs, like RUBIK_SOLVE or something.
SwiftyBug 1 day ago||
I mean, we've had RUN_DOOM for many years now, so why not?
amypetrik8 1 day ago||
yes, in python either 1) "import doom" or 2) "from rubik import cube"
Tempest1981 1 day ago|||
They probably meant millisecond
derac 2 days ago||
The aesthetics of this are great. Nice job.

Demo: https://youtube.com/shorts/Xer4mPZZH8E

boneitis 2 days ago|
This is absolutely the most charming thing I've seen in a hot minute.

For anyone also thoroughly enchanted like me, there is an additional, longer demo:

https://www.youtube.com/watch?v=WV52RtuWXk0

Living in software land, I do wonder how hard is the undertaking to build one of my own.

As a hobbyist cuber, this project reeks of icebreaking potential for the rest of the times I'm not actively solving -- leave it on my desk next to a cube... random coworker walks by, sees and grabs the cube, shuffles it, and chucks it into the SARCASM machine, enjoys a minute of novelty, ????, profit!

noman-land 2 days ago||
I want an automatic scrambling machine, not an automatic solving machine. Two cubes. While you're solving one, the other one is being scrambled. Cubers spend way more time scrambling than solving. Scrambling is the annoying part that needs automating.
alejo 2 days ago||
This is in my mind the hardest part as well.

I can solve the cube with the regular “easy” 3-layer approach, but I’d like to solve it faster.

The issue is that the techniques for fast solving require to learn many different patterns to get to the right solution fast.

I don’t know really how ppl that solve it fast accomplish getting to that level, but to me it would be amazing if i could just set the cube in know scrambled states that let me practice and memorize specific algorithms repeatedly until I learn them.

The problem is that I don’t know enough yet to distinguish which are those initial states, let alone setting the cube in that state, so something that could set it up for me to practice would be amazing

0x264 1 day ago||
> I don’t know really how ppl that solve it fast accomplish getting to that level

Just like everything else in life, they do it really slow and with lots and lots and lots of errors at first, but (and this is where the magic happens) keep doing it, training hours a day or their entire week ends, for years.

LVB 2 days ago|||
I’m completely not in this space but your comment had me wondering: are there digital cube faces? That is, a real physical cube but with faces that can instantly be set to a given color?
apple1417 2 days ago|||
They exist, but one of the problems is they're not particularly good cubes. While it might help you learn the basics, not being able to handle it like a speedcube means they're probably not going to help you get faster.

https://m.youtube.com/watch?v=l-TWH5W-1fw

https://exmarscube.com/product/ex-mars-ai-robot-cube/

That being said, while looking up those links, I found out that, since I got out of the hobby, smart cubes have become a thing, and are made by real speedcube manufacturers.

https://www.gancube.com/products/gan-356-i-carry-smart-magic...

This is an easier problem to solve. I'm not sure if you have to solve it first or if it can identify pieces on power up, but after that it's just tracking rotations, which can be done from the (fixed position) centres alone. But if an actual speedcube manufacturer can already fit those electronics in without comprising performance, I can't imagine it's that much harder to fit some addressable LEDs on some slip-ring-esque connections. Must just not be much of a market.

sunnybeetroot 2 days ago|||
This is a great question! Doesn’t seem like it’d be hard to make if it doesn’t already exist
rplnt 1 day ago|||
At least until a certain level, scrambling (according to a given "algorithm") is a good way to practice moves. It shouldn't take much longer than a solution either, you are not solving the cube in under 30 moves. And if you don't care about the scramble it's even faster. So I don't think the "way more time" is entirely accurate. It may feel like it though.
dullcrisp 2 days ago||
Can’t you just run the solving machine in reverse?
schiffern 2 days ago|||
Yeah, it's just a software change to the existing machine. If you generate a target scrambled state it's literally the solver algorithm in reverse too.

It would be neat if it offered to scramble when you insert an already solved cube (demoed in the video), and maybe have options for the amount of randomness.

Is there an unbiased scrambling (or random generation) algorithm, or is it enough to just generate N random moves?

schiffern 1 day ago||
To answer my own question, competitive cubing uses unbiased randomization algorithms.[0] To minimize scrambling time, it could fairly generate a random configuration and then optimally scramble the cube in ~18 moves.[1]

TL;DR fair scrambling is exactly as fast (same throughout) as solving random cubes! Neat.

[0] https://www.cubelelo.com/blogs/cubing/how-to-scramble-a-rubi...

[1] https://en.wikipedia.org/wiki/Optimal_solutions_for_the_Rubi...

noman-land 2 days ago|||
You can but it doesn't need to be smart at all. It doesn't need cameras. It's a much simpler machine.
boneitis 2 days ago|||
Funny enough, that (e: the shuffle function mentioned in original thread post, just realized my awkward comment placement) sounds like a very reasonable stretch goal/feature add-on, although I'm not sure this particular machine could shuffle quickly enough for speedcuber types.
rplnt 1 day ago|||
It needs to be somewhat smart, if you want to track your scrambles and times. But yes, it doesn't need cameras if it trusts you.
chris_overseas 2 days ago||
There's a lot more detail describing the project in a couple of forum posts here: https://forum.pjrc.com/index.php?threads/sarcasm-an-over-eng...
xiaoyu2006 2 days ago||
I think you built a rubik cube solving machine just to show-case your acronym ;-) Super cool work.
klaudioz 1 day ago||
Cool!!, I've created this one 16 years ago: https://www.youtube.com/watch?v=bkWLQZgi9uE

I can see very similar movements this robot is doing compared to my old robot. I really like the screen outputs of it.

teunlao 2 days ago||
SARCASM: the only acronym worth building hardware for
zkmon 1 day ago||
Solving a cube has two parts, determining the moves and making the moves. For humans these two activities happen mostly in parallel. For robots, moves were already determined before the start. So the time taken is merely all about speed of move making.
shmeeed 2 days ago|
This is a hot contender for the Most Awesome Thing I Saw On The Internet In 2025. Incredible work!
More comments...