Page 1 of 2 12 LastLast
Results 1 to 10 of 16

Thread: Arduino GE G-35 Multi-String Controller Code

  1. #1

    Default Arduino GE G-35 Multi-String Controller Code

    I've written some arduino code that can control multiple GE G-35 strings at once. It can control 8 at the same time (provided they're all on the same port). It takes around 920 usec to update 1-8 lights. So it could update 400 lights at the frequency 21 Hz (if my calculations are correct). Of course, if you need to use multiple ports, the frequency decreases exponentially. Although, normally, you do the updates to multiple ports simultaneously, rather than update all 50 lights on one port and then update the next port.

    The first is a common library:

    GECEWriter

    It should go into your <Arduino Projects Dir>/libraries directory. And it contains code to actually send signals. As well as some code for parallelizing updates. You basically specify the program to run for a particular string of lights (track) and the framework will execute it in parallel.

    The second is an example program with some simple animations:

    GECELights

    This uses the above library and executes some programs on the attached strings of lights.

    Finally, there is a en ethernet UDP controller:

    GECERemote

    This code listens to UDP messages in my custom format (number of commands byes (1 <= X <= 8), followed by 5 * X bytes commands, each of which is pin (track) number, followed by 4 bytes (32 bits) light command. 26 lower bits out of 32 are used and are the same as GE control protocol 26 bits.

    Because this involves a UDP read, it lowers update rate. Safe margin is 1.2ms per port, which brings refresh rate down to 16 Hz. There is not much I can do about UDP read delay, of course, but I can potentially change it to read multiple ports update in one message. So for instance, updates to 3 ports will take 3ms rather than 3.6ms.

    I also have Java based controller that I'm planning to use to send commands to the above program (GECERemote). I haven't put it into git yet but if there's interest, I will do it.

    I'd appreciate some opinions, comments, etc. Thanks.

  2. #2
    Join Date
    Aug 2008
    Location
    Columbus, OH
    Posts
    1,820

    Default Re: Arduino GE G-35 Multi-String Controller Code

    This is great, I can use this with indoor lights !

    What version of arduino did you build this on?

  3. #3
    Join Date
    Dec 2010
    Location
    Oceanside, CA
    Posts
    2,094

    Default Re: Arduino GE G-35 Multi-String Controller Code

    Another question... How are you guys hooking up your light strings?

    I have a few sets and have done some tinkering w/ my arduino uno, but haven't had enough time to do much. I'm still trying to figure out the best way for me to get everything going outside.
    The perfect is the enemy of the good. -Voltaire

    Click here to show/hide my display details ...

  4. #4
    Join Date
    Nov 2010
    Location
    Livermore, CA
    Posts
    1,000

    Default Re: Arduino GE G-35 Multi-String Controller Code

    Pretty cool, ya had my stings working with the arduino last year (basic instructions), but I like that you have taken it further.

    Although I'll use the pixel controller this year, I do have other ideas that the arduino/code would be good for (outside landscape lighting)

  5. #5

    Default Re: Arduino GE G-35 Multi-String Controller Code

    I've built it using Uno but it should work with Mega too.

    As far as hooking it up, if you're referring to running power and such, I haven't finalized it myself yet. Since it's for my own house rather than some commercial installation, I'm tempted to just run power through one long wire and keep power supply and arduino indoor. I've done some testes with running power through 100' of 14/2 landscape wire and running data through 80' of CAT5 and it seemed to work in my test environment. So I figured I'll try it and if I have any issues, I'll change the power supply to 12v and add voltage converter.

    As far as physically connecting the strings, I've ordered 4 core waterproof plugs from Ray Wu and will use those to have removable connections. Got 4 core in case I need to switch to RS-485.

    Quote Originally Posted by Materdaddy View Post
    Another question... How are you guys hooking up your light strings?

    I have a few sets and have done some tinkering w/ my arduino uno, but haven't had enough time to do much. I'm still trying to figure out the best way for me to get everything going outside.

  6. #6
    Join Date
    Dec 2010
    Location
    Oceanside, CA
    Posts
    2,094

    Default Re: Arduino GE G-35 Multi-String Controller Code

    Quote Originally Posted by firstone View Post
    I've built it using Uno but it should work with Mega too.

    As far as hooking it up, if you're referring to running power and such, I haven't finalized it myself yet. Since it's for my own house rather than some commercial installation, I'm tempted to just run power through one long wire and keep power supply and arduino indoor. I've done some testes with running power through 100' of 14/2 landscape wire and running data through 80' of CAT5 and it seemed to work in my test environment. So I figured I'll try it and if I have any issues, I'll change the power supply to 12v and add voltage converter.

    As far as physically connecting the strings, I've ordered 4 core waterproof plugs from Ray Wu and will use those to have removable connections. Got 4 core in case I need to switch to RS-485.
    These?
    http://www.aliexpress.com/fm-store/7...nd-female.html

    I ordered a few sets of those a few days ago as well. I ordered 4-core not just because I might switch to RS-485, although that's a good reason. I ordered 4-core because they're slightly cheaper than the 3-core ones I previously found.

    I am hoping that I can somehow "waterproof" (heat shrink/hot glue/etc.) the connections to my strings, but if you get yours figured out, I'd love to see pictures.

    Thanks for the reply!
    The perfect is the enemy of the good. -Voltaire

    Click here to show/hide my display details ...

  7. #7

    Default Re: Arduino GE G-35 Multi-String Controller Code

    Yeah, those are the ones I got. His 3 core are actually a bit cheaper but no big deal.

    I haven't actually used them yet but but I'm planing to use heat shrink. I figured one tube per wire and larger one on top should do the job. I don't know when I'm going to get it done but I will certainly post a picture when I'm done.

  8. #8

    Default Re: Arduino GE G-35 Multi-String Controller Code

    Great work. I have a few sets I picked up after last year but havn't done anything with them at all. They're still in the boxes. Not enough time....

  9. #9

    Default Re: Arduino GE G-35 Multi-String Controller Code

    A little update on my project. The good news is that the basic functionality is very stable. You can easily write updates to multiple stings of lights in a single write (up to 8 max). In fact, you can just take 3 classes from my project and write commands.

    Now for the bad news. The final stage of my project was to add E1.31 and control Arduino by some sequencer. Kinda to have E680 equivalent on Arduino. Well, I've finally finished the code and have it working but the project has failed miserably. Arduino is just way too slow for it. Unfortunately, the slowest part is a network read. I've estimated it to be around 12 usec per character (+ 190 usec overhead). So even a short E1.31 message at 172 bytes takes over 2000 usec to read. Add 900 usec writing delay and it takes a whooping 3000 usec, or 3ms. Way too slow. If anyone is interested, I can make E1.31 code available but it's really not useable. Perhaps when Arduino Due comes out, it might bring things back into useable territory.

    The second problem I've found is that GE lights seems to be very sensitive to the voltage. I've tried to control them with a different power supply, which gets max of 5.42v and it doesn't work. Apparently, it really does require around 5.6v. So I guess I'm just going to give up on a unified power supply and just use the supplied ones and run power extension cords to the roof. The alternative would be to use 12v and step down to 5.6v but that would require a variable voltage converter and it's probably more work than I want to invest into it at this point.

  10. #10
    Join Date
    Dec 2007
    Location
    Pacifica, Calif (30mins from downtown San Francisco)
    Posts
    1,512

    Default Re: Arduino GE G-35 Multi-String Controller Code

    Quote Originally Posted by firstone View Post
    Arduino is just way too slow for it.
    Yeah, I thought this might be the outcome ...

    I actually wrote a post suggesting the A would be too slow and then threw it away, because I thought I might be wrong (so often I am).

    The 16 MHz oscillator just doesn't give you much elbow room to do anything complex. You could up the speed of the crystal, but then it wouldn't run the Arduino IDE and then you may as well be using C++ and AVRDude.

    Thanks from those of us in the peanut gallery who were cheering you on.

    \dmc
    ________________________
    The only thing more dangerous than a software engineer with a soldering iron
    or a hardware engineer with a compiler is a liberal-arts major with either.
    Christmas lights: http://www.PacificaLights.info/
    uC/LED hacking: http://www.dmcole.net/

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •