What did you build today (Pictures) ?
-
@monte I think it may run into the same barrier I encountered with both uPython and FORTH and uLISP. I got them all to do FOTA with nRF52, which is easier because they are interpreted, but in none of the cases could I easily leverage the wonderfully extensive arduino sensor libraries because those are written in C. Apparently there do exist ways to do it with linkers and such, but I wouldn't classify it as easily done. More like "easier said than done." uLISP would have been the easiest to adapt C-libraries, but it's a slow inefficient implementation of LISP, so that was a downside. Although practically anything can be made to work given enough time and effort, there's something to be said for staying within the Arduino framework so as to minimize time and effort.
That said, maybe your idea is different. Sometimes it's hard to really know until you explore it a bit.
-
@monte I think it may run into the same barrier I encountered with both uPython and FORTH and uLISP. I got them all to do FOTA with nRF52, which is easier because they are interpreted, but in none of the cases could I easily leverage the wonderfully extensive arduino sensor libraries because those are written in C. Apparently there do exist ways to do it with linkers and such, but I wouldn't classify it as easily done. More like "easier said than done." uLISP would have been the easiest to adapt C-libraries, but it's a slow inefficient implementation of LISP, so that was a downside. Although practically anything can be made to work given enough time and effort, there's something to be said for staying within the Arduino framework so as to minimize time and effort.
That said, maybe your idea is different. Sometimes it's hard to really know until you explore it a bit.
@NeverDie I mean, what exactly use scenario for FOTA update of a remote working node? What can you possibly want to change remotely without changing any hardware? I guess it can be some logic, or parameters that may require adjustment that can be made remotely, and that's how I think JSON can be used to specify those. I well may be overlooking the big part of a problem, so I ask to better understand it.
-
@NeverDie I mean, what exactly use scenario for FOTA update of a remote working node? What can you possibly want to change remotely without changing any hardware? I guess it can be some logic, or parameters that may require adjustment that can be made remotely, and that's how I think JSON can be used to specify those. I well may be overlooking the big part of a problem, so I ask to better understand it.
@monte said in What did you build today (Pictures) ?:
@NeverDie I mean, what exactly use scenario for FOTA update of a remote working node? What can you possibly want to change remotely without changing any hardware?
for example arduino core used for the firmware (sdk..), libraries updates (MySensors, sensors), etc
-
@monte said in What did you build today (Pictures) ?:
@NeverDie I mean, what exactly use scenario for FOTA update of a remote working node? What can you possibly want to change remotely without changing any hardware?
for example arduino core used for the firmware (sdk..), libraries updates (MySensors, sensors), etc
-
@scalz but why do you need this on an already working node? Mysensors has backward compatibility so far. Do you expect any improvements from updated sensor libraries for a working node? In this case, you of course would need proper FOTA.
@monte said in What did you build today (Pictures) ?:
@scalz but why do you need this on an already working node? Mysensors has backward compatibility so far. Do you expect any improvements from updated sensor libraries for a working node? In this case, you of course would need proper FOTA.
I don't think that a major fw release (MySensors in this case) always guarantees full backward compatibility.
Perhaps not for a sensor lib (but who knows), still, if not for any core updates, do you expect any improvements from updated MySensors lib for a working node/network? If no, then you don't need fota ;)
app settings != app/fw update[edit]
Examples when you may need to flash your fw (wirelessly or with a programming tool):- it was not possible to have backward compatibility between old and new rfm69 drivers (new driver brought lot of improvements for green rf like adaptive TX power, power consumption etc).
So it required updating network (gw and all nodes). This can happen eventually for a major release (v2->v3 or v3->v4..), a major release could allow "controlled" breaking change if no other way. - bugs fixes in MySensors files (core, transport, security..)
- new features updates if needed (in MySensors, or your own sketch), easy to imagine, so many things to improve
- etc
- it was not possible to have backward compatibility between old and new rfm69 drivers (new driver brought lot of improvements for green rf like adaptive TX power, power consumption etc).
-
@monte said in What did you build today (Pictures) ?:
@scalz but why do you need this on an already working node? Mysensors has backward compatibility so far. Do you expect any improvements from updated sensor libraries for a working node? In this case, you of course would need proper FOTA.
I don't think that a major fw release (MySensors in this case) always guarantees full backward compatibility.
Perhaps not for a sensor lib (but who knows), still, if not for any core updates, do you expect any improvements from updated MySensors lib for a working node/network? If no, then you don't need fota ;)
app settings != app/fw update[edit]
Examples when you may need to flash your fw (wirelessly or with a programming tool):- it was not possible to have backward compatibility between old and new rfm69 drivers (new driver brought lot of improvements for green rf like adaptive TX power, power consumption etc).
So it required updating network (gw and all nodes). This can happen eventually for a major release (v2->v3 or v3->v4..), a major release could allow "controlled" breaking change if no other way. - bugs fixes in MySensors files (core, transport, security..)
- new features updates if needed (in MySensors, or your own sketch), easy to imagine, so many things to improve
- etc
@scalz as time goes I'm becoming more "Ain't broke, don't fix it" guy. Let's say, you've installed relay node somewhere outdoors, that has been working for a couple years. What exactly would you want to improve by reflashing it with updated library? Or maybe not a relay, but any other node, you have in mind, that could benefit from this action.
Once again, I don't want to argue, just clearing things out for myself.
Thanks :) - it was not possible to have backward compatibility between old and new rfm69 drivers (new driver brought lot of improvements for green rf like adaptive TX power, power consumption etc).
-
@monte I get it. I think this is off topic here, maybe open a new thread if you need to ask people why/when they need to update their systems, reflash their devices etc
( I have edited my previous reply with a few more examples in case it would be more clear) -
@monte I get it. I think this is off topic here, maybe open a new thread if you need to ask people why/when they need to update their systems, reflash their devices etc
( I have edited my previous reply with a few more examples in case it would be more clear)@scalz I agree that this conversation is off topic, and I indeed started a separate thread before I posted replies here. Fell free to express your thoughts here, if you want: https://forum.mysensors.org/topic/10895/modular-sketch-to-be-configured-with-json-idea/
-
@NeverDie said in What did you build today (Pictures) ?:
@Nca78 Looked at another way, once installed and sealed up it will also be a sort of time capsule. :+1:
I said hidden and not sealed. Unless you have worked really hard on the FOTA for nrf52 ? :p
-
@xmonika Nice work! I really like how you very artfully leveraged pre-made boards into such a compact assemblage. Is the backplane something that you self etched or CNC'd?
@NeverDie a big thank you as I was inspired by many of your post and this was my first Nrf5 project. The backplate is designed in KiCAD and then outsourced for etching to one local semi-hobby service. Modules are then connected via precision header pins (concept inspired by Ardumower)
-
Today I finally assembled some of my new PCB's
2 New front PCB's (a repeater and a LED-Dimmer)
1 New Back PCB that can be used as just an AC/DC power supply or as part of the AC current side of the LED-DimmerThe last inwall repeater I made was just one PCB, and during installation, I got zapped :cry: , so I tried to make a 3D design to counter that.
The part that is the furthest in the wall is the AC side, and the microcontrollers, etc (DC-side) are at the front. Both are connected using 4 pins and are fastened by 4, 3m standoffsI think this is much safer when, for instance, the front cover is taken off. (i use the same design as: LINK)
Pictures show the FL5150 dimmer at the front and its compatible backside.
When the testing is done, I also want to connect a touch sensor to it, so the dimmer can be controlled remotely as well by touch.
-
Today I finally assembled some of my new PCB's
2 New front PCB's (a repeater and a LED-Dimmer)
1 New Back PCB that can be used as just an AC/DC power supply or as part of the AC current side of the LED-DimmerThe last inwall repeater I made was just one PCB, and during installation, I got zapped :cry: , so I tried to make a 3D design to counter that.
The part that is the furthest in the wall is the AC side, and the microcontrollers, etc (DC-side) are at the front. Both are connected using 4 pins and are fastened by 4, 3m standoffsI think this is much safer when, for instance, the front cover is taken off. (i use the same design as: LINK)
Pictures show the FL5150 dimmer at the front and its compatible backside.
When the testing is done, I also want to connect a touch sensor to it, so the dimmer can be controlled remotely as well by touch.
@Omemanti said in What did you build today (Pictures) ?:
I also want to connect a touch sensor to it
You may not need an extra sensor. I haven't yet tried it myself, but supposedly the nRF52 has capacitive touch sensing built in.
-

Today I had to make a quick debug to my dorrbell node. It stopped working for some reason some weeks ago but the node was fine. It was due to Domoticz update didn't recognise the node anymore. Since it's down I'm going to change from a mechanic trigger to a octocoupler... Any day now.
I also have a new outdoor node testing for some weeks npw... Maybe tomorrow will be a Mysensors day and I can do the enclosure and deploy.

@sundberg84 Nice, I had hanging issues with Domoticz in the past, until I decided to switch to Home Assistant. Best decision ever.
-
Built a heat pump monitor based on mysensors on an Nano board and a few LM393 light sensors.
It's simply reading the status LEDs and tells me if they're on or off, and it means I can correlate e.g the compressor or circulation pumps with the electricity usage read from the power meter.
Also, which actually was the main driver behind the project, it allows me to send an alarm to my phone in case the alarm LED goes on. This is usually caused by incorrect pressure somewhere in the system and can be fixed by simply restarting the system. When the alarm triggers, it shuts down everything which is a bit annoying since it can take a few hours before I notice it (usually not until I go in the shower and there is no hot water). I now have to figure out how to deal with the fact that the alarm LED is blinking, which causes a stream of "alarm ON, alarm OFF, alarm ON, ... ." etc messages in Telegram :) There should be a way to fix this in Home Assistant I hope.
An interesting thing was that I was not able to tune the sensors to give me an accurate on/off digital signal. I therefore have to read the analog signal, and in the sketch decide whether it's on or off depending on the value. The values are in the 0..1023 range and the threshold was somewhere around 1000, so I think it was too close to the end of the range for the adjustment potentiometer.





-
Built a heat pump monitor based on mysensors on an Nano board and a few LM393 light sensors.
It's simply reading the status LEDs and tells me if they're on or off, and it means I can correlate e.g the compressor or circulation pumps with the electricity usage read from the power meter.
Also, which actually was the main driver behind the project, it allows me to send an alarm to my phone in case the alarm LED goes on. This is usually caused by incorrect pressure somewhere in the system and can be fixed by simply restarting the system. When the alarm triggers, it shuts down everything which is a bit annoying since it can take a few hours before I notice it (usually not until I go in the shower and there is no hot water). I now have to figure out how to deal with the fact that the alarm LED is blinking, which causes a stream of "alarm ON, alarm OFF, alarm ON, ... ." etc messages in Telegram :) There should be a way to fix this in Home Assistant I hope.
An interesting thing was that I was not able to tune the sensors to give me an accurate on/off digital signal. I therefore have to read the analog signal, and in the sketch decide whether it's on or off depending on the value. The values are in the 0..1023 range and the threshold was somewhere around 1000, so I think it was too close to the end of the range for the adjustment potentiometer.





@maghac said in What did you build today (Pictures) ?:
I now have to figure out how to deal with the fact that the alarm LED is blinking, which causes a stream of "alarm ON, alarm OFF, alarm ON, ... ." etc messages in Telegram There should be a way to fix this in Home Assistant I hope.
You should fix it by using a flag for alarm led on and the last time the alarm led went on :
- when led gets on, set the "alarm on" flag in your code, save the millis() of last alarm led on in a "last alarm led on" variable
- in the loop, check status of the alarm led: if off and "alarm on" flag is on, compare millis() with "last alarm led on" time. If the difference is higher than the duration of a blink interval then your alarm is really off.
-
@maghac said in What did you build today (Pictures) ?:
I now have to figure out how to deal with the fact that the alarm LED is blinking, which causes a stream of "alarm ON, alarm OFF, alarm ON, ... ." etc messages in Telegram There should be a way to fix this in Home Assistant I hope.
You should fix it by using a flag for alarm led on and the last time the alarm led went on :
- when led gets on, set the "alarm on" flag in your code, save the millis() of last alarm led on in a "last alarm led on" variable
- in the loop, check status of the alarm led: if off and "alarm on" flag is on, compare millis() with "last alarm led on" time. If the difference is higher than the duration of a blink interval then your alarm is really off.
-
It's s WS2812B LED strip driver using STM32 blue pill and RFM69HCW.
I have made a few revisions previously, but this one fits an off-the-shelf enclosure and uses the pcb and enclosure lid for strain relief on the LED strip connector wires.
I like the concept of using the enclosure slots to hold the pcb. Maybe a slightly smaller enclosure next time.
-
Today, a 5uA always on display with a PCF8553 LCD driver and a GDC1038 LCD from GoodDisplay. Power consumption varies with voltage but mostly with what segments are on/off, but at 3.3V with segments on to display data on all parts of display (2*4 digit numbers and 3 letters) it's always below 6uA.

Not sure why the Youtube video won't integrate as it should, but here it is for a more animated version:
https://youtu.be/QyaC7J84vN8
image url)
