void setup() {
pinMode(3, OUTPUT); //DIR
pinMode(4, OUTPUT); //STEP
}
void loop() {
uint8_t binary = (micros() >> 12) & 3;
uint8_t gray = binary ^ (binary >> 1);
uint8_t A = gray & 1;
uint8_t B = gray >> 1 & 1;
digitalWrite(3, A);
digitalWrite(4, B);
}