Partial answer: It is possible for $C_n$ if $n$ is a power of two. $C_2$ and $C_4$ are shown in the question. For larger $n$ the idea is to take a recursive construction of a Hamiltonian circuit, and fix any straight-edge trouble *locally*. Recursive constructions of Hamiltonian circuits on $C_{2^k}$ are probably well known. By "recursive" I mean it breaks the cube into 8 subcubes, recursively, until the smallest cubest are $C_2$. The key part is the "local fixing". Let $H_0$ be a recursively built Hamiltonian circuit on $C_n$ (with $n=2^k$). Look at each of its $C_2$ subcubes. Each such subcube is entered at one corner, and exited at another corner, in some direction. If the path in the subcube *turns properly* (both immediately after entering, and also immediately before exiting), we are happy with that subcube. Otherwise, we *rotate* the path in the subcube so that it turns properly. This is a *local* fix that does not affect any other parts of the Hamiltonian circuit, and fixes any straight-edge trouble associated with that subcube. Do it for all offending subcubes and you are done. The only remaining question is whether such rotation can always be done. In fact it can (will fill details here soon). Here are some examples. First, a Hamiltonian circuit on $C_8$ before and after fixing. On the left, red edges are defects (consecutive straight edges). [![enter image description here][1]][1] Then the same on $C_{16}$. Of course it is impossible to verify its correctness from the picture, but you get the idea, and the red edges again show the defects, which are fixed on the right. [![enter image description here][2]][2] [1]: https://i.sstatic.net/G3kIi.png [2]: https://i.sstatic.net/H7EBk.png