Overall stability

General discussions and questions abound development of code with MicroPython that is not hardware specific.
Target audience: MicroPython Users.
Post Reply
flindt
Posts: 11
Joined: Tue Jun 20, 2017 8:51 am

Overall stability

Post by flindt » Mon Jul 31, 2017 9:42 am

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

kaybee
Posts: 4
Joined: Thu Nov 24, 2016 1:31 pm

Re: Overall stability

Post by kaybee » Mon Jul 31, 2017 11:43 am

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.

flindt
Posts: 11
Joined: Tue Jun 20, 2017 8:51 am

Re: Overall stability

Post by flindt » Mon Jul 31, 2017 12:47 pm

For testing we are using an STM32F429DISC1.
And we will most likely be using the STM32F429 for the product.

graemef
Posts: 5
Joined: Fri Jun 23, 2017 3:12 pm

Re: Overall stability

Post by graemef » Mon Jul 31, 2017 1:20 pm

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.

User avatar
pythoncoder
Posts: 5956
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Re: Overall stability

Post by pythoncoder » Tue Aug 01, 2017 7:18 am

@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.
Peter Hinch
Index to my micropython libraries.

flindt
Posts: 11
Joined: Tue Jun 20, 2017 8:51 am

Re: Overall stability

Post by flindt » Tue Aug 01, 2017 8:10 am

@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 :)

User avatar
pythoncoder
Posts: 5956
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Re: Overall stability

Post by pythoncoder » Tue Aug 01, 2017 8:22 am

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.

stijn
Posts: 735
Joined: Thu Apr 24, 2014 9:13 am

Re: Overall stability

Post by stijn » Tue Aug 01, 2017 8:32 am

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.

User avatar
pythoncoder
Posts: 5956
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Re: Overall stability

Post by pythoncoder » Wed Aug 02, 2017 9:42 am

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.
Peter Hinch
Index to my micropython libraries.

User avatar
jgriessen
Posts: 191
Joined: Mon Sep 29, 2014 4:20 pm
Contact:

Re: Overall stability

Post by jgriessen » Thu Apr 19, 2018 7:20 pm

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?
John Griessen blog.kitmatic.com

Post Reply