Phalox log

Everyday projects

You are not logged in.


Welcome to this project log. This website is still under development, please report any bugs to webmaster_at_phalox*dot*be.

#1 11-07-2012 14:57:05
Poster: phalox

DMX transmitter

Project: DMX transmitter

The last couple of days I have been working on a stand-alone DMX transmitter. Follow the progress here

First a picture
On the right, you see a PIC24FJ64GA002 (16 bit series of Microchip). If you want to get started with such a PIC, I refer you to this great website. On top of the datasheets provided per PIC, there is also a general set of notes about the 24F series, containing examples in C code.

To the left, you see a MAX3485, soldered Dead-Bug style on a piece of PCB. I only had the SMD versions and I didn't want to wait for an order, so this does the job very well. And, in fact that's about it for a DMX transmitter! On the top, you see three LED strips with a DMX receiver backpack that I made.

Here is a video of what it can do at the moment:

The 'frames' that you see in this video, are currently hard-coded in a 3 dimensional array:


uint8_t dmx_rotation[][3][3] = {
        {255, 0, 0},
        {0, 255, 0},
        {0, 0, 255}
        {125, 0, 125},
        {0, 0, 0},
        {125, 0, 125}
        {0, 0, 255},
        {0, 255, 0},
        {255, 0, 0}

Every frame contains a 3*3 array, one row is assigned to one LED strip, and 1 column is connected to an R, G or B pin. By adding more frames, the lights will display other patterns.


    /* Configure timer 2 */
    //PR2 = 0x056A;

    IPC1bits.T2IP = 2;     //set interrupt priority
    IFS0bits.T2IF = 0;     //reset interrupt flag
    IEC0bits.T2IE = 1;     //turn on the timer1 interrupt
    T2CONbits.TCKPS = 0b11; // Set prescaler to 1:256
    T2CONbits.TON = 1;   //turn ON the timer

The speed can be adjusted by changing parameters for Timer2. The clock prescaler can be changed from 1:1 to 1:256, and a 16 bit preload value can be used to increase the speed.

If you're curious about the entire code at this moment, have a look here: (It seems something in my code is breaking the parsing of the entire post)

Last edited by phalox (11-07-2012 15:06:31)


#2  03-04-2013 03:56:54


Re: DMX transmitter … 17451.html    floor length one shoulder dress empire waist lf 17451 … c2054.html    floor length one shoulder dress one shoulder at ac2054 … -7478.html    floor length one shoulder dress one shoulder dj 7478 … -7564.html    floor length one shoulder dress one shoulder dj 7564 … p1621.html    floor length one shoulder dress one shoulder fl p1621 … 17451.html    floor length one shoulder dress one shoulder lf 17451


#3  24-04-2013 02:37:08


Re: DMX transmitter


Board footer

Powered by FluxBB