You should make it so you can't move towards a wall you're already touching. This prevents players from accidentally wasting a move when they don't move at all.
Difficulty is also very high. This is mainly because there's a lot on the screen, and many blocks are misleading. But that's the point, I'm assuming, that you'd need to figure out what isn't useful and what is useful. Took me an hour to finish the game at 90%ish completion. It's also a bit difficult preparing for moves that are very far away. There was one case where I thought one solution was viable, but I was 1 block off. Took me a good 15 minutes to realize it wasn't going to work.
When acquiring the red block, it trivializes the rest of the game. It's also tedious to time your stops precisely, and the camera and the block also jitters a bit if you stop outside of a snapped grid. I think you should have it so that red blocks are collected like the regular blocks and your stops become limited by how many reds you collect. Doing this means difficulty spikes to (limited moves * limited stops).
Overall, very fun and also very hard. Could be too hard though, if I were to give it a difficulty rating 0-10, 0 being easy as breathing, 10 being no one should even try to touch it, it would be a 6.