Who wants a cheap, simple, Arduino-based LED controller?

Hey DWZM, (great name, btw),

Any chance I could get you to break out the ethernet part of the schematic? I'm trying to follow along with a Duemilanove, and I'm having a tough time figuring out the wiring (or just point me to a schematic for the chip).

I'll probably end up buying one of your boards when you get it completely finished and use the current Arduino for something else, but adding ethernet to things for cheap is pretty useful
 
Rich,

Maybe you were thinking of the Hydra, which includes the Ethernet interface? The project I'm talking about in this thread has no Ethernet capability. It's meant to be an all-in-one barebones controller for a few banks of LEDs. At any rate, the Ethernet interface I put on the Hydra is more or less a blatant ripoff of any of the open source Arduino-targeted Ethernet interfaces based on the ENC chip. This page has a schematic:

http://www.nuelectronics.com/estore/index.php?main_page=project_eth

Since the design is more or less final at this point, a quick review of included functionality:

-Socket for AVR, i.e. the ATMega328 used in the current Duemilanove, but you could probably do fine with a 168 or even an 8.
-Header for programming with an FTDI breakout board. This is the one hitch I haven't really solved. People will need to get their hands on an FTDI USB interface. You can buy them for $10 - $20 and IMHO everyone should have one anyways. :)
-Header for an LCD. I designed the board to bolt to the back of a 2x16 LCD such that the header and standoffs all line up, and the buttons stick out from the bottom edge of the LCD. But you could use just about any standard LCD.
-Header for 4 LED control channels, at either 10v (for meanwells) or 5v (for buckpucks, DIY drivers, etc.)
-I2C header in case you want SOME expansion
-Onboard RTC for timekeeping
-Onboard 10v and 5v voltage regulators
-4 buttons (labeled menu, select, +, -) to provide a UI for adjusting on/off times, setting the RTC, dimming, etc.

Basically, I did this design because of the constant stream of people asking about running ELNs or other drivers from an Arduino. If you want to do it from a standard Arduino and have a typical level of functionality, you need to buy an Arduino, RTC, some sort of voltage conversion circuit, an LCD, buttons, etc. and then get them all working together. The only real difference with this approach is that the PCB is laid out to include all that by default, so there's no mucking about. It's a little more of a black box - just build it, upload software, and plug the drivers in. Maybe not a worthwhile difference for people who like to muck about, but after explaining the wiring of an RTC, or voltage conversion, the umpteenth time in PMs or email, I thought this might be a nice option for some people. :)

I'll definitely want some people as beta testers once this batch of boards arrives, I'll let you guys know.
 
I'm tracking too many of your threads DWZM. I though I WAS in the hydra thread.


I have plenty of projects that the Arduino could probably handle, so I may be buying this board too...


Thanks for the info.


EDIT:
Question: You can pop the ATMEGA out of the board, correct? So if I buy your board for this, I can use my Arduino to program the chip, correct?
 
Yes, the DIP-package AVRs can be swapped from board to board, so you can bootload or program on one board and then stick it in another board. This is assuming you put a socket on the new board instead of soldering it in of course! Which is basically standard practice for DIP-based Arduino clones.

Though, honestly, I don't like swapping the chips. Most sockets are tight enough that it's hard to not bend pins. A better idea might be to hack your Arduino so you can use the FTDI chip on it to program AVRs on other boards, or just spend on an FTDI cable or breakout. Or, get a $2 phone data cable off eBay and hack that. The only difficulty there is getting drivers - the FTDI drivers are easy to find (or already on your computer), some of the phone cable USB-UART interface drivers are harder to find, and you have to hack the cable! Unfortunately, the FTDI chip is a reasonably small pitch SMT package, which scares off people from DIY'ing it (and is the main reason why I didn't include it in this project, which I wanted to be all easy-to-solder parts).
 
Oh boy..... Can't wait to see what you are able to do. This sounds like it's exactly what I want to do.

What IC are you using that gets programmed? Once you get the code written how do you program the controller? Would a PIC programmer work?
 
180gal, this effort is essentially a clone of the open-source Arduino project:

www.arduino.cc

That means I'm borrowing the core hardware (an Atmel AVR processor) and the software development tools. The software AND hardware are both open, which means efforts like this that "steal" from the project are encouraged. I'm releasing this project under the same Creative Commons license that the Arduino is released under, which means anyone is free to use, copy, or modify this design, too.

By default, Arduino uses the ATMega328 processor. The processor is typically purchased with a bootloader pre-programmed from an Arduino-friendly vendor (i.e. you don't want to go buy a "blank" IC from Mouser or Digi-key). The bootloader works by listening over the serial port on the chip at startup for new code from the PC. If it's getting a signal from the PC, it writes the code it receives over the program currently on the chip. So, the only "programmer" you need is a dongle or breakout board to translate from the TTL-level serial port on the AVR to something the computer can understand. The most common approach to solving that problem is a USB-UART chip, such as the FTDI FT232R. That chip comes on the board when you buy the current Arduino reference design (called Duemilanove). For this project, I've chosen to not include it on the PCB, so you'll need an "FTDI cable" or an FT232RL breakout board. These can be had for $10 - $20, so it's not a big deal.

It's likely that your PIC programmer won't work in this case. But of course you could design something like this for use with a PIC processor and then you'd be able to use your programmer, though that would lock you in to the closed-source PIC toolchain and license restrictions. ;)

To give people an idea of the cost of this project, it'll probably look something like this, assuming you are starting from scratch (i.e. don't have a Duemilanove to borrow the USB-UART function from):

1) FTDI breakout: $10 - $20 (or be brave and hack a $2 cell phone data cable)
2) PCB and parts to build this controller: $30 - $40
3) LCD: $5 - $10

If you already have an FTDI cable or breakout, of course you can use that. Or if you have a Duemilanove or other Arduino with an FT232R onboard, you can (non-permanently) hack it to "borrow" the FTDI chip.
 
For those who may not want to build it, Reefangel has an arduino controller that you can purchase already put together. If you were running LED only the pwm is built into the controller board. I think it is about $100 for the controller only with no probes or relay box.
 
That's a very nice product but (IMHO at least) aimed at a very different set of functional requirements. More along the lines of the Hydra project.

Edit - to be clear, PWM functionality is built in to every Arduino, by default. The "problem" is that it's PWM at whatever voltage you're running the AVR, typically 5v. Meanwhile, many LED drivers (i.e. ELNs) require 10v signals. It looks like the Reef Angel controller has an optional module that converts 5v to 10v for this purpose.
 
It has both 5v and 12v on the board. As to what goes where I do not know. You are right that it does control more than a pwm and timer signals. But it could be a good system for those who want to start small and then go the full controller route. I don't use it for the LED's, but it does have the ability to set the max % of current, and it will rampup and down the pwm signal to simulate sunset sunrise, and also moonlights using only the blues.
 
Using the Arduino, I see it has 6 PWM inputs (sorry der_wille_zur_macht I just asked you that in the PM) If I have 8 meanwells to run, can I combine two into one PWM input?
 
You can control many drivers from a single PWM pin on an Arduino, but of course they'll be controlled together - if you have 8 drivers and you want to control all 8 independently, you'll need a Mega, or a Mega clone, as the ATMega1280 it's based on has 14 channels of PWM.
 
You can control many drivers from a single PWM pin on an Arduino, but of course they'll be controlled together - if you have 8 drivers and you want to control all 8 independently, you'll need a Mega, or a Mega clone, as the ATMega1280 it's based on has 14 channels of PWM.

I can't believe how helpful you are! Thanks for answering my PMs!
 
Back
Top