Overall stability
Overall stability
Hi
Does anyone know have examples / references to instances of uPy being used in commercial products?
We are building products that will be running 24/7 for years on end, and while uPy will offer speed of implementation that are orders of magnitudes higher than plain C, I am not sure how to evaluate stability.
How would you guys feel about this? Is uPy ready for production?
cheers
Flindt
Does anyone know have examples / references to instances of uPy being used in commercial products?
We are building products that will be running 24/7 for years on end, and while uPy will offer speed of implementation that are orders of magnitudes higher than plain C, I am not sure how to evaluate stability.
How would you guys feel about this? Is uPy ready for production?
cheers
Flindt
Re: Overall stability
What is your hardware platform? My experience has been that the more established and more popular a board is, the better the stability. My ESP8266 boards seem to be quite stable, the ESP32 boards not quite so just as a general impression. I'm an electronics hobby sort of person so I haven't had a lot of 24/7 extended run times but have certainly had things running for multiple days.
Re: Overall stability
For testing we are using an STM32F429DISC1.
And we will most likely be using the STM32F429 for the product.
And we will most likely be using the STM32F429 for the product.
Re: Overall stability
I have been using uPy on the STM32F429DISCO for about a month and the only thing I have noticed stability wise is that when power is removed while the PYBFLASH drive is mounted, then more often than not the file main.py disappears and gets replaced with the default main.py.
So this is a sympton of unsafe ummounting as with other operating systems, but I guess it could happen if deployed as a product.
Haven't seen this problem when unmounting safely i.e ejecting the mounted partition.
So this is a sympton of unsafe ummounting as with other operating systems, but I guess it could happen if deployed as a product.
Haven't seen this problem when unmounting safely i.e ejecting the mounted partition.
- pythoncoder
- Posts: 5956
- Joined: Fri Jul 18, 2014 8:01 am
- Location: UK
- Contact:
Re: Overall stability
@graemef The issue with mounting the board's filesystem on a PC is well known and is a property of USB's mass storage mode which isn't designed for multi-user access. I never use it and disable MSC mode in boot.py.
@flindt In my experience the Pyboard is highly reliable. I have a project which has four Pyboards running 24/7 - they are battery powered and wake on an hourly basis. Two of them are in unheated environments. In about 18 months operation none have failed. I appreciate that a hobby project knocked together by a retired engineer is no match for a commercial deployment - perhaps someone else will step forward.
As others have said, newer ports may be less solid than the Pyboard. A year ago the ESP8266 was very flaky. Now it seems reliable.
@flindt In my experience the Pyboard is highly reliable. I have a project which has four Pyboards running 24/7 - they are battery powered and wake on an hourly basis. Two of them are in unheated environments. In about 18 months operation none have failed. I appreciate that a hobby project knocked together by a retired engineer is no match for a commercial deployment - perhaps someone else will step forward.
As others have said, newer ports may be less solid than the Pyboard. A year ago the ESP8266 was very flaky. Now it seems reliable.
Peter Hinch
Index to my micropython libraries.
Index to my micropython libraries.
Re: Overall stability
@graemef
Ok. I will keep this in mind. Our product will no have USB available to the user, so this problem should be limited to development.
@pythoncoder
Thanks for the input. 4x18mths is still a big jump from my ½ hour tests
Ok. I will keep this in mind. Our product will no have USB available to the user, so this problem should be limited to development.
@pythoncoder
Thanks for the input. 4x18mths is still a big jump from my ½ hour tests
- pythoncoder
- Posts: 5956
- Joined: Fri Jul 18, 2014 8:01 am
- Location: UK
- Contact:
Re: Overall stability
Over the last three years I've probably done more with the Pyboard than most - I don't think I've ever had one crash without the cause being traced to my own ineptitude
Peter Hinch
Index to my micropython libraries.
Index to my micropython libraries.
Re: Overall stability
I never ran programs more than a couple of days but in my experience if there's a bug it's discovered soon, like in the first hour of running, after a couple of garbage collector runs. Exceptions would be if you have code paths which don't get used within an hour or so - but if you plan to run on such long term you should have unittested those to the max already. And of course there can be programmer errors like depending on date/running time but that's not related to uPy's stability.
- pythoncoder
- Posts: 5956
- Joined: Fri Jul 18, 2014 8:01 am
- Location: UK
- Contact:
Re: Overall stability
Hmm. <Recalls weeks working 12 hour shifts hunting down bugs which cropped up once per blue moon...>
In any event these observations are common to all realtime systems.
In any event these observations are common to all realtime systems.
Peter Hinch
Index to my micropython libraries.
Index to my micropython libraries.
Re: Overall stability
I'm debugging a new board similar to G30TH where I have confirmed the hardware with a C program to flash different GPIOs. That C language test, miniblink using libopencm3, found one pin shorted by bad soldering of my prototype. What do you recommend to remove and simplify down so I can get a solid test using micropython? My crystal oscillator is running well at 16MHz.
You have recommended using the repl on a uart and disabling USB, so I will do that.
What else?
You have recommended using the repl on a uart and disabling USB, so I will do that.
What else?
John Griessen blog.kitmatic.com