Hello everyone !
I'm new to the community and I already thank you for all the solutions I was able to find for my old projects through this forum and I hope you will be able to help me again.
I'm not an engineer, please be kind with to me
Do you think the problem comes from the module I'm using or elsewhere?
I use TeensyDMX library.
- 2x module Grove RS485 - The module uses MAX13487E chip
- 2 XLR (male & female)
- Grove cables
I'm new to the community and I already thank you for all the solutions I was able to find for my old projects through this forum and I hope you will be able to help me again.
I'm not an engineer, please be kind with to me

My Problem
I cannot send a DMX signal with my Teensy 4.1 card, I receive it very well (reading the monitor and the internal LED of the card).Do you think the problem comes from the module I'm using or elsewhere?
Needs
My project must receive DMX data from my card, analyze (algorithm) and write new DMX values out.I use TeensyDMX library.
Material
- Teensy 4.1- 2x module Grove RS485 - The module uses MAX13487E chip
- 2 XLR (male & female)
- Grove cables
Connection
XLR => Module RS485
XLR | Grove cable colors | Module Grove RS485 |
Broche 1 (GND) | Blanc | GND |
Broche 2 (Data -) | Jaune | B |
Broche 3 (Data +) | Rouge | A |
DMX-Receiver
Module Grove RS485 | Grove cable colors | E/S Teensy 4.1 |
GND | Noir | GND |
VCC | Rouge | 3.3v |
RX | Blanc | 1 (TX1) |
TX | Jaune | 0 (RX1) |
DMX-Sender
Module Grove RS485 | Grove cable colors | E/S Teensy 4.1 |
GND | Noir | GND |
VCC | Rouge | 3.3v |
RX | Blanc | 8 (TX2) |
TX | Jaune | 7 (RX2) |
DMX send test code
C++:
#include <TeensyDMX.h>
namespace teensydmx = ::qindesign::teensydmx;
// Pin for enabling or disabling the transmitter.
// This may not be needed for your hardware.
constexpr uint8_t kTXPin = 8; // Teensy 4.1 - TX2 = 8 | RX2 = 7
// RƩcepteur DMX sur Serial1
teensydmx::Receiver dmxIn{Serial1};
// Create the DMX sender on Serial2.
teensydmx::Sender dmxTx{Serial2};
void setup()
{
// Turn on the LED, for indicating activity
pinMode(LED_BUILTIN, OUTPUT);
digitalWriteFast(LED_BUILTIN, LOW);
// Set the pin that enables the transmitter; may not be needed
pinMode(kTXPin, OUTPUT);
digitalWriteFast(kTXPin, HIGH);
// Initialize the DMX sender and receiver
dmxTx.begin();
dmxIn.begin();
}
void loop()
{
// Read value
uint8_t valueDmx = dmxIn.get(65);
Serial.println(valueDmx);
if (valueDmx < 50)
{
// Switch on
dmxTx.set(15, 255);
digitalWrite(LED_BUILTIN, HIGH);
}
else
{
// Switch off
dmxTx.set(15, 0);
digitalWrite(LED_BUILTIN, LOW);
}
delay(1);
}
Last edited: