Is there some successful MicroPython products?
Is there some successful MicroPython products?
hello everybody. I have pay close attention to MicroPython for a long time and my work next tage will use it.
I am very confused about if MircoPython will be accepted by Marketing and Developers.
MircoPython has many advantages such as:easy to learn, easy access to lib, REPL. but it has two disadvantages: Low operation efficiency and High resource usage.
Low operation efficiency will lead to poor real-time performance and high power consumption.
High resource usage will increase cost. (I have heard that some companys use assembly to re-code their product to reduce cost) .
Is there some successful MicroPython product especially in the field of IoT?
Sorry for my poor English and Thanks for reading.
I am very confused about if MircoPython will be accepted by Marketing and Developers.
MircoPython has many advantages such as:easy to learn, easy access to lib, REPL. but it has two disadvantages: Low operation efficiency and High resource usage.
Low operation efficiency will lead to poor real-time performance and high power consumption.
High resource usage will increase cost. (I have heard that some companys use assembly to re-code their product to reduce cost) .
Is there some successful MicroPython product especially in the field of IoT?
Sorry for my poor English and Thanks for reading.
-
- Posts: 969
- Joined: Sat Feb 03, 2018 7:02 pm
Re: Is there some successful MicroPython products?
That sounds rather strange to me. The cost of developing something in assembly should be a lot higher because the developers need a lot more time to create the code.
Always depends on what you are trying to do with it. There are projects driving robots, small gaming consoles, smarthome devices, sensor applications, ...Low operation efficiency and High resource usage.
Low operation efficiency will lead to poor real-time performance and high power consumption.
As for power consumption the pyboard D seems to be fairly good. Also depends on what you compare it with. It'll never beat a small arduino but that arduino won't have wifi (which is the most power demanding feature of the micropython devices).
What's the direction you are asking? Successful products that are being sold to a wide audience or successful products that I create for personal usage?Is there some successful MicroPython product especially in the field of IoT?
Kevin Köck
Micropython Smarthome Firmware (with Home-Assistant integration): https://github.com/kevinkk525/pysmartnode
Micropython Smarthome Firmware (with Home-Assistant integration): https://github.com/kevinkk525/pysmartnode
Re: Is there some successful MicroPython products?
I mean that when the function of a product is stable, the manufacturer begins to use assembly to optimize RAM and ROM occupation to reduce hardware cost. I worry about that MicroPython is used on rapid prototyping,and finally be replaced by C program or assembler in mass paoduction.That sounds rather strange to me. The cost of developing something in assembly should be a lot higher because the developers need a lot more time to create the code.
I want to port MicroPython to MCU and use it to develop IoT terminal product. But I got a lot of objections,such as Low operation efficiency ,High resource usage and High cost. It looks like a bad chioce.Always depends on what you are trying to do with it. There are projects driving robots, small gaming consoles, smarthome devices, sensor applications, ...
As for power consumption the pyboard D seems to be fairly good. Also depends on what you compare it with. It'll never beat a small arduino but that arduino won't have wifi (which is the most power demanding feature of the micropython devices).
I want to find some MicroPython products to study it, take it as a proof to prove my thoughts.What's the direction you are asking? Successful products that are being sold to a wide audience or successful products that I create for personal usage
Re: Is there some successful MicroPython products?
I'm just going to quote this because it answers pretty much everything.
I do not know where you got the idea that MicroPython has "Low operation efficiency, High resource usage and High cost." This sounds like managers talking, not engineers, because engineers would know such claims are impossible to prove without actual measurements and only make sense when looked at in comparison to another technology
In other words those claims can be correct or incorrect, all depending on the situation. However just "port MicroPython to MCU and use it to develop IoT terminal" is not enough information so we cannot really provide a good answer. Likewise, existing projects using microPython could be so different from your situation that you cannot use them to compare with.
So instead of looking around for existing answers you could do it differently and produce answers yourself: just try different things and compare them. This is the closest you can get to a detailed and properly founded answer. Set a basic simple goal which roughly matches the target application (say, print "hello world" to a screen on an MCU of choice). Now try to implement it in C, in assembly, and in MicroPython and Arduino and whatever is available. Is some technology takes you more than a day to implement consider abandoning it. In the end, compare development cost/time and end result efficiency (as in, really meausre how much mA the setup uses, not just guesswork). Then you can make an informed decision. This principle might not work for all occasions (though usually it does), management might not like it, but it normally produces much better and more accurate results than just guesswork based on internet documentation and forums.
Re: Is there some successful MicroPython products?
I use MicroPython in commercial products. I haven't had a problem with performance. MicroPython has interrupt and timer call backs and cooperative multi tasking (uasyncio) to help get good response to time critical events.
If you want Wi-Fi or BLE the ESP8266 and ESP32 run MicroPython or C/ASM at the same cost. Otherwise the STM32F030 is very inexpensive. 1k price at Digikey is $US0.97 for 64K and $1.31 for 256K. I run MicroPython in 256K with room for frozen code. For me the $0.34 is well worth it for the benefits.
One of the big advantages of MicroPython for me (a hardware guy) is ease of debugging in the field without the need for complex environment (compiler, IDE, JTAG probe) in a language I can understand.
If you want Wi-Fi or BLE the ESP8266 and ESP32 run MicroPython or C/ASM at the same cost. Otherwise the STM32F030 is very inexpensive. 1k price at Digikey is $US0.97 for 64K and $1.31 for 256K. I run MicroPython in 256K with room for frozen code. For me the $0.34 is well worth it for the benefits.
One of the big advantages of MicroPython for me (a hardware guy) is ease of debugging in the field without the need for complex environment (compiler, IDE, JTAG probe) in a language I can understand.
Re: Is there some successful MicroPython products?
Here are two talks that I've seen recently with some really good information about using MicroPython in a product.
"Profiling Pathogens with (micro) Python" - Andrew Leech (PyCon AU 2019) -- https://www.youtube.com/watch?v=YovngSLXoxw
This one is interesting because not only is it a product, but it's a _medical_ product.
MicroPython used in industrial applications - C. Spindler - PyLondinium18 -- https://www.youtube.com/watch?v=xDPdvjNxyWs
I would echo the same comments from other people on the thread.
In addition though, I would add another comment from my own experience -- MicroPython actually provides (in my experience) a really nice environment for writing C code. This is especially true if you're working with STM32, but it essentially provides a really good build system and set of low-level abstractions and drivers for doing a bunch of low-level tasks. Much more so than using the ST-provided libraries directly. With the added advantage that your "glue" code can be written in Python.
As far as performance goes, there are lots of neat tricks (e.g. @viper and @native and even @asm_thumb) for the small number of really crucial bits of code. And with things like machine.mem you can do direct register access.
A large amount of performance comes not so much from the language but the code itself, even if you have to do some pretty messy things... and I'd much rather write messy things in Python than C (or assembly), even if it doesn't look that much like "regular" Python.
"Profiling Pathogens with (micro) Python" - Andrew Leech (PyCon AU 2019) -- https://www.youtube.com/watch?v=YovngSLXoxw
This one is interesting because not only is it a product, but it's a _medical_ product.
MicroPython used in industrial applications - C. Spindler - PyLondinium18 -- https://www.youtube.com/watch?v=xDPdvjNxyWs
I would echo the same comments from other people on the thread.
In addition though, I would add another comment from my own experience -- MicroPython actually provides (in my experience) a really nice environment for writing C code. This is especially true if you're working with STM32, but it essentially provides a really good build system and set of low-level abstractions and drivers for doing a bunch of low-level tasks. Much more so than using the ST-provided libraries directly. With the added advantage that your "glue" code can be written in Python.
As far as performance goes, there are lots of neat tricks (e.g. @viper and @native and even @asm_thumb) for the small number of really crucial bits of code. And with things like machine.mem you can do direct register access.
A large amount of performance comes not so much from the language but the code itself, even if you have to do some pretty messy things... and I'd much rather write messy things in Python than C (or assembly), even if it doesn't look that much like "regular" Python.
Re: Is there some successful MicroPython products?
Micropython is used in Digi’s newer XBee products.
See: https://www.digi.com/resources/document ... 002219.pdf
See: https://www.digi.com/resources/document ... 002219.pdf
Re: Is there some successful MicroPython products?
I don't think it is suitable to call a product as "micropython product" if only micropython can be used during programming. If so, every board( pyboard, esp8266/32, and a long name list) can be called as "micropython products".
Re: Is there some successful MicroPython products?
The Raspberry Pi Pico's probably the highest profile MicroPython board.
Then there are the projects on Awesome MicroPython
Then there are the projects on Awesome MicroPython