MoRaLiS: Modular Rail Lighting System

A very affordable lighting system that can be used as efficient grow lights for indoor plants and customizable ambient lighting.

Similar projects worth following
The system consists of small and very cheap modules (~1.30€ incl. PCB and shipping worldwide) that can be attached to three 5mm metal bars for mounting and power delivery. This is achieved with 5mm fuse holders which make the modules cheap because no complex mechanical assembly is required. The bars can be attached to any surface with a modular 3D printable mounting kit consisting of just 2 pieces and a single screw.
The third bar is for sending either a voltage or PWM signal for dimming. The power injection board has a potentiometer and a ESP8266 for dimming/on-off switching over the network to integrate into any home automation system. A small switch makes it possible to override either dimming option. There are a few GPIOs and ADC broken out if the user wants to do plant monitoring or expand the system in other ways.
There will be a detailed guide for the assembly, with many different ways of accomplishing this build and how to buy all the parts cheaply no matter where you

tldr; Who needs this and how is it different to all the other smart light and plant growing solutions out there? It is designed to be very modular and can lend itself for all kinds of different application, not just lighting. You can easily modify the existing design for different kinds of LEDs that better suit your purposes or just use the design as base board for different electronics that benefit from a rail mount system.  It also sets itself apart by being really cheap while still being very functional, very flexible and very easy to re-create, no matter where you live in the world, its not tied into specific parts available from local retailers like so many projects out there. Every component is cheaply available from AliExpress or eBay.

The controller, that also acts as the power injector, is just a Wemos D1 mini with several I/O's broken out to 3 pin headers so you can quickly add custom behaviour to the system. Much more on that in this log entry. F.e what I will add to my specific setup is a water pump connected to a relay and a photo interrupter that tracks if the water level gets too low with the help of a floating indicator, which turns the lamps into a basic grow system. It all just require a few nodes in node-red, no update to the controller firmware required thanks to a smart MQTT based firmware.

Though what you end up doing with it is totally up to you.

The initial idea came from the need to have cheaper grow lights for IKEAs Hydroponics system. Their lamps are incredibly expensive even though its just a LED driver with a bunch of full spectrum LEDs mixed with white LEDs.

After two iterations, that worked well for growing plants but were rather nasty to install and in-flexible, I wanted to iterate once more to make the system more adaptable to different situations other than IKEAs hydroponic beds and that goes beyond plant lighting. Installation of the LED modules was the trickiest part and I had a hard time using them in other places of my house to grow plants that are in need of light during the winter months.

A colleague of mine was also interested in grow lights (also for the IKEA system) so we got together to develop a new system. The idea we got was to use metal rods to act as a fixture and to act as the energy supply. The idea came from these old wire and track lighting systems.

Nothing new but the smart and cheap part was to use 5mm fuse holders to attach to the rods instead of a complicated mechanical assembly. This simplifies a lot of things.

Specifically this type of 5mm fuse holders is used.

Unfortunately I couldn't find any one of them without the stopping clip, so that will have to be removed with side cutters or bend to the side. A very quick process fortunately.

My colleague went on to design a fixture for the rods that would be easily adaptable to different situations and I went on to develop the LED modules and the power injection board. Both PCBs utilize fuse holders to inject or receive power to/from the rods.

Given that the rods are so thick you can use cheap steel rods instead of copper rods without any significant voltage drop over several meters. They cost around 1-2€ per meter.

The modules will be attached to the rods using a 3D printed set of different fixtures that adapt to every imaginable situation.

We are also thinking about solutions for the mechanical fittings that don't require access to a 3D printer or milling machine. Essentially all you need for the fixture is a small solid piece of something with three 5mm holes in it. We can simply provide a (2D) printable template for drilling the holes. So using small pieces of wood should work totally fine as well. A 5mm drill bit should make a hole tight enough to provide some friction to your metal bars.

The LED modules itself are based around 1W LED chips in a widely used Luxeon like form factor. You can get these LEDs in all kinds of colours including "full spectrum" LEDs that only emit the spectrum needed by plants....

Read more »


md - 264.00 bytes - 09/15/2017 at 20:31


upper plain.stl

3d printable holder clip. upper part, no hook or screw hole.

Standard Tesselated Geometry - 129.96 kB - 04/17/2017 at 12:02


lower plain.stl

3d printable holder clip, lower part

Standard Tesselated Geometry - 461.41 kB - 04/17/2017 at 12:02


upper side open.stl

same as upper plain.stl, but with a hook for mounting on the sides

Standard Tesselated Geometry - 312.58 kB - 04/17/2017 at 12:02


upper side closed.stl

same as upper side open.stl, but with a screw hole instead of a hook

Standard Tesselated Geometry - 490.51 kB - 04/17/2017 at 12:02


View all 8 files

  • 1 × See Electronic Components / Misc. Electronic Components

  • New set of plants and an easy way to integrate MoRaLiS into a nursery box

    timonsku10/15/2017 at 16:59 0 comments

    I planted a few new seeds to test out the effectiveness of the final modules. I'm also experimenting with simple laser cut carboard shades to decrease the amount of stray light.

    Vector file for laser cut shade.
    Images of installed shades will follow soon. Usually you probably don't want a 4 sides shade but 2 or 3 sided one, 2 sided ones for modules that are located in the middle and 3 sided ones for the two on the outside. Four sided ones only really make sense when you space the module very far apart.

    I installed a MoRaLiS set into an Ikea Växer nusery Box but the same thing works for pretty much any nursery box. All I had to do was drill 3 holes into each side of the top. You can use a paper template or just attach the rods a few modules to get the correct spacing and then trace the rods outlines on the top of the box (which is what I did).
    Then you just slide the rods in and you're done.

    And after a few days:

  • Final Board Version and some new thermal tests

    timonsku10/08/2017 at 12:43 0 comments

    I received my final boards a week ago. I didn't change much, I added an inline resistor to the PWM signal line to limit the current that can flow through the LED driver during a short circuit condition. The VCC line is protected by a Schottky diode but the PWM line was a potential hazard as the ESD protection diodes in the IC would form a direct short through PWM line if two modules were mounted on a rail in reverse orientation to each other. That short can still happen but it wont kill the IC.

    The other changes I did were all related to optimizing heat transfer away from the LEDs.

    Before the backplane of the module was just one big GND plane. Now it is divided into VCC and GND enabling me to use the VCC metal rod as a heatsink as well. I also increased the amount and density of vias under the LED heatsink pad. I also reflow soldered the LEDs this time, also soldering the heatsink and not just using thermal paste.
    These changes allow for far greater heat transfer and let the LEDs run a lot cooler.

    Here is my test setup. I attached a K type probe to several measuring points like the junction between rod and fuse holder, the backplane, the front side of the LEDs and the vias directly under the LED heatsink pad:

    I measured a maximum of 54°c at both rods. Before the VCC rod only got to ~30°c and the GND rod to ~43°c. The backside gets a lot less hot with max 83°c measured at the heatsink, before it was around 90°c. At the front the LEDs got to ~70°c+ before the changes, now they only reach about 60°c.
    I will make some direct comparison photos with the thermal camera at work.
    I'm very satisfied with the outcome. At these temperatures the LEDs should have a good life span.

    And here are two photos of the final board version. Front and back:

  • BOM and produced boards

    timonsku05/25/2017 at 15:54 0 comments

    I added the BOM for the LED modules to the git repo. For the provided AliExpress shopping links I didn't use the cheapest configuration possible, depending on what type of LEDs you use its a little more expensive than 1.3€ incl. PCBs but also more robust. I will add links for the cheapest config as well.

    I also ordered some first PCBs (so far I only tested on milled boards) which came out really nice. Here some picture.

    Also a few pictures of plant progress:

  • Talking about Automation and Extensibility

    timonsku05/14/2017 at 20:52 0 comments

    I haven't yet talked in detail about the power injection board, which adds the smartness to the project.

    Before I start, here are two photos of the latest version of the prototype:

    The board

    You may wonder why it looks so awkward right now. This is purely a functional prototype, using these long headers for the WeMos D1 makes it easy to solder it to the component side as this is a milled PCB with only a single layer.

    So I have to come up with some awkward ways to get this working while having components on both sides. In the final version you would directly solder the WeMos in without any headers to make it as flat as possible (or use headers if you like, thats up to you).

    On the second picture you can see a single right angle header mounted. Usually the whole row would consist of 5 of these headers. 4 GPIO headers and 1 ADC header.

    Each header also delivers 3v3 and GND. Unfortunately with my milled PCB I have to solder these headers on the bottom where they collide with the metal rods. Normally they mount on the top side. That is also the reason why you only see one header, I had to remove the others when I discovered that it wont fit this way.

    I chose the WeMos because it has a fairly small footprint, is available for around 2.3€ from AliExpress/eBay which is not much more than a ESP-12E module and it has a programmer circuit built-in which in my opinion increases usability a lot. All you need for programming is a Micro-USB cable. I didn't see the big benefit of using a plain ESP8266 module other than making the module a bit smaller.


    So the main reason we have an ESP on there is controlling the brightness of the lamp rail and turning the lamp on and off over WiFi (though that is not all, more on that later). This all happens through the middle rod which carries the PWM signal to all the boards.
    If you happen to install the lamp in an accessible place you can also use the potentiometer for manual dimming control. You can switch between both methods using the small sliding switch, left to the pot.

    I added the potentiometer because I made the experience that its tedious if an appliance is only controllable via a smartphone or a computer. Sometimes you are just walking by and want to turn it off for the moment or dim it down a little, without accessing another device first.

    For the ESP I have a very specific workflow in mind, that is supposed to make things very easy in terms of customizing behaviour and extending the system beyond of what its offering.

    The central part here is node-red. For those of you who never heard of node-red. Its basically a Javascript based visual flow programming tool with a web based UI that runs on any platform. Read more about it here:

    Node-red is really powerful if you simply want to define behaviour using complex inputs and outputs like a calender for example but don't want to actually have very complex logic in between the two and mostly just route between these inputs and outputs. In order to utilize the power of node-red the firmware for the ESP will use MQTT and break out the PWM output to a MQTT topic. So you can just send a bunch of numbers to the PWM pin and that's all you need in order to dim or turn on/off your lamp.
    Not only the PWM pin will be broken out over MQTT, the GPIO pins and the ADC will also be broken out as a MQTT topic. So this enables you to define behaviour for the ESP without re-programming it physically. That way you can do some really complex stuff within seconds. Here is a video showing a mobile UI with a slider for dimming and a toggle button that switches between off and 20% on. Unfortunately the slider only updates when touch ends which makes this a bit sloppy looking but in theory you can have really smooth fades.

    And all it need to get this functionality was adding the dashboard addon to node-red and this flow:

    Dead easy. All I defined within the switch and slider node was what numbers they should output.



    If you want automated control...

    Read more »

  • Some plant growth

    timonsku05/01/2017 at 14:07 0 comments

    I planted a few seed last week and put them under 2x3 modules. I also put a batch that I planted a month ago under the lights as well. The results are tremendous. The month old seedlings were pretty slow growers and rather weak, one seedling came fresh out of the earth shortly before I put it under the light modules and it outgrew its brother that came out 2 weeks earlier in a matter of 5 days.

    Here some pictures. The first 2 are made after 6 days of planting the seeds (or 4 days after they actually started germinating). The last two are made 2 days after the first 2 images.

    After 6 days

    After 8 days:

    Update after 11 days:

  • Some 3D prints and first test with the IKEA system

    timonsku04/14/2017 at 18:50 0 comments

    I printed some of Max fixtures and altered them a little so they can fit the mounting holes on the IKEA system. In the end there will likely be a ton of different fixture combos that cover all kinds of situations.

    I think the picture speak for themself. The fixtures are really nice you can snap the lower part onto the rails and then slide in the top part from the side.
    The prints are not of the best quality but they work perfectly mechanical wise.
    I will add some photos later when I actually mounted the whole thing on the IKEA beds.

    This one uses a slightly modified top part, instead of the hole for the nut it has a 11mm hole that fits the little mounting hole thing on the ikea hydropnic beds ( compact: bigger one: If you zoom into the compact light fixture I linked you can see in the top right corner the mounting hole I'm talking about.

    This is the normal middle one. I didn't use countersunk screws as I didnt have any but normally you would use a countersunk one.

  • Mechanical parts

    Max Wolf04/03/2017 at 22:42 0 comments

    An update for the 3d printable holder clips: There are now different options to mount the rails either against a rear wall, against a ceiling or between two walls.

    check the picture. File names are self-explanatory.

    Now uses M4 countersunk screws for better compatibility. Needs M4x10mm ideally.

    To mount against a ceiling, just replace the M4 screw with a wood screw for example.

    These print fine on an Ultimaker 2.

  • Heat issues

    timonsku04/01/2017 at 23:07 3 comments

    Previously I ran the 3W LED Quartets at about half the maximum current, heat dissipation worked fine with some big exposed pads on the PCB. With the new modules I wanted to run them at their full specified current of 700mA but that turned out to be a thermal nightmare. I would have to add a huge heatsink to the LEDs in order to keep them at around 50°c.
    So I have two options, stick with 3W LEDs and limit the current to 400-500mA or go with 1W LED chips.
    Considering a low price point while still being a very usable thing is my main selling point for this project I will probably switch my design to 1W LEDs and do some testing if I can get a way with exposed pads on the back side of the PCB. If not I'm thinking about attaching some thin copper shims to the back, you can get them for around 17 cents for a 20x20x1mm one (at qty 50, see the link below).

  • Power Injection Prototype

    timonsku03/27/2017 at 00:24 1 comment

    I soldered up a prototype for the power injection/dimming module. It looks a bit weird but seems to be working so far, the potentiometer glitches a little in certain positions. Which may come from the fact that I accidentally wired it up the wrong way. While the diode should prevent damage, something started smoking, will have to investigate why that happened.

    But power delivery was working fine for a single module at 16V 0.7A.

    Some photos:

    Normally the ESP wouldn't be on these stacking headers of course, I just used these so I could solder them on the component side as this is a single layer PCB.



    Module powered up, dimmed down to ~30%:

View all 9 project logs

Enjoy this project?



David S wrote 06/02/2018 at 19:00 point

Any chance you could reduce the size to 5x5cm to make it a little easier to get the pcbs manufactured? For some reason I can't seem to manipulate all the layers in the eagle file. Love the project and can't wait to try it!

  Are you sure? yes | no

timonsku wrote 06/02/2018 at 20:38 point

Hey, have a look at #MoAgriS: Modular Agriculture System I started redesigning the light module to be a lot thinner albeit a little wider because that is rather important for light distribution. Total area is a lot smaller though.
If you just want some PCBs send me a PM, if you pay for shipping I can send you a few PCBs for free. I still have plenty left over from the current MoRaLiS design that I will never use up.

  Are you sure? yes | no

Juha Kuusama wrote 12/27/2017 at 21:52 point

Very, very nice! Are you planning to sell ready made modules?

  Are you sure? yes | no

helge wrote 08/19/2017 at 13:37 point

Great project, I totally love the fuse holder repurposing. What about conformal coating on one side?

  Are you sure? yes | no

timonsku wrote 08/19/2017 at 13:41 point

The copper plane on the back needs to be exposed for heat dissipation reasons.
On the front you could add conformal coating but I don't see a reason why you would want that? You don't need to protect the PCB from moisture unless you want a very high humidity in the room for tropical plants.
If you use it in normal room conditions you don't have to worry about corrosion.

Oh and thanks! :)

  Are you sure? yes | no

helge wrote 08/19/2017 at 13:55 point

We're on the same page regarding the back side. The front side might benefit from an overcoat depending on how much e.g. electromigration and contamination are a factor over the lifetime of the boards.

They might periodically be exposed to high humidity when off and cool, gather pollen / dust etc. Maybe this is just purely academic at the price point and ease of service :-)

I was in particular thinking of that RealMartian guy on youtube and his "habitat" growing operation.

  Are you sure? yes | no

timonsku wrote 08/19/2017 at 14:02 point

@helge Sure, if you deviate from my typical application. e.g. normal living room condition it might be worthwhile to add a coating on your board. So far I have not experienced any degradation after ~8months of use. As you don't have wind in your apartment there isn't really an issue with plant matter collecting on the modules. Heat is really the biggest enemy, had a couple of LEDs die in earlier prototypes.

  Are you sure? yes | no

helge wrote 08/19/2017 at 15:36 point

I see. Still, you might find this interesting,

  Are you sure? yes | no

timonsku wrote 08/19/2017 at 15:53 point

@helge Very cool, thanks for the video!

  Are you sure? yes | no

MCK wrote 08/17/2017 at 20:46 point

Can you address each individual LED or at least the individual boards on the rail? Or is it just the entire rail with all boards or nothing?

  Are you sure? yes | no

timonsku wrote 08/17/2017 at 20:49 point

You can't have a series circuit with this system without cutting the middle rail at every module. I was thinking about implementing a few solder jumper pads to set IDs. With every module having an ID you could easily built an addressable version by communicating via 1-wire on the PWM rod. This would require a whole different circuit though.

  Are you sure? yes | no

MCK wrote 08/17/2017 at 20:51 point

Sounds like an exciting idea, have you thought about implementing it??

  Are you sure? yes | no

timonsku wrote 08/17/2017 at 20:53 point

Sure when I have the base version all polished up including the power injector which is after all the brain of it all, I will definitely get to that.

  Are you sure? yes | no

alexwhittemore wrote 08/08/2017 at 17:32 point

I love the idea, and the execution looks great! Good inspiration for some lighting projects of my own, thanks for posting it all up.

  Are you sure? yes | no

timonsku wrote 08/12/2017 at 20:19 point

Thank you! :)
Glad you like it.

  Are you sure? yes | no

Justin Davis wrote 05/11/2017 at 16:26 point

Are the metal surfaces of the rods going to be exposed in the final version?  Are you concerned about shorting? Especially with water in the area.  And reaching your hands around there to work on the plants. 

  Are you sure? yes | no

timonsku wrote 05/11/2017 at 17:40 point

They are exposed yes. If they werent the whole concept would be hard to use or get much more expensive. I'm not worried about shorting. Either the power supply used needs short corcuit protection or the power injection module needs a fuse. Im thinking about a ptc fuse for the power injection module.

  Are you sure? yes | no

Ember Leona wrote 03/31/2017 at 22:41 point

LIKED! do you think you can grow in gellatin or would it mold cololidial silver might prevent mold? I think the gellatin will liquify if heated so hydroflush. Maybe AGAR?

  Are you sure? yes | no

timonsku wrote 03/31/2017 at 23:56 point

Not sure what your question is? This is only providing light and is not a complete system for growing plants. You can certainly use whatever substrate you want for your plant. Heat wont be an issue for anything under the lamps as long as you are about ~15cm away. There is not much heat radiated by the modules, though they do get very hot so nothing should touch the modules, a plant that grows too high into the modules so it touches them will likely dry up and crumble at the top. 

  Are you sure? yes | no

DusanKo wrote 03/28/2017 at 18:09 point

Hello, first of all I would like to tell, that this is great idea. I am a bit worried about cooling of 3W LED's. I am afraid that the pcb size is not enough. Did You s older the led pads as well? Thank you.

  Are you sure? yes | no

timonsku wrote 03/31/2017 at 22:35 point

Yes thermals is definitely something I'm worrying about. It would be great if all those LED modules would have there center pad unconnected to any of the leads but unfortunately there are some versions that have it connected to LED-. Otherwise I would have it connect to GND which connects to a thick metal bar, would have been a great heatsink.
I will put a lot of via's on the center pad to pipe most of the heat to the back copper layer which will have about a quarter of the board for each LED. That might be enough if not I will have to think about a heatsink for the 3W LED version. The 1W LED version of these modules shouldn't have any problems with heat.
I did not solder the center pads so far but I put some thermal paste on the pad.

  Are you sure? yes | no

Yann Guidon / YGDES wrote 03/26/2017 at 19:42 point

Nice engineering !

  Are you sure? yes | no

timonsku wrote 03/27/2017 at 11:47 point

Thank you :)

  Are you sure? yes | no wrote 03/26/2017 at 14:57 point

What is the power requirement for each board and how many can you use per meter or per system?

  Are you sure? yes | no

timonsku wrote 03/26/2017 at 18:57 point

Depends on the configuration. Right now I plan on using 3W LEDs which need 700mA but you only need to change a resistor to have a 300mA LED driver to use 1W LEDs. The module is also available in 3W and 1W configurations.

Taking that into account the actual consumption per 3W LED is around 2.6W. 2.6*4 is 10.4W. You need about 15v to drive a module. So the minimum requirement is 15v@700mA. How many of these modules you can use per system totally depends on your power supply and the current capability of the power injection board. Right now the power injection board will be your most limiting factor if you use standard 0.35um copper traces. I think in practise you don't want to use more than 8 per meter. If you want more module per meter I would go with 1W LEDs, you can that nearly triple the amount per meter. For ambient lighting the 1W LEDs will be much more sensible, the 3W LEDs make most sense if you use them as grow lights the amount of light they produce is way too much for most room lighting applications.
Physically you are constrained to a maximum of 20 modules per meter for the module based version and 22 for the version with the integrated driver.

  Are you sure? yes | no wrote 03/27/2017 at 03:13 point

thanks! good idea, nice execution BTW!

  Are you sure? yes | no

davedarko wrote 03/26/2017 at 00:26 point

that's clever and simple, I like it :)

  Are you sure? yes | no

timonsku wrote 03/26/2017 at 00:31 point


  Are you sure? yes | no

Jan wrote 03/26/2017 at 09:19 point


Only thing I have in mind is corrosion. Hydroponics/Plants always emit some amount of water vapor. Rods could be stainless, but the clips/PCB?!

  Are you sure? yes | no

timonsku wrote 03/26/2017 at 13:50 point

Stainless steel rods is what I have in mind, they are also the cheapest with about 1.5€ per meter. The fuse clips are tinned copper, they are immune to corrosion by water. The PCBs will be manufactured and will have tinned pads as well, the copper boards are just prototypes. The 2€ per boards includes manufacturing of the PCBs.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates