Hi Garry
Funny enough - power on the Pi was the subject of one of the best discussions we've had on my blog -
http://tech.scargill.net/a-question-of-lifespan/ where we started discussing SD lifespan and branched out into power and (some of us) discovered all sorts of things about Pi power - including tests and that board WAS on excellent power.
But... while I was in the UK the whole thing worked a treat for weeks - but just before I left the UK, I (probably stupidly) took my excellent 5amp USB supply with me and plugged that Pi into a normal USB mains adaptor - granted one able to give out reasonable power.
SO: Dave C-J asks if if could be a duff USB chip... if he means a duff USB chip on the Arduino, NO, because restarting Node-Red on the Pi always brings it back to life - indicating that the data is working on the Arduino constantly. The fact that I don't have to reset the Pi also suggests it is something to do with the UART and it's interface with Node-Red.
Last night when I was having trouble, I'd added
dwc_otg.speed=1
onto a new line in /boot/cmdline.txt
and it made no difference. Last thing last night- I moved it to the first line - which then became in total..
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait dwc_otg.speed=1
Related or not, it has not failed since then. Someone who knows more about that file than I will have to say whether putting it back onto the first line would actually make a difference or whether I've been lucky (in each case I rebooted after doing this).
So - could it be power causing the issue? Possibly - sadly as I'm nowhere near that board until October my testing ability is limited other than to run the power tests we came up with in the blog.
But hopefully this conversation will be helpful to anyone else struggling with this. The Pi2 incidentally is fully up to date as to operating system, Node-Red etc...
For me now, if indeed it fails again - my only viable scenario is, given that a Node-Red restart fixes the issue, to find a somewhat less dramatic way to re-start the Node-Red serial software other than to kill Node-Red. Monitoring is easy - I can put a time on the output of the UART which SHOULD be generating traffic every 30 seconds or less.... but what to actually DO if it stops....