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?

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...