Sad to report I just wasted one month of my free time chasing down a problem getting my 7x5b v3 board to work. The busy signal is corrupt. It has some sort of other signal on it that is stopping it from going up to make a legitimate logic 1. Once the first command hits the board, busy is messed up from there onwards. The conflicting signal looks like one of the internal signals that run the display. But all is not lost. You have to change the busy pin to be read from an a2d converter and look for any signal that is above 1.v to declare a logic ‘1’ on return. Fixed it and everything now works.
I don’t even need “timers” which people have put in. Here’s the problem with timer code. If you time out too quick and send a command while it was truly busy, the controller jams up . Yuck.
Have fun.