To bind the drone's built-in SPI receiver (i.e. TinyHawk v2, TinyHawk S, TinyHawk Freestyle) using D16 protocol, you must first change its receiver protocol. In Betaflight Configurator, go to the Configuration tab on the left column, change "Frsky_D" protocol to "Frsky_X" protocol, and click the "Save and Reboot" button.
Binding with Bind Button
Next, plug in a charged lipo battery to the drone. The next step is easier if the battery is hanging free, out of the battery mount. Using a non-metallic object, hold the Bind button on the bottom of the main board for several seconds. Bind your radio transmitter in D16 mode. Keep the transmitter at least 5 feet away from the drone to allow for proper binding. Unplug the lipo battery from the drone. Turn off the transmitter. Congratulations, everything is now ready to be powered up for flight!
Binding via CLI Commands (for newer ACCESS-based radios)
Use this if forced to bind in D16 (i.e. newer ACCESS-based FrSky radios, but with ACCST16 firmware update). First, change the receiver protocol in the Configurations tab of Betaflight to SPI-based receiver, Frsky_X protocol (which is for D16; the default is Frsky_D for D8). Next, try using CLI commands to bind. Enter into the CLI, "bind_rx" (for 4.1.x firmware) or "bind_rx_spi" (for 4.0.x firmware) to get into binding mode. Activate the bind function in the transmitter in D16 protocol. The drone's LED's may not change back to blinking, but continue. Then enter into the CLI, "set frsky_x_rx_num". If the rx/receiver number changed to the number that matches the receiver number shown on your transmitter, then the bind was successful. Finally, enter into the CLI, "save". Upon the next reboot the SPI receiver should connect with your transmitter.
* If the above does not work, please reach out to FrSky support for further assistance with their new radios and compatibility issues.