First off thank you so much for helping me with this.
I went out and got the correct transceiver this morning but I still can't seem to get it working.
Here's a schematic and image to make sure I'm following along correctly.


I added a little bit of code to print out the error stats
Code:
#include <TeensyDMX.h>
namespace teensydmx = ::qindesign::teensydmx;
teensydmx::Receiver dmxRx{Serial1};
uint8_t buf[7] {0};
uint32_t previousMillis = 0;
uint32_t currentMillis = 0;
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
Serial.println("Starting DMX receive");
dmxRx.begin();
}
void loop() {
currentMillis = millis();
if (dmxRx.readPacket(buf, 1, 7) == 7) {
digitalToggle(LED_BUILTIN);
Serial.print(currentMillis - previousMillis); Serial.print("\t");
previousMillis = currentMillis;
Serial.printf("R G B A W D C: %03d %03d %03d %03d %03d %03d %03d\n", buf[0], buf[1], buf[2], buf[3], buf[4], buf[5], buf[6]);
} else {
Serial.printf("FramingErrors: %d | PacketTimeouts: %d | ShortPackets: %d | LongPackets: %d | Connected: %d\n",
dmxRx.errorStats().framingErrorCount,
dmxRx.errorStats().packetTimeoutCount,
dmxRx.errorStats().shortPacketCount,
dmxRx.errorStats().longPacketCount,
dmxRx.connected()
);
}
}
This is what it's outputting.

In the picture it looks like you have RX connected to the DI pin and the TX connected to the RO pin but it says "connect TX to the Driver Input and RX to the Receiver Output of the transceiver" under the hardware connection section in the libraries readme. I'm probably not understanding the transceiver circuit
Edit: I think I'm understanding the transceiver circuit better.
I've tried some other serial ports incase I fried Serial1 while I was using the 5v part. I also ran some basic sketches to make sure I didn't fry the teensy too.
Thanks again