💬 RFM69 Livolo 2 channels 1 way EU switch(VL-C700X-1_Ver_C2)
openhardware.io last edited by openhardware.io
OK...another remake for the classic Livolo 2 channels 1 Way EU switch and THE LAST ONE that I will make(well except for the 1 channel one which I need to work on it after this one) - @shabba I know that you waited for this. This is just the other Livolo hardware project of mine "ported" for the new hw revision that the Chinese manufacturer made. They made the 12V line available on the connector and moved it on the opposite side(the new connector is a 2mm pitch one and SMD - I choose to use the THT variant as it doesn't have any impact from a mechanical point of view and it's easier to solder for all of us the mortals around here).
The good news is that the power board is the same as the old one with some minor modifications(more or less):
- the big MOSFET is in the same place but with a 45 degrees orientation
- the power connector is a 2x7 pins one with the 12V line already supplied on one of the pins - less hacks for the board
- the bistable relays are the same and drived by a ULN2003 IC(current buffer) in a TSSOP package
Thanks to @tonnerre33 for creating the new board outline which I borrowed from his project. The rest of the board is the same as the other one that I made with the dc-dc converter moved on the opposite side and with some rearrangements. Next I need to create the boards AGAIN using some external manufacturer(China of course) and then wait...and patience and... patience again and...wait.
And as always big thanks to the Mysensors community for their great effort and for maintaining this great project.
Oh...and for some reason the boards are not rendered correctly in the browser - I'm referring to the openhardware.io gerber viewer(both 2D and the 3D one) - maybe it has to do with the latest changes from KiCAD regarding the way the gerber are generated or maybe some bug in there? (I'm using the latest nightly version). The Linux gerbview utility displays them correctly.
Good work dude !
For information, i think receive in the next 2 weeks, the pcb that i made for training.
If you can wait, i'll can check the mecanical part before your pcb order.
As you want
jirm last edited by
Thank you so much @mtiutiu !!
Awesome good done job.
I'm too wait for alone 1 gang version that is mainly I need.
Some gerbers just seems to be rendered a bit weirdly using pcb-stackup. I will keep it updated when/if new versions becomes available.
It uses file endings to detect layer type. So it is important to follow the a "standard" naming (which isn't easy as there's a million ways these design pcb programs spit out names).
jirm last edited by
Uploaded and public shared this plate design at OSHPark for anyone interested:
PD: I'm not affiliated in any way to OSHPark and only uploaded and shared the @mtiutiu desing there for facilitation purposes for anyone interested that needed do a quick order of that plate boards in a good board build service at enough good price.
thanks @mtiutiu !!
Quick one - Is there any difference in the bom?
The bom is not fully updated yet. The main difference is the 2x7 connector with 2mm pitch.
Hi @mtiutiu, i need your help
The new board outline is perfect and the position of the connector too but my thickness board is too high (just an aesthetic point).
So, the mecanic is good and when i power the pcb with 12v by a battery all is ok.
But, there is a but when i power the node by the livolo, that's not working. The 12V goes to 3.15V.
I tried to change the tantalum capacitor localised at the input of the MCP16301 by a ceramic capacitor but i have always the issue.
Have you any idea ?
Edit : one thing i didn't place it's the 470pF on the BYP MIC5205-3.3 because i haven't this value. I tried with 100pF and without capactitor but the issue still here
Missing capacitor will not produce this effect, it will just not allow the low noise operation of the regulator. It might result in poor radio performance but nothing else.
@tonnerre33 do you have a load on the main to allow enough current to pass through ? @mtiutiu uses a capacitor for that. If you don't the board can't draw enough power and that would be a good reason to have voltage droping.
@tonnerre33 @Nca78 is right. First you need to have a capacitor in parallel with the light bulb (a 0.47uF/275Vac type X2 is enough). This is needed because the power supply from the original Livolo board doesn't provide enough current in standby mode and this is obviously a good reason because otherwise the light bulb will flicker or maybe light up a little bit and this is not wanted. Remember that we talk here about a series circuit and that we need to take power not in the standard way - usually a power supply is made for being wired with both live and neutral and not live wire only as in the current situation.
If the capacitor across the light bulb still doesn't help then you need to follow the other steps I mentioned in the first project that I made for Livolo. One of the steps is to wire a bridge across that resistor marked with 104 - you can spot it easily as seen from those pictures that I made at that time. Then if it still doesn't work you need a second wire for the MOSFET biasing - this may be a little hard to see where it goes exactly as the Livolo manufacturer changed the board layout a little bit - not that much from the original one...but I need to figure out.
@mtiutiu I wired a bridge across the resistor marked 104 and my node was powered well.
But after on or two command, the 12v doesn't work when the lamp is off. When the lamp is on (forcing command relay), the 12V appear and all run.
Is the CMOS broken ? Which component produce this 12V when the lamp is off ?
Maybe the mosfet bias hack needs to be done also. The truth is that power electronics is not my thing and this power supply is a little bit beyond my understanding...well not that much but some things are not clear for me either. Those hardware modifications were picked from other thread in this forum. Maybe @Nca78 knows better than me this part?
@tonnerre33 did you wired the capacitor across the light bulb as well?
Maybe @Nca78 knows better than me this part?
Haha, no way I did my board using NRF24 so I don't have to mess with the power/relay board
did you wired the capacitor across the light bulb as well?
Nope, the light bulb i use contains already a capacitor 1.1µF (thx Nca ) and the bulb is lighted a little even if the button is off.
I duno why but the mofset is HS, i have checked him with my multimetor.
He can operate with 1.5A max, i don't understand why he burnt and why after a command... Before this command all was ok ... Why i pushed the button
edit : @mtiutiu said
Those hardware modifications were picked from other thread in this forum.
Which thread ?
Here: https://forum.mysensors.org/topic/2775/livolo-glass-panel-touch-light-wall-switch-arduino-433mhz/62. I think that @Tigroenot and @jirm know better than me actually. Sorry @Nca78 to involve you on this part. But @tonnerre33 if you wait until next week I'll inspect the new Livolo power board in a little bit more detail and see if I can come up with something.
Tigroenot last edited by
@tonnerre33 well, the reason for that is that livolo switch power circuit board contains two power circuits
One is a standby power which feeds the MC while all lamps are off and another one is the circuit that powers the whole system while at least one of the lamps is on (for two lamps switch).
@Tigroenot Thank you for your comment.
I understand there is 2 power circuits, but i don't understand why the mosfet burnt, after wire a bridge across the 100K resistor and after few commands (not immediatly).
I did many simulations with LTspice and i didn't find the reason...
I think he has burnt when i have the lamp 1 on and i have pushed on the other button without lamp 2 connected on the livolo.
If someone have any idea, that's will be helpfull for not burn another mofset. ^^
Now i'am waiting the deliveri of the mofset and i am hoping that is the HS component
Good news everyone! I managed to set up a test board in order to verify the new Livolo relays/power board and with the required modifications IT WORKS!!! as the previous one did from my old project. This time only 2 modifications are required on the board instead of 3 because the 12-14V supply is already connected now to the 2x7 connector.
I expected this to work as the power/relays board didn't changed - they placed the same set of components but in some different places and I was able to recognize the base layout.
@tonnerre33 Maybe yo wired something wrong..but for me it worked from the start. I will post here images and test results so stay tuned.
There you have it in action(sorry for my phone camera and delays): MySensors Livolo in action
Power/relays board required modifications(red lines represent wires - you could desolder those components too and just put some solder/wire bridges)
Next as seen in the video I wired a cheap dc-dc step down converter bought from Aliexpress to the 12-14V pin from the connector and ground and used its 3.3V output to power up the arduino pro mini board. The RELAY 1 - S and 1- R pins mean: channel 1(or 2 - it doesn't matter as the channels are identical) Set and Reset(because we have bi-stable relays). Those were wired to some digital outputs on arduino pro mini as seen here:
@mtiutiu Did you try with only a brige on the 100K resistor ?
Which type of lamp and power did you use ?
CFL - 15W. No, I wired both bridges.
Here's a quick block diagram for the whole circuit. I hope that I didn't missed anything or wired wrong there.
Well in reality the internal relay contact is not wired like in my diagram but to some extra circuits in order to provide voltage when the switch is closed - this is just a quick and dirty overview of the system.
The test circuit is working now for more than an hour with no problems. Oh..and the old project that I made for Livolo is in production now for more than a month and it works flawlessly.
I tested both CFL and LED bulbs - 5W was the lowest that I tried and it worked perfectly in both cases. The important part here is the parallel capacitor across the light bulb which gives the extra current that the standby circuit needs from the Livolo board in order to power the whole thing. The most sensitive part is the standby circuit because in that case the light bulb is OFF and it cannot provide enough current in this state - this is obvious because the load which is in series is turned off so only a small amount of current is present in the series circuit.
This works for the original board because the touch sensing part draws very little current(under a 1mA I think) and the radio receiver (in the RC variant) which they use draws 5mA or so. This compared with MySensors RFM69W which draws 60mA peak and on average 20-30mA or so.
@mtiutiu Thx for the answers
I think you have a mistake on your picture. The GND pin is the second pin of the bottom when you start by the left side
Did you test both relays in Set position (simulate 2 lamps power on even if one isn't connected) ?
Yes it seems that the gnd pin is shifted by one position to the right. I will fix that - thanks for noticing. I will do the test with the other channel too. It's sufficient to have one light bulb and capacitor to trigger the other channel too.
Fixed the diagram posted earlier and now the required solder bridges are visible(R3 and R13 needs to be replaced by a solder/wire bridge as seen in the picture).
This is valable only for the VL-C700X-1 VER: C2 livolo power/relays board hw revision only!
@mtiutiu Yes if you can just test the two channels on with only one bulb and capacitor this would be great
Ok so this board is basically the same board and it has the same set of components as the previous one(the old one from the old project that I've made) so it should work with both channels or in whatever combination you want. They only changed some components location - that's all. For now I don't know when I'll have time to test - I think only when my boards will arrive from the manufacturer.
Did you made those modifications that I mentioned of? Also what board did you made in the end - which revision? what schematic? I know you mentioned some github repo but I can't find it right now.
@mtiutiu I only made the bridge across the resistor marked with 104. My schematic board is here :
The board is running perfectly when powering by batteries (12VDC between 12-14VCC pin and GND pin)
I can't do more modifications cause i think the 13003A is broken I'am waiting the new mofset
My boards came with the 14 pin connector as pads not through hole. Not sure how the hell I will solder a connector to that
How so? That's impossible. I used the elecrow pcb manufacturer and the boards are all fine with all the required holes. Where did you sent them for fabrication? Can you send some pictures?
@shabba you can buy the 14 pins smd like this https://fr.aliexpress.com/item/100pcs-2x7-P-14-Pin-2-0-mm-Pin-Header-Female-Dual-row-SMT-PCB-surface/32729270520.html
@tonnerre33 Thanks. I will try and source closer. After waiting a couple months for the parts I have it is frustrating to wait another few!
@shabba Did you try to desolder the connectors of the livolo top pcb ? If you can you will try without wait I think you just need an hot air gun but i haven't test it.
In the future, could you tell me if you have some crash with the RFM69 because i have. But it's not the mtitiu's board, don't worry
@tonnerre33 Wow! Never even thought of that! Doh! Will give that a go over next couple days. And for sure I will report how I get on with crashes etc.
That's very odd and not ok. I think their gerber software doesn't support the format that KiCAD generates. I didn't had any problems with other services I used so far - excepting PCBWay. But SeedStudio, Elecrow and even manufacturers from allpcb.com worked just fine. Yes, I use China mostly because it's waaay cheap than EU and the quality is very-very good for my needs.
And your current problem can't be fixed with smd header connectors as @tonnerre33 suggested because there are traces on both sides for the connector. I assume that those pads aren't connected through the board because there aren't any vias or something to pass through. So I think in the end you need to use a standart THT connector and before that you need to drill the board pads for the connector so that you can solder the connector on both sides. And it can be a little bit difficult.
Anyways you should issue a ticket to the pcbs.io service and tell them about this because it's not right at all...Their online gerber viewer doesn't render the connector holes at all and it even reports that the only drills present on the board are those under the touch pads only..
I like this seller because even if i did a mistake on my board they cancel my order if i ask it
Did you test the Continuity between the bottom and the top of the 14 pins ?
Can you post the drill picture generated by pcbs.io like this :
or share the project and send the link
Ok. I found the issue with pcbs.io service. They don't accept separate files for plated and non plated holes when it comes to gerber files. My default setting when generating gerbers from KiCAD is set to do that.
So here it's a set of gerbers for the boards(1 channel and 2 channel) with PTH and NPTH gerber files merged into one. If you upload these on pcbs.io you'll see that it renders correctly now. And it should be fabricated correctly too if their rendering page corresponds with the real product.
- 1 channel variant:
- 2 channel variant:
Oh and the 1 channel board: please don't fabricate it yet because it may not fit from a mechanical point of view - the atmega328p is above the big mosfet from the power/relays board. So I have to see if everything fits there. But anyways don't be so impatient because both projects are marked as Work in progress on openhardware.io. I'm saying this because I don't want you or anyone else to waste money before the boards are tested for real.
- 1 channel variant:
@mtiutiu Thanks - and I fully understand WIP. I am just trying to do the little I can by being a tester etc. I am also learning so very happy with that. I really appreciate all the effort you have done here.
I see. Yes that's a good thing. Glad I could be of help.
This might be a good place to ask this
I bought a few types of switches like the Livolo. One of the generic brands is like this
Does anyone know what the component on the left is with the blue stripe? I was guessing transformer. I have drawn out the schematics to see how I might hack in an arduino radio.
Attempt at drawing the circuit here :
I ma not sure if the diodes marked as zeners are actually zeners.
I can see, you was working three months ago in this project and you have some initial circuit draft. I know about this kind of devices and I can help you if you are still working on it.
We can split the circuit as following:
a. Power supply: TRANS1(You are right, it is high frequency transformer), high voltage transistor MJE13001 (Q1), optocoupler (U7) and some additional components.
b. Optocouplers interface: for signals from the control board: TR1/U2/BRG6, TR2/U3/BRG3 and some additional components.
c. Triacs (Power Circuits) : T1, T2.
Please let me know for working together.
Thanks and best regards
I would be delighted to help in any way but I would need direction. My electronics experience is pretty much limited to DC circuits.
@shabba A. Power Supply.
This is the standard circuit for a the power supply.
I redrawn your circuit trying to use the standard form and I can observe it can not provide enough current for both (Atmega328+ nFR24l01)**. So, I adjusted some components for getting 3.3V and 22ma. Atmega328-8Mhz + nFR24l01 Without LEd´s ~ 18ma/3V
**It is Worst for RFM69 which has more consume.
Lukaspp last edited by Lukaspp
This post is deleted!
@Lukaspp : The Above pdf was tested with a simulation program but when I tested using real components I can not get the theoretical results. I had to ajust allmost to the original circuit from Shabba and the best power was 2.4V/13 ma. It is not enought for the couple Atmega328-8Mhz + NFR24l01. So, if the project friends want it is going further, the power Supply has to be out of this board. the rest of the board could be used. Opto Transistors TR1/TR2/ and Triacs. This is the final pdf for 2.4V/13ma.
I studied a little bit more this part of the circuit and it's a standard self oscillating flyback converter or a ringing choke converter as others call it. Indeed it provides the most compact solution for space constrained designs. But all of this comes at a cost: it's difficult to obtain a stable circuit and it has to be tuned by trial and error - at least this is what the literature says.
I'm not a switching power supplies expert here(even though I want to learn more about SMPS's in general but my time is limited for now) but I've come to a conclusion: it's difficult to tune this or to change the existing circuit to accommodate the mysensors circuits power requirements. I tried various combinations using sleep schemes and to change the flyback converter components as other mentioned in the mysensors forum and indeed I can power up my custom design that is presented in this thread BUT it's NOT STABLE. From time to time the switching transistor(mje13003) burns out and this is because I removed the resistor placed at the input of this power supply - near the bridge rectifier and replaced it with a wire(this is not the same resistor as @Lukaspp replaced from the base of the transistor which is the startup resistor for the flyback converter).
Now the only purpose that I imagine for this resistor is to suppress the transients - but it has a big value(100Kohm) which limits the current to a non-usable value for our purpose. I know that there are other solutions to overcome the transients but they are either bulky or too slow for this(correct me if I'm wrong here).
More than that let's not forget that we have 2 power supplies here and when the lights go on the first supply(flyback) input gets shorted by the relays contact(I have the relays variant btw not the one with triac) so I'm thinking that other transients appear here as the primary inductor doesn't like that as far as I know - so I assume the above mentioned resistor of 100Kohm comes into play here too. Another role for it would be to limit the inrush currents. I played with that value too but it needs to be very low to have something stable and I got a value around 200ohms but that doesn't help as it's too low and after some time the resistor burned up and saved my transistor :simple_smile: .
Now with all the tricks in the world and tuning the flyback converter to give more current this won't help as again let's not forget we have a SERIES circuit here so without external intervention we can't achieve that(only if we break somehow the laws of physics or maybe my thinking is limited :simple_smile: ). In this case the external capacitor placed across the light bulb comes into play to supply enough current to the standby circuit which is our flyback converter over here. I played with that one too and from 0,47uF I got to 4.7uF to have a decent result - but this one gets bulky and more expensive from obvious reasons. And let's not forget that the light bulb itself has some impact overall because this is the actual LOAD that we want to control and there are various light bulbs over there with various requirements. More than that they have their power supply embedded which in most of the cases is a(you guessed maybe): a self oscillating FLYBACK CONVERTER or similar. So this one too has inrush currents, transients which are sensed down the line to our dear Livolo switch and affects my custom board stability again :simple_smile: - isn't life beautiful? :simple_smile:
So far these are the results of my trials and none of them proved to be stable so I kinda gave up on this and will try to use a normal powering scheme somehow(as Sonoff switches with a battery powered touch switch on the wall). Not the best solution of all but this is what you get when the infrastructure wasn't thought for this scenarios from the beginning.
The Livolo guys thought of all of this I assume so that's why they stayed only with a simple circuit - a PIC mcu which maybe sleeps most of the time and a simple radio receiver which draws around 5mA or even less - so yeah that's why this works and it's stable in its original form.