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

Love this thread, just one more thing to DIY.

Would the Arduino Uno work? I think it has the same chip mentioned earlier and it already has the USB built in (I think).

Is there a material list, or did I miss it? Ie... X board will work with Y LCD and you need ....etc.

Oh yea, DWZM you are the man!!

Thanks for all of the hard work.

Aaron
 
The Uno is simply the latest reference design for the official Arduino hardware platform. It would certainly work as an LED controller, as just about any other official Arduino hardware (and many clones) would. The difference is, this device (the Typhon) has a few "extra" components built right in to the board, such that you don't have to add them on your own via breakout boards or shields. This makes the Typhon essentially a single-task design, in that it's designed for controlling LEDs. Meanwhile the Uno is a general purpose prototyping platform, meaning it doesn't really do ANYTHING on it's own, but you can add to it/build on it to do a wide range of things.

There are advantages and disadvantages to either approach, of course. For one thing, unless you really find some great deals, the all-in-one approach of the Typhon will probably be cheaper than buying an Uno, RTC breakout, PWM level shifting breakout, breakout or shield for the buttons, connector for the LCD, etc. Also, having everything on a single PCB is probably perceived by many people to be a "simpler" or "cleaner" approach, as you don't need a mess of jumpers, cables, and so on wiring everything together, and you don't even have to understand how the different components need to be connected, since it's all built in to the board.
 
I was thinking for it less complicated to just buy a premade board, but I may be wrong.

I am only looking to control 2 drivers for DIY Cree lights, so maybe I do not need all of the extra functions of the uno? Or does the uno not have any functions on it's own? Now I am confused.

I think if I had a parts list and a wiring diagram I could wire it up, but I do not have the knowledge to put it together on my own. Man am I envious of those who can.

Thanks,
Aaron
 
I was thinking for it less complicated to just buy a premade board, but I may be wrong.

Surely for some people that's the case! :)

I am only looking to control 2 drivers for DIY Cree lights, so maybe I do not need all of the extra functions of the uno? Or does the uno not have any functions on it's own? Now I am confused.

The Uno is a development tool, not a finished product - if you want to use one to do anything, you have to develop your own hardware/software or copy someone else's. It has the ability to turn output pins on and off, read their states, etc - it has the core functionality you need to control LED drivers, but no specialized hardware or software to do that.

For instance, if the drivers you are planning on using operate at 10v (i.e. the Meanwell ELNs) then the Uno plain won't work on it's own - it operates at 5v, so you need level shifting circuits between the Uno and the drivers. On the other hand, if you have Buckpucks or other 5v-logic drivers, you can probably use the Uno to dim them without any external circuitry.

That said, you'll also probably need hardware/software to let you interface with the Uno (i.e. buttons and a screen) and/or to otherwise facilitate dimming. For instance, the Uno on it's own has no concept of time, other than counting milliseconds in a rather inaccurate manner - if you want to do time-based things, like fade the lights on and off at certain times, you really need to get an RTC (real time clock) as well.

So, really, it comes down to your philosophical approach - would you rather buy a generic off the shelf controller (the Uno) and a few off the shelf breakout boards, then wire them together on your own, and upload the software? Or, would you rather solder together a single board that has everything it needs onboard? On the one hand, you're wiring together a bunch of off the shelf boards. On the other hand, you're assembling a single "custom" board. Some will like one path, others will like the other path.
 
Since you put it that way, I would rather have one custom board, which is what this thread is all about.

I guess I will just wait until you release all the schematics. And since I do not even have LED's yet... boy am I impatient!

Sorry for all the questions, I feel like some of them a "stupid questions" so thank you in advance.

Aaron
 
I guess I will just wait until you release all the schematics. And since I do not even have LED's yet... boy am I impatient!

FWIW the schematic, board file, and bill of materials are released. You can build one now if you want, but you'll be somewhat "on your own" to get a board made and assemble it as there isn't yet any step by step documentation.

Sorry for all the questions, I feel like some of them a "stupid questions" so thank you in advance.

Aaron

No worries, "stupid questions" are necessary to make sure the basics are covered!
 
After looking again, I found the link and downloaded Eagle so I can view the info. I will be getting my LED's soon and then I will attempt this controller.

Thanks again,
Aaron
 
Since there are at least a few people with these in-hand or in-construction, I wanted to add a few quick notes about actual use.

First, a photo. Excuse the fact that there are missing components and other "issues" as this was an early prototype I was messing around with. It's also important to note that this is from the first run of boards - the files uploaded have some silkscreen text fixes I'll point out below.

typhon.png


This is the Typhon without the LCD plugged in, so you can see the guts. There are 4 areas of interest with red numbers:

1) The DC power jack. You need a 12 - 18v (plus or minus) wall wart with a 2.1mm center positive plug. This is a very common plug so it should be easy to find.

2) The FTDI programming header. This is a header you'd plug an external TTL serial-USB converter in to, i.e. an FTDI cable or breakout board, to upload new firmware. If you don't intend on changing the firmware code, you can ignore this once the unit has been initially programmed. If you are plugging something in here to program, make sure you check polarity - for some common FTDI breakouts, the header is "upside down" - for example, to use my USB-BUB, I plug it in with the components on the USB-BUB facing down. No biggie, just make sure yours is plugged in correctly before use by looking at the order of the pinout.

3) The output header. This is a 2-row 90 degree header for connecting your LED drivers. There are actually two 4-pair headers right next to each other, depending on if you're using 5v or 10v outputs. The bottom 4, populated in this photo, are for 10v PWM outputs (i.e. meanwell ELN drivers). The top four, not populated, are for 5v outputs (i.e. buckpucks or most DIY drivers). You only need to populate the four you'll actually be using, no sense wasting headers if you'll never need them. It's VERY IMPORTANT to get polarity correct here, and this is where the silkscreen was corrected. In this 1st-run prototype board, the silk labels - down below the pins on the empty section of board - are BACKWARDS. If you look at the header from the side of the board, the ground pins are the TOP of each pair, and the signal (positive) pins are the BOTTOM of each pair. These are standard .1" male headers I used on this board, so you can use any common square pin .1" female connector - so called "header connectors" or even bits of female headers, or whatever your preference is. These are very common at hobby electronics vendors, and at hobby shops that deal in R/C hobbies, since R/C receivers use .1" connectors, too.

As mentioned elsewhere, the intent of this device is to control 4 channels of lighting - so there are 4 pairs of connections in these headers, numbered 1-4, from bottom to top. Each of these is a "channel" and can control many drivers - so if you had 8 meanwells, you could put two on each channel, or one each on the first three channels and then 5 on the 4th channel - and so on. Each channel can handle a few hundred mA of current, which should be more than any of us ever needs.

4) The buttons. Will be explained below.

There are some other areas of interest not labeled here. First, the long header in the upper left is a 16-pin header to connect an LCD - the board is designed for a 16x2 LCD which is pretty common, and is what's shown in the photos earlier in this thread. The little blue box between that header and the DC power jack is a trimpot to adjust contrast on the LCD. Brightness on the LCD is controlled by a PWM pin that the firmware manages.

To the right of the FTDI header is a 4 pin header not populated in this photo. This is an I2C header, intended for eventual expansion - i.e. if someone wanted to use this controller to monitor temperature or pH, all you'd have to do is design an I2C-based sensor and plug it in there. Or you could do a relay board to have the unit turn things on and off. The possibilities are pretty endless as there are lots of I2C devices out there. It's not populated in this photo because unless someone is going to go develop an expansion module, there's really no use for this header at this time.

In the middle of the board is the backup battery for the real time clock. This allows the device to retain time and date when it's unplugged. This battery should, in theory, last for years of unplugged use, and infinitely if the device is plugged in, so you should never need to change it. And FWIW, the firmware stores configuration variables (settings for the LEDs) in EEPROM, so it retains your configuration when the power goes out - no "blinking 12:00" with this device!

There are 4 holes in the board to allow for mounting. They line up with holes in the corners of most 16x2 LCDs. The holes in the board will allow for M3 or M2.5 threaded fasteners (bolts, standoffs, etc). Most LCDs have M2.5 holes. So, you could put standoffs between the Typhon board and the LCD, or use long through-bolts with spacers to mount the whole thing to a panel under your tank, or in a project box, or whatever else you wanted to do.

On to use. Keep in mind that this description is for the default firmware I've developed - people can write their own firmware to behave however they want.

When the device is powered up, it displays a welcome message, then defaults to a main screen that shows the time and the percentage that each of the 4 channels is currently running at. This gives you a quick status of the unit. After a set amount of time, the backlight on the LCD drops down to a dim setting so that the light given off by the unit won't be obtrusive. When you use the buttons to operate the unit, the backlight jumps back up so you can see what you're doing.

There are four buttons: menu, select, plus, and minus. Menu is used to cycle through the setting menus for the device. Select is currently not used, it's basically there to allow for future expansion. Plus and minus adjust the setting for whichever screen you're on.

So, to configure the device, you push menu to cycle through the various menus, and plus or minus to adjust the settings displayed. For each of the 4 channels, there are 4 settings:

1) Start time - time the lights turn on.
2) End time - time the lights turn off.
3) Fade duration - minutes/hours it takes for the LEDs to fade from zero to full power and vice-versa.
4) Max intensity - percentage of max power that the drivers hit when full-on.

So, basically, at the start time, the LEDs turn on and begin to fade up towards the max intensity percentage, which they reach after the fade duration has elapsed. Then, in the evening, the reverse process happens.

Besides those screens to set up the LED channels, there are screens to adjust the hours and minutes for the time setting on the unit.

That should be about it!
 
Thanks a lot for the write up DWZM! As soon as I get mine it should be pretty easy to set it up. Instructions are clear and looks like the firmware is very easy to follow and adjust. Can't wait to get my hands on it.
 
hey dwzm the board i got from you is awesome. im still a little confused as to where i hook up my drivers. i know the drivers get hooked up to the double pi on the right side of the board. now where i am gettting confussed is i have meanwell drivers and you were saying something about 5v connection and 10v connection. i need to hook it up 10v connection. how to i go about this. what is the posative and what is the negatime. do you think you can post a pic with the side view of the board explaining this. thanks. and you really are a great reefer.
 
hey dwzm the board i got from you is awesome. im still a little confused as to where i hook up my drivers. i know the drivers get hooked up to the double pi on the right side of the board. now where i am gettting confussed is i have meanwell drivers and you were saying something about 5v connection and 10v connection. i need to hook it up 10v connection. how to i go about this. what is the posative and what is the negatime. do you think you can post a pic with the side view of the board explaining this. thanks. and you really are a great reefer.


As explained above, the positive is the bottom, our outside-most pin, the negative is the top, or inside.

cant wait to get my hands on mine!
 
Not what I was expecting. The through hole mounting makes things much easier. I had SMT in my head for some reason. Looks like a sweet setup. My fish will love you in the morning DWZM!
 
I would actually like to do an SMT version of this or the Hydra. Once you are used to it, SMT is convenient and fast as long as none of the parts are tiny. With through hole you spend a lot of time flipping the board over, bending leads, trimming leads, so on. The real holdup for an all-SMT Arduino-based project is that you have to burn the bootloader in circuit, which means you can't buy a bootloaced chip. Plus the only SMT packages the AVRs come in are a little daunting. So I figured an SMT design would alienate a large percentage of the folks who might want to try building one of these.
 
Just got my Typhon working and its amazing! I love how easy is to change settings with the on board buttons. Also gotta love the nice Blue/ white LCD screen.

Have anyone done a housing box for the electronics? I'd like to make one but need to figure out what to do with the buttons
 
I wanted to share my current light schedule in case anyone was interested and show what you can do with the Typhon and maybe try it.

I'm a blueish lit tank guy so my blues are always at higher % than whites but I wanted to recreate somehow a full day including some peak hours where the sun is brighter. The controller does not provide any way to increase a channel at some determined time so I had to deal with that. I can adjust the Fade time, Max % per channel, time each channel kicks in/out.

So this is what I programed:
Blues Start @ 4:00pm
White Start @ 4:00pm

Blues Finish @ 2:00am
White Finish @ 2:00am

The trick was to adjust the fade time. Also since meanwells have a cut off at around 10% means that the blues will actually begin @ 2:10pm because there is no light under 10%

Blue Fade Time: 1 hour
White Fade Time: 4 hours

Blue Max: 50%
White Max: 60%

Result: The tank will be lit with actinics for almost 1 hour before the white starts. Most of the time the tank will look on the blue side while the whites keep fading in to max. Then whites and blues will stay for 3 hours in maximum set then start fading out whites to go the inverse as the beginning.

I couldn't stay for 10 hours looking at the tank to see the full cycle so I ran through the day changing the hour in the controller to see all the spectrum during one day.

________Blue___White________
4:10pm....10%.........0%
5:10pm....50%.......15%
6:10pm....50%.......30%
7:10pm....50%.......45%
8:10pm....50%.......60% *
9:10pm....50%.......60% *
10:10pm..50%.......55% *
11:10pm..50%.......40%
12:10am..50%........25%
1:10am....40%........10%

Then fading out till 2am

I'm very happy with this settings. Hopefully my corals won't burn under those peak hours.
Tonight I'm gonna set up the tripod and take some pictures going through the entire cycle so if you guys want to take a look go to my thread :)

Typhon Rocks! Thanks DWZM
 
I really like the idea of this controller, but what I'm curious about is a comparison to the Seeduino Mega.

I know the Mega has 14 PWM outputs versus 4 on the Typhon.
The LCD on the Typhon is a really nice feature.
As are the onboard buttons.

The Typhon is also a good bit cheaper to build. (provided you are only paying for one board versus 10 for $40)

I guess my main concern is with the four PWM outputs. I see people commenting about clouds and such, but with only four outputs there is somewhat of a limit to what you can do with that, especially if you're also separating blue and white...
 
There are people that are trying to simulate sunrise. But IMHO a 10x10 foot square of ocean is not going to see much difference from the east side to the west side. I admit it is a cool idea, but I don't think the life in the tank will care - or if they do I would think they would not like it, But I repeat IMHO.

Same with the lightning and such. When I do my storm I will dim the white and maybe the blues. Maybe down 50% of normal. Then for lightning I will take them up to full power to simulate lightning. So as I see it two channels are probably plenty.
 
Back
Top