I don't much care for the usual models of hypercubes. Can I do better?
Most models use topological cubes. The eight cubes which are the faces each have eight verticies and six sides, but that's it. That's not so bad. What really bothers me is that the topo cubes change shape as the cube rotates. The rotations are elastic. Is it possible to do it with a rigid rotation?
Yes. The trick is to use two solid tetrahedra. There is a rule that they always rotate in exactly the same way. The only difference is their initial position. We'll get to that soon, but for now note that two tetrahedra have a total of eight faces. Each face corresponds to one of the hypercube. We will arrange the two tetrahedra so that each face has six neighbors, just like a hypercube, and rotates in more or less the same way.
Start by holding a tetrahedron in such a way that only one face can be seen. Our modeling rule is that we can "see" a face only if it is perpendicular to us. We can't see it at an angle. So hold it with one face perpendicular to you. You can "see" that face.
Take the next tetra and hold it so that you are looking at the pointy end. One face will be distal. Our second rule is that this distal face on the second terta is considered to be the opposite face from the first. You can't see the opposite face at all.
Hold that second tetra in a way that is as opposite as possible as the first. If the first tetra had a horizontal edge at the bottom, the second tetra should be held with a horizontal edge at the top.
Now let's find the first plane of rotation of 4D. The first, rather humdrum one is to "barrel roll" each tetrahedron so that on the first the same face always stays in view, on the second you are always staring at a pointy corner. Not very exciting.
Next are the other three of the the four basic planes of rotation of a 4D cube. Consider a triangle. Three planes may be found by drawing a line from a vertex to the center of the opposite side. Choose one of those three planes. Rotate the two tetras in that plane. (Well, not really in the same plane, but you get the idea. Just rotate them the same way.) The sides will appear in the correct order: neighboring side, opposite side, anti-neighboring side, original. Two of the sides will appear on one of the tetras, the other two sides on the other.
I made some tetrahedra and found it it was difficult to do this. Hands and arms just aren't built for it, and you can't rest the tetras on a flat surface very well. They are required to have opposite orientation, so at least one will fall over once you let go of it.
Hypercube topology with a rigid 3D rotation! It might be possible to extend to arbitrary planes of rotation via some tinkering with the rules. But can't be bothered to investigate this right now.
As a historical note, the oldest known board game from 3000 BC used four tetrahedral dice. On each die, two of the verticies were colored. Each die counts one if a colored vertex is up, else zero. You may roll a number from zero to four, with two the most likely.