107 comments on “ColorNode

  1. Pingback: ColorNode: A drop-in GE Color Effects LED controller - Hack a Day

  2. Pingback: ColorNode: A drop-in GE Color Effects LED controller | ro-Stire

  3. I’m interested in how I can do this. I have a slightly different spin though. I don’t want to preprogram the patters but be able to control the lights individually like a dmx lighting system via ethernet or serial. So my software that manages lights can direct them what to do. Any suggestions?

  4. Pingback: ColorNode: A drop-in GE Color Effects LED controller « Gadgets « The Depot of Talk

  5. I would think that the latency of the RF link and the occasional lost/re-sent packet may limit refresh rates or prevent smooth transitions. The RF channel can support good bit rates (57.6k by default I believe) but there is a trade-off between reliable communication and bit rate and RF bandwidth and range.

  6. Pingback: ColorNode – OSHW LED string controllers « adafruit industries blog

  7. Pingback: ColorNode: A drop-in GE Color Effects LED controller | CisforComputers

  8. Pingback: Arduino + GE Color Changing Lights + new Library + printing PCB, please! | TATYANA'S COOKBOOK

  9. Do you plan on selling these boards? I’d buy one. You should look into setting up a kickstarter.com account to gauge interest and fund it before you take the plunge.

  10. +1 for offering these for sale. I’m still learning how to produce PCBs but I’m already deep into Arduino. Would love to have a handful of these in time for some early holiday hacking! I can get the parts, do assembly, etc. I just need the boards! 🙂 Any chance this might be a possibility?

  11. The Eagle files are on the website if you want to edit or produce the design. I can generate Gerber files and put them up as well if that would help. Like I mentioned on the project page, I use the DorkbotPDX PCB service. Right now, however, they are not accepting any new orders until December. There are other options (BatchPCB, Advanced Circuits, Seeed Studio Fusion PCB Service, etc.) and I have reviewed a few on the site and there is also a listing at the Adafruit site: http://www.ladyada.net/library/pcb/manufacturers.html. They have various pricing and delivery speed, which is always a trade-off. I personally do not have any stock I could provide at this time.

  12. I am looking into the possibility of getting this on Kickstarter. Unfortunately, the timing would probably be that kits wouldn’t be available until after this year’s holiday season. If you can still find the lights in the stores, I would pick up a box or two anyway. I was still able to find some in January last year at greatly discounted prices. Something else to consider as well: the yard sculptures share the same circuitry so this board can also be used with those. I have have tried it on the tree already, which I was able to get for over 50% with after-season discounts. Most consumers can’t justify the normal pricing for these strings so stores sometimes have a hard time selling their stock and they end up in the clearance aisle.

  13. Thanks Chris, I think having Gerbers would be great. Though I will admit, I am still such a newbie to this PCB process that I’m only about 90% sure what to do with the files (upload them to the fab house of my choice, I know). You’re probably like “sheesh, who is this guy?” but PCB mfg is still very much a black art to me. If you know of of any “dummies” type tutorials (“take this file and send it here with these specs,” etc.) that would be a huge help. Thanks for your patience with the n00b request and for your work on this awesome project!

  14. I subscribed to your main RSS feed so just let me know when you want to take my $. 🙂

    Nothing wrong with setting up the kickstarter for after the holidays. More “hackers” will have their hands on them once the sales kick in. And once you’ve funded the project you’d be all set to sell boards directly to the public come next season.

  15. Pingback: Electronics-Lab.com Blog » Blog Archive » ColorNode – OSHW LED string controllers

  16. Pingback: ToddFun.com » Blog Archive » G35 LED Christmas Light Review and Teardown

  17. You were advertising on another blog that the colornode was available as a drop in solution right now. But looks like that’s not the case. I just bought a box of these color effects lights and am thinking about cracking them open. It sounds to me like this solution is a triggered pre-programmed “show ” methodology, instead of a synced stream of data. I see some mention above as to why this is, because of data rate constraints, but am wondering if that might not be a better solution for a sound synced light show. Either way, do you need to use a jeelink or an arduino with an xbee, or is there another solution to sending the “trigger” to the colornode. Sorry if it sounds like I’m asking the obvious questions. Thanks for doing the footwork and thinking of how to better utilize and hack these lights.

  18. This project is a “drop-in replacement” due to the same form, fit, and similar function. Yes, it does have pre-programmed patterns which are necessary for some effects where you need to change the color on multiple bulbs simultaneously with deterministic timing. I have also added basic network streaming functions such as fades and fills and chases, but it need not be limited to just that. The idea was to have an easy, fully programmable wireless hardware interface for these strings and then just worry about writing software to make them do whatever I want. Once the PCB is installed and closed up in the box on the string, the only way to communicate with it is via another board with the same radio module (like a JeeNode) programmed to communicate with the same protocol. XBee is a different frequency and RF protocol.

  19. i know nothing about electronics but would love to buy whatever controller/board i needed to make a bunch of strings of these lights work together

  20. For those asking how to get this, I am not selling it at this time. I’m looking into the possibility of setting up a Kickstarter project, but right now the ColorNode is completely DIY. You would have to get the PCB manufactured, procure the components, assemble the board, and program the microcontroller. I have listed all the necessary info on how I made it if others want to make their own. Also, it should go without saying that a basic knowledge of electronics, microcontrollers, and embedded software programming is a prerequisite. I just want to make sure people don’t get the wrong impression about what this is and what it isn’t. Thanks for the interest!

  21. Hey, thanks for sharing this info. This is just what I need for a larger tech-art project I’m pulling together. Tho I’m not yet too PCB / Arduino electro-technically adept. I’d love to learn to how to make these myself–tho I’d also be most interested to gladly contribute to a KickStarter campaign. Please do it and let us know!

  22. I would love it if you could post gerber files. I don’t have a copy of Eagle, or any familiarity with it, and I’m not sure how long it would take me to coax it into producing gerber files that would actually work correctly when sent to a fab. (Given that December is already upon us, there’s not much time to get all this done!)

    I’d also be happy to contribute to a KickStarter campaign. Ideally, I’d like to be able to either order a board, plus all the parts, and solder it together myself, or be able to order a pre-made board. Being able to eventually order something like this from the various usual suppliers (SparkFun, Adafruit, etc.) would be wonderful.

    Thanks very much for making all of this available!

  23. The Gerber files are on the project page. The DorkbotPDX PCB order is back up if you want to submit the Gerbers there for manufacturing.

  24. Let me start out by saying, this is awesome! This is something that I’ve wanted to do for some time now and just hadn’t. With this info I’ll be able to get started fairly easily. This will be the first time for me working with this type of project, and am a newb when it comes to this. I have a couple basic questions, if I may. In what I’m looking to do, I would be installing a ColorNode into each of four strings of lights. Am I correct in thinking that I could then have a JeeNode mounted on an Arduino board that would communicate to all four strands? And that each LED would be able to be addressed individually? ie I would be able to address Strand1LED1 independent of Strand2LED1? I apologize if it’s a redundant question. Where you are more into the hardware … I’m more into the software. I know programmatically it’s a fairly trivial task, but am not sure if this hardware setup is what I’m looking for. If so, this is a brilliant solution for my task.

  25. Hi, Jason.

    Like you, I am basically a software guy, but I suspect I have more hardware experience than you do from your comments. Since I did get these working (the lights, anyway… I haven’t messed with the transceiver yet but I have read through the source code and I think I know pretty much what it does), I think I can answer some of your questions:

    1) Yes, you could have a JeeNode that did that. Or you might find it simpler to do what I’m planning to do in the next couple of days, which is use an extra ColorNode board to do it. (I ordered extra boards and parts, so I will just build an extra board and make it be my controller.) I plan to hook the extra ColorNode up to my computer via USB and have it be the remote controller for the other boards. Another option is to take an extra ColorNode board and hook up some of the extra unused pins on the processor to pushbutton switches, and add a battery, with appropriate software modifications, thus creating a handheld remote.

    Note that the software is written in such a way as to allow you to use the Arduino environment’s “Serial Monitor” feature to interactively send text commands to the controller interactively (over your USB connection to it) and receive output back from it. Those commands, if sent to the controller, generally get packaged up by it into binary packets which are sent to other nodes via the tranceiver hardware. You can also send the same text commands directly to a node when the node itself is connected via USB. I suspect that the Serial Monitor program is just basically reading and writing from “com3” or wherever the controller is connected (via a serial-over-USB software adapter), so you could probably write your own serial communication program fairly easily in Java or whatever, if you want to do fancy programmatic remote control instead of typing commands by hand.

    2) The software that this page links to (the “ColorNode code”) sends a “node address” as part of its outgoing data packets. You can compile a different node address into each of your LED strands (just change a #define each time you compile and download code). If you do that, strands other than the one you are sending to won’t attempt to acknowledge received packets or act on them if the node address in the received packet is different from the one they were compiled as.

    3) The command set that is supported by default is pretty basic, but it has support for commands like “turn all LEDs from #5 to #10 to the color red”, as well as “run pattern #3 for the next 30 seconds”.

    4) I found it useful to get an extra Arduino Uno board and use it to get my software setup debugged before I started trying to talk to an actual ColorNode. The Uno board was also helpful for letting me use my AVRISP programmer to download the Arduino bootloader onto blank chips before moving them over to a ColorNode board. Of course, if you only buy chips with the bootloader preinstalled on them, you won’t need to do this.

    5) I also found using Eclipse and the Arduino plugin to it much easier to do complex programming in than using the Arduino environment. Eclipse is a much nicer programming environment than the default one that comes with Arduino. (However, setting up Eclipse to use the Arduino plugin was nontrivial. I’ll post some of my experiences on that on the plugin page in the near future.)

    Anyway, thanks again to Paul, Darco, the JeeLabs folks, and the other contributors to this project!

  26. Jason-

    Mr. RGB did a great job explaining the control aspect of this project. I have used both a straight JeeNode and another ColorNode PCB to control the strings. The ColorNode board is really a JeeNode without any expansion headers and re-shaped to fit in the GE controller box. I suggested the JeeNode because it is a great platform for prototyping with other projects when it’s not being used as a ColorNode controller. I did a quick test yesterday to see how quickly the current controller code and RF payload structure could change individually addressed LEDs, since that seemed to be one of your desired use cases. I timed it to be about 330ms between LEDs, or the ability to toggle individual bulbs (on one string or across multiple) at a rate of 3 per second. I was using full acknowledgements to ensure proper packet delivery, so that probably slows it down a bit, but I like knowing the RF link is robust. Later I’ll also try speeding up the bitrate to se how that affects the delay times and conversely the communication range. Right now I think I have only about 50 to 100′ range, but the antennas on each ColorNode board are also not optimally placed.

    Thanks,

    Paul

  27. Thanks for all your work here, looks great. Can you point me to specs on what to use for the antenna.
    Thanks

  28. I just use a 78mm length of solid 22 AWG wire. I have the wire coming out the bottom and loop it once around the inside of the case under the board.

  29. I just received 6 colornode PCBs from DorkbotPDX. Since I still haven’t purchased my G35 strings yet, I had a quick question. Is there enough clearance in the controller box to add a DIP socket for the MCU?

    Thanks!

  30. Yes. My first couple of assemblies used the socket and then once I was confident things were working OK, I just directly soldered the chip. The nice thing about the socket is that, if you have an Arduino board, you can pop it in there for programming instead of needing something like an FTDI adapter to program the ColorNode.

  31. I have a specific project in mind that the ColorNode may be perfect for. I’ve read over this page and all comments a few times now, and yet I’m still not 100% clear on what components may be necessary for my situation. Pardon my confusion (I’m much more adept on the software side), and could just use some feedback to help wrap my head around how i might utilize the ColorNode (thanks so much for it!).

    I’m trying to figure out if it is better to go forward with the project using ColorNode, or else build something more directly with the common Arduino board, standard RGB LEDs, and wires.

    Generally, my project spec is to control 12 sets of RGB LEDs to produce unique color combinations within 12 distinctly controlled bulbs (a GE 16-light LED Christmas light set of bulbs should work fine, as I can just leave out 4 of the bulbs). I want the 12 active 12 bulbs to be controlled from my laptop (USB is totally fine, maybe even preferred for reliability, tho wireless could also work). I’m programming custom software made with Flash / ActionScript running on my laptop to control the bulbs (this is probably a separate issue of having Flash communicate with Arduino, which I am also looking into, and so should not be too relevant here). I do not necessarily need to trigger various pre-programmed fancy patterns and such (tho that could be an cool bonus), I only need to adjust the color values of each red, green, and blue LED within each uniquely designated set (changing these values with smooth transitions would be good, tho that can probably be handled directly with common Arduino programming anyway).

    So to do this with ColorNode, I would need:

    – a set of GE LED G35 Christmas Lights (of course)
    – 1 ColorNode board (manufactured thru DorkBotPDX). This replaces the GE component?
    – a JeeNode component? This is the controller that links my computer to the ColorNode? Does this also need to be ordered to be manufactured, or can I get it elsewhere? Is there a way to get around this with USB? (I do understand that ColorNode is based on JeeNode, but am node understanding why an JeeNode is needed to work with ColorNode. What exactly is the relationship between the JeeNode, the ColorNode, and the computer system?)

    Anything missing here? Any soldering involved? Or after I receive the components, is it pretty much just plug-in, program, and play?

    Sorry if I’ve asked any totally obvious questions. I’m just needing to make production decisions asap, and be more clear on the ColorNode system and processes. Thanks!

  32. Michael:

    The relationship between JeeNode and ColorNode is that a ColorNode is basically a custom JeeNode in a different form factor so that it fits in the white plastic box which is part of the GE Christmas lights (and which holds the original light-controller board before you rip it out and replace it with a ColorNode). Electrically, they’re identical other than some missing unused input/output pins that exist on the JeeNode but not on the ColorNode.

    You don’t need a JeeNode at all, as long as you make (at least) two ColorNodes, and use one as the controller (radio transmitter) connected to your computer, and the other (as a radio receiver) to attach directly to the lights and run them. Strictly speaking, if you don’t need the wireless remote control feature, you only need one ColorNode — you can just attach your computer to it directly and then send commands to it using the Arduino IDE’s ‘Serial Monitor’ feature to tell it what lights to turn on and when.

    Once you order the parts for a ColorNode, you’ll need to solder everything together. You’ll also need to solder the completed board to the existing wires of the light set.

    You’ll also need to ensure that the ATMega328P CPU that you buy for this project is pre-programmed with the Arduino bootloader (you can get pre-programmed chips from sparkfun, etc. such as here: http://www.sparkfun.com/products/10524) or you will need to ensure that you have the necessary tools to burn the bootloader onto it yourself. (This will involve an AVRISP or similar programmer, and probably an Arduino Uno or similar board which has an ISP connection for a programmer to connect to.)

    WARNING: The Bill-of-materials that Paul gives above links to chips that are NOT preprogrammed with the bootloader, so be aware that you will need to program the bootloader yourself if you order these.

    You will probably also want to have some way to download programs (not bootloaders, but your own code) onto a chip which is already attached to a ColorNode board. One way to do this is with an FTDI board (http://www.sparkfun.com/products/9873). Basically, you plug the FTDI board into the ColorNode, and plug the other end into a USB cable that connects to your computer, and then tell your software to download new code to the chip, or send serial data to the program as it runs on the chip. If you don’t want to get an FTDI board, you can just get an Arduino board at a Radio Shack or whatever, and then plug the chip into that, do the programming, and then plug the chip back into the ColorNode when you’re done programming, but having to move the chip back and forth gets old pretty quickly, so I’d recommend getting an FTDI board. (Note that there are 3.3V and 5V versions. You need the 3.3V version for ColorNode, but getting a 5V version for other projects might be a good idea also.)

    After thinking about the ColorNode project a bit, I decided to cut the wire between the white box and the lights a few inches away from the box, and solder a pair of large three-wire inline audio plug (male & female mated pair) between the two, so I can unplug the white box (containing my ColorNode) from the lights easily. That way, if I want to quickly remove the white box from the lights, take it into my house, reprogram it, then take it back outside again and plug it in again, I can do so without having to laboriously remove the whole set of lights from where they’re hanging. These audio plugs are easily available at Radio Shack and other locations selling audio equipment, and are normally used to connect components such as full-size earphones to stereo systems. (For vague consistency with other plugs, I wire the plug’s outer metal ring to the ground wire, the middle ring section to the middle (control signal) wire, and the tip to the +5V wire. If enough other people do this also, this might become a defacto standard, allowing people to swap controllers and light sets at some point in the future…)

    I hope this helps!

  33. Hi, Paul.

    After having put together a few of these, I have a few comments on the ColorNode board design. If you ever decide to put together a Kickstarter project, you might want to make a few minor changes to the board design:

    1) The pads that are used to attach the capacitors are really small. I found these difficult to hand-solder, particularly once the solder mask from the DorkBotPDX surrounded them and partially covered their edges. I would recommend making the “annular ring” around these pads a bit larger.

    2) The holes that go through the pads that are used to connect the ColorNode to the light set (+5/LED/Gnd) are very comparable in size to the stripped wires that need to go through them are (at least, for my G-36 light set). This made it quite difficult to get the wires to go through the holes. If these holes were made a little bit bigger, it would be easy to put these wires through instead of being a struggle as it currently is. The big “+5V/Gnd” holes had this problem too, although to a lesser degree.

    3) I am curious where the 78mm measurement for the antenna you use came from. Is there a site somewhere that describes how to select an appropriate antenna length and wire gauge for this RF receiver, based on intended usage, frequency, etc? I searched for one but didn’t find one.

    4) If you do a Kickstarter project, you may want to also offer a SMD version of the board as an alternative to the through-hole version. I actually find that dealing with SMD boards is easier — just smear some solder paste vaguely in the right places, position the parts over where they’re supposed to go, pop the whole board into a toaster oven or on a $20 griddle set to 400+ degrees, and things automatically seat themselves and pull themselves into place due to surface tension as the solder paste melts. A few seconds later, lift the board off of the heat, and you’re done. I was surprised once I had done this a few times to discover that soldering tiny parts via this method was actually much quicker and easier than hand-soldering larger through-hole parts was.

  34. Mr. RGB:

    Thanks so much for this feedback and all the detailed information (it really helps). I’ve already ordered a set of GE 16 lights from Home Depot, a few ColorNodes from DorkBotPDX, and am now considering exactly what other parts will be needed.

    A few more questions:

    – Is the ColorNode from DorkBotPDX a fully assembled ColorNode, or just the PCB board? (my guess is that it is only the PCB, and that I’ll have some soldering to do! As I’ve never constructed an electronics board before, it will be quite an initiatory task).

    – I now understand that (for wireless remote), 2 ColorNodes are required (or a ColorNode and a JeeNode) to be transmitter and receiver. Tho I’m not understanding how the transmitting ColorNode (or JeeNode) is supposed to connect to the computer. Unlike a standard Arduino board, I see no USB port. How does a ColorNode and/or JeeNode connect to the computer? By WiFi? If by Wifi, why not just transmit by WiFi any instructions from the computer to the light-controller ColorNode directly?

    Described differently: for my project, I’m developing custom software (running in Flash) that I want to communicate with the light-controlling ColorNode, so that certain parameters (within the Arduino program that will be uploaded to the ColorNode) can be modified on-the-fly (so my computer will be like a remote-control, be it by wireless or wires makes not much difference). Since the light-controller ColorNode has wireless functionality, can I connect to it with WiFi directly from the laptop?

    Here is a diagram as I understand (and do not understand) the system so far (I’ll only be lighting 12 of the 16 bulbs in my string):

    http://www.michaelgaio.com/lab/_misc/AION_EVA_schematic_grid2.jpg

    – I’m going to want to have about 3′ distance between each GE bulb. If some additional wire is cut and spliced between each bulb, everything should work the same, right?

    – How are the ColorNodes powered? Do I also need a 3AA or 4AA component for battery power of the ColorNode?

    – How are the lights powered? Does the GE package come with a general power source (independent of the controller)?

    By the way, really good idea of installing the audio plugs for modularity and ease of use. I’ll be sure to do that with my project.

  35. Can anyone tell me the width of the base of a GE Color Effects bulb component (if you removed the bulb casing, and just had the green part offset from the wire)? My GE lights may not arrive for another week or so, and it would really help to know this dimension now. I’m planning to remove the transparent bulb casing somehow and creating a custom casing. Also, I will need to have the entire string with each bulb component strung thru a clear acrylic tube (so need to know how big the tube will be).

    From the looks of this image, I would guess the green base is about 3cm – 4cm across?

    http://www.deepdarc.com/module/album/view/?pid=1418

    Thanks.

  36. Hi, Michael,

    The ColorNode you might get from DorkBotPDX is just a PCB board. You send them the Gerber files (see above) and they make the board(s) for you and send it back to you. What you get from them is basically what you see in the “ColorNode PCB Top” and “ColorNode PCB Bottom” photos at the top of this page. Note, by the way, that DorkBotPDX requires that you order boards in multiples of 3, so if you order through them, you will be getting 3, 6, 9, etc. boards from them, not just one.

    You then have to buy the parts separately (see Paul’s BOM (“Bill of Materials”) above, which lists part numbers and suppliers) and solder them onto the board yourself. Please note what I said before about buying Atmel CPU chips with the Arduino bootloader already installed on them, which I would strongly recommend in your case so you won’t have to also buy an AVRISP programmer and learn how to use it. By the way, I also strongly suggest that you get more parts than you need, in case you accidentally damage some parts (due to static, overheating, hooking things up backwards, etc.) when you are soldering them to boards. The parts are relatively cheap compared to the postage you will pay in getting them mailed to you, so buying extra parts for projects like this is almost always a good idea. I ordered 6 boards through DorkBotPDX, but I also ordered enough parts for 8 boards, just to have some extras in case things went wrong.

    Some possible sequences of connecting things together are:

    Computer 3.3V FTDI board (ColorNode or JeeNode) ColorNode —> lights

    or

    Computer 3.3V FTDI board (ColorNode) —> lights

    Note that the FTDI board will connect to the six pins that you can see in the “ColorNode in Enclosure” picture above. It is important to ensure that you hook it up correctly (not backwards), so be sure to look at the writing on both boards to make sure that “GND” on the FTDI board matches up with “GND” on the ColorNode when you plug it in, and be sure to check this EVERY TIME YOU PLUG IT IN so you never plug it in backwards.

    There is no WiFi involved. The wireless communication used by ColorNode/JeeNode is a different (and much simpler) wireless standard than WiFi. Your computer’s WiFi card won’t be able to communicate with it.

    The driver that will be installed on the computer (download it from SparkFun, from the FTDI board webpage I mentioned above) will tell the computer to think that the USB cable and its attached FTDI board is actually a serial port. A program on the computer, such as the Arduino IDE’s “Serial Monitor” program, can send text to this virtual “serial port” to be received by a ColorNode or JeeNode, and can likewise receive and display text that was sent from the program running on the ColorNode or JeeNode.

    Regarding power: A ColorNode or JeeNode directly connected to the computer via USB can be powered by the USB cable itself. A ColorNode put into the white [or green or whatever] box of the light set will be powered by the light set’s original 5V voltage adapter (which is connected via a plug to the box). You won’t need batteries.

    I would think that spacing out the lights 3 feet away from each other as you describe probably wouldn’t produce problems, but it’s hard to tell. There sometimes can be weird line-impedance matching problems and such when passing digital signals long distances over wires. About the only way to know is to try it. I suggest you get things working with the lights at their original distances first before making such a change.

    If you are not in general familiar with soldering or electronics, my suggestion to you would be to go to a Radio Shack store, or to their website, and order a copy of the book “Getting Started In Electronics”, by Forrest M Mims III, and read it cover to cover before you proceed. It is both short and excellently written, and will tell you pretty much everything you need to know, and it’s written at a very basic, easy-to-read level that assumes very little in background knowledge. I recommend it very highly, and it is my standard answer for people who want to know what book to read first about electronics. Also available from Radio Shack is a book which I believe is titled “Getting Started With Arduino” or something similar which may give you a useful overview of getting simple stuff running on Arduino.

    Unfortunately, the bulbs in my sets of lights are a different type than the one on the page you linked to, so I can’t help you with measurements. Perhaps someone else can.

  37. Hmm. Annoying, This forum software omitted some stuff in my ASCII text diagrams above, apparently thinking it was supposed to be HTML. I’m going to try this again using parentheses instead of greater-than and less-than symbols. You’ll just have to imagine that “–)” is an arrowhead. Anyway, those should be:

    Computer (–[usb cable]–) 3.3V FTDI board (—) (ColorNode or JeeNode) (–[wireless]–) ColorNode —) lights

    or

    Computer (–[usb cable]–) 3.3V FTDI board (—) (ColorNode) —) lights

  38. Mr. RGB-

    Thanks for the suggestions and thanks for helping out others with the questions – you’ve been responding faster than I’ve been able to. I agree that the default hole/pad size in Eagle were too small. I will definitely look to enlarge those since I had the same problem inserting the stranded wires from the GE cables. The 78mm length corresponds to a 1/4 wavelength whip at 915MHz. Antenna theory states that antennas (specifically mono-pole antennas like this one) perform best when their lengths are tuned based on the frequency of the signal being applied so that they can support proper resonance (http://en.wikipedia.org/wiki/Quarter-wave_antenna#Quarter-wave_antenna). If you need maximum range, you can create a better antenna or extend it straight out of the box, but if the transmitter is within 50′ or so, looping the wire within the box seems to work ok. I like the idea of an SMD version. I have done SMD assembly at home in the past using hot air and I have been interested in trying it out using the griddle method. I wanted to keep this first version more accessible so that’s why I used through-hole parts. But if I decide to do the Kickstarter thing, a fully-assembled and programmed SMD version would be a nice option. I am still looking around to see if any places online have some close-outs of these strings so I can pick up a few more for me and for Kickstarter.

    Paul

  39. Michael, others-

    Regarding power for the ColorNode boards. My first revision of the board had 5V on the 6-pin programming connector. What I found was that, with the strings attached and without the 5V power supply plugged in, I could power the LEDs (albeit dimly) via my USB-to-serial converter. I did not think that was safe for either the converter or the strings or the PC for that matter, so I switch to putting 3.3V on the programming connector. This then forces you to use a 3.3V FTDI cable/board instead of a 5V one. Both the supply to the ColorNode and the I/O voltage must be 3.3V. The ATmega device can handle 5V without issue but you would risk damaging the radio if you apply 5V for supply voltage on the 3.3V line. Again, there is still a slight issue when the strings are connected since, when you feed 3.3V from the programming connector, it might back-feed the 5V line through the LDO regulator. I don’t remember the lights turning on in this state, but it is still undesirable. The best way to operate the ColorNode during programming/debugging/serial communication would be to only connect DTR, RT, TX, CTS, and GND on the programming connector to your USB-to-serial converter and power the board and the strings with the GE 5V supply that came with the lights. If you use the USB-BUB-II board, you can add jumpers to select I/O and supply voltage (3.3V versus 5V). Removing the jumper for supply voltage disconnects that completely. I soldered the regulator on the back of mine so the wimpy 3.3V supply from the FTDI chip wasn’t being used when I wanted to power the ColorNodes. You would probably be fine (and I have done it many times) connecting the 3.3V line to the programming connector while the GE supply is supplying 5V. The 3.3V line on the board will be fed by two sources, but it shouldn’t cause any problems. When you are using one ColorNode as a transmitter, you don’t need to use the GE 5V supply and you can just use the 3.3V supply from the FTDI board. I will make sure to include a diode on the next revision to isolate the two supplies from each other to avoid these issues.

    Paul

  40. Any help on getting the code to compile on the arduino 1.0? I am getting a errors like :

    …arduino1.0\libraries\g35/g35.h:1 error: stray ‘/357’ in program
    ..arduino1.0\libraries\g35/g35.h:1 error: stray ‘/273’ in program
    ..arduino1.0\libraries\g35/g35.h:1 error: stray ‘/277’ in program

    I am not finding any information on tracing this error. I have added the Arduino.h in some places in the library files that where causing an error. Wprograms.h was the original.

    Can you suggest a way to correct this or steps to set up the lybraries if that is my problem?

  41. The libraries file in g35 does not support the new compiler. theWprograms.h is no longer available and must be changed along with other things to the arduino.h. Perhaps the wrong file was included in the zip from the one Paul compiled.

  42. Mr. RGB, thanks so much for your last comment. That information has answered alot of my questions, and I now have a clear idea of how the system works. I’ve just received the PCBs, most of the component parts from Newark, and am just waiting on a few more items from SparkFun, and the GE lights … and then will actually build this (whereby Paul’s information on voltage considerations and such will also be helpful). Thanks!

  43. Paul, which large three-wire inline audio plugs did you use? I’m actually planning to modularize my project as much as possible (including cutting the wires between bulbs and adding in three-wire plugs for more, or less, wire extensionsn between bulbs).

  44. ( ^ that question was actually meant for Mr. RGB, tho of course, any feedback Paul or anyone else has on three-wire plugs and extending the length of wire between bulbs is most welcome. thanks )

  45. The Audio connectors, are likely XLR style connectors. I did the same for my setup, although I put the male connectors on the source side by accident… oh well.

Leave a Reply

Your email address will not be published. Required fields are marked *