3 signals through 1 digital port

Hello, I am currently trying to use an ESP8266 -01, Arduino Uno, and servo-motor together. I need the ESP8266 to send 3 signals to the Arduino Uno (Off, Forward, Reverse) through 1 digital pin. The ESP8266 -01 only has 2 GPIO pins, both of which are digital, and I require one of them to be used as an input for a reset button. Is there any software solution that allows me to use this 1 digital pin to send 3 signals? I considered measuring the time between signals to allow the Uno to understand what is being sent, but a high output from the ESP8266 is not always steady when received on the Uno (i.e. the Uno will sometimes receive flicker of a low reading when digital read is called). I also tried running the servo off the ESP8266 but it does not support PWM signals. Any help is much appreciated.

I assume you're connecting your Arduino to the TX/RX for your network communication. Use that.

One digital pin can produce pulses of any length.

You could choose short = off, medium = forward, long = reverse and so on. That is how standard servos work.

I am not using rx/tx and the problem with the timed pulse is that the signal sometimes flickers so a long pulse may appear like 2 short pulses

Either I don't understand the problem, or you don't understand your module. Can't tell which it is.

The ESP-01 has four digital I/O (GPIO0, 1, 2 and 3) and a separate reset pin marked RST. Pins 1 and 3 are marked TX and RX repectively, but they are really just regular digital pins.

You say you don't use RX/TX but you do want to connect a reset button.

So for you, the reset button goes to the RST pin (between RST and GND) and then you still have four GPIO available for your three digital inputs.

I am using GPIO 0 to reset certain functions only. I didn't realize RX and TX could be used as digital pins, that solves my problem. Thanks

By the way as you have three signals, you can easily route them through two digital ports, just use the two ports as digital number. Keeps one more pin free for other functions (or with three pins, you can send seven commands this way).
LOW, LOW = 0
LOW, HIGH = 1
HIGH, LOW = 2
HIGH, HIGH = 3

Why not use the ESP-01's Rx and Tx for a serial connection with a SoftwareSerial port on the Arduino? Or just use Tx if you only need 1-way communication?

...R

Thanks for the help, I'll consider using RX and TX for future projects, and I agree to route the 3 signals through 2 digital ports