Author Topic: EEVblog #1306 (1 of 5): 3 Cent Padauk Micro - Open Source Programmer  (Read 3355 times)

0 Members and 1 Guest are viewing this topic.

Offline EEVblog

  • Administrator
  • *****
  • Posts: 32346
  • Country: au
    • EEVblog
A five part video series on building the Free PDK open source programmer for the 3 Cent Padauk microcontrollers.
A new video released 9am Sydney time every day.
Part 1 is about how to take a github hardware project and order the parts and PCB from a Bill Of Materials. This could be applicable to any project you want to get manufactured.
https://github.com/free-pdk/

 
The following users thanked this post: cdev, thm_w, GromBeestje, DenCraw

Offline cdev

  • Super Contributor
  • ***
  • Posts: 6078
  • Country: 00
Whoa, three cents!

will now HAVE to check this out, cheapskate that I am.
"What the large print giveth, the small print taketh away."
 

Offline ntldr

  • Newbie
  • Posts: 1
  • Country: de
Nice to hear that the project came through. And even with a proper C compiler. Was looking at them for a small project I ordered last week, but didn't want to go through with it, due to the toolchain issues I remembered. Looks like the situation has changed a bit. Maybe next time. For now I'm stuck with an old PIC for ten times the price, what a waste...

One note regarding the video: JLC will happily do V-Scoring on their prototype panels. They just route out your panel (as if it was one large board) and then just V-Score it individually. They do have a minimum panel size, but aside from that I haven't had any issues with panelizing with them. Oddly it's not even an extra cost despite being an extra process step.

As a matter of fact it even looks like the panels on the Github repo were made at JLC, judging from the markings & order code on the edge rails.
 

Offline greenpossum

  • Frequent Contributor
  • **
  • Posts: 410
  • Country: au
Would be even nicer if some module manufacturer like Elecrow were to make and sell them. Landed price would then be closer to what I'd be willing to pay, under $10. Or maybe people within an area can organise a group buy?
 

Offline Crumble

  • Regular Contributor
  • *
  • Posts: 97
Well, I think you'll be more lucky when you initiate this group buy yourself so you can make sure the initiative starts in your vicinity, but for $10 I guess you'll have some issues getting even the postage paid, unless these people are neighbours... ;D The STM on it is already $3, so I guess you will have to wait for Shenzhen to start the presses to really get it for the $10 you mention. Maybe you can get it down to a reasonable price if you get a panel and a stencil made and place the SMD parts. It would make it a very much more attractive module to buy.

What would you guys use the micro's for? It only seems to make sense to use these parts if you plan mass production or have an unusually large project in which you have a need for a lot of self contained modules linked together or so. I occasionally play with Arduino Nano's, and at $2 a piece it would take me years to to go through $10 worth of them. After all, I can very easily reprogram them for the project I am working on, and they plug in and out of a (bread)board quite easily. Keep in mind you need to desolder these suckers every time and replace them, which is IMHO a bit of a pain in the butt for playing around with. For smaller space constrained tasks I would prefer the Attiny85, which has some quite powerful analog features too, and which can be programmed from an Arduino, which I already have. Yes, it's more than $1 a piece, but for projects I generally only build once or twice it is not a big issue to me.

In the meantime this is of course a great project to see unfolding, lots of great work was done in creating this toolchain. For me it is no use, but admittedly, when the opportunity to create a very cheap sellable product comes along, I feel I need to be ready, even though I doubt my fortunes in this matter... :-\ I guess that if you're a freelancer and one of your contacts comes around with a product with a very tight budget (per unit) you may make him very happy by getting one of these controllers to do the job for him.
 
The following users thanked this post: thm_w

Offline greenpossum

  • Frequent Contributor
  • **
  • Posts: 410
  • Country: au
Well, I think you'll be more lucky when you initiate this group buy yourself so you can make sure the initiative starts in your vicinity, but for $10 I guess you'll have some issues getting even the postage paid, unless these people are neighbours... ;D The STM on it is already $3, so I guess you will have to wait for Shenzhen to start the presses to really get it for the $10 you mention. Maybe you can get it down to a reasonable price if you get a panel and a stencil made and place the SMD parts. It would make it a very much more attractive module to buy.

What would you guys use the micro's for? It only seems to make sense to use these parts if you plan mass production or have an unusually large project in which you have a need for a lot of self contained modules linked together or so. I occasionally play with Arduino Nano's, and at $2 a piece it would take me years to to go through $10 worth of them. After all, I can very easily reprogram them for the project I am working on, and they plug in and out of a (bread)board quite easily. Keep in mind you need to desolder these suckers every time and replace them, which is IMHO a bit of a pain in the butt for playing around with. For smaller space constrained tasks I would prefer the Attiny85, which has some quite powerful analog features too, and which can be programmed from an Arduino, which I already have. Yes, it's more than $1 a piece, but for projects I generally only build once or twice it is not a big issue to me.

In the meantime this is of course a great project to see unfolding, lots of great work was done in creating this toolchain. For me it is no use, but admittedly, when the opportunity to create a very cheap sellable product comes along, I feel I need to be ready, even though I doubt my fortunes in this matter... :-\ I guess that if you're a freelancer and one of your contacts comes around with a product with a very tight budget (per unit) you may make him very happy by getting one of these controllers to do the job for him.

These boards are so light that if you leave female connector for the recipient to solder you could probably stick them in a letter.

I'm just a hobbyist and not thinking of large scale. You would never take these things out after soldering. Your time is worth more than 3¢ plus the surrounding electronics. Think of it as a flexible digital logic chip that you use to do a standalone function. Say you want a running arrow for a small sign or a button debouncer or a light that stays on for 20 seconds after releasing the button.
 

Offline Crumble

  • Regular Contributor
  • *
  • Posts: 97
These boards are so light that if you leave female connector for the recipient to solder you could probably stick them in a letter.
Exactly! ;)

Unfortunately I am based in Europe, so I won't be able to send one to you with any practical ease... :-\
Quote
I'm just a hobbyist and not thinking of large scale.
I'm just a hobbyist too, but that only makes it worse. The upfront cost (mainly in time) of getting such a micro working are way larger than you can reasonably be expected to recoup. Keep in mind that equivalent flash controllers that these cheap ones could theoretically replace are not all that expensive, an Attiny10 is only $0,40, and a vastly more powerful Atmega328 is only $1,50. Did I mention the STM8 series which can be had for <$0,22 a piece, with a <$4 programmer? :wtf: For the $10 you mention you can get the programmer and almost 30 of these chips, which can be reused if required.
Quote
Your time is worth more than 3¢ plus the surrounding electronics.
Your time is probably worth more than most common microcontrollers, so I would consider the time it is going to take from the moment you get your programmer delivered and the moment you get the first usable program in one of these micro's. Pure from the perspective of cost in time it may turn out to be difficult to justify going for this 3¢ device. I am actually quite happy with the speed at which you can get an Arduino Uno to do something from scratch.

I'm sorry if I sound a bit sarcastic, it was not intended, especially because initially I thought the exact same way you did. Afterwards though I started to realise that if I wanted to start playing with microcontrollers I needed a few basic things (programmer) and some practice, both of which were going to be more costly than any savings I would ever make in controllers. For me the Atmel controllers are #1 because there is such a massive community around them (Arduino) causing them to be well supported. They are also so cheap I can afford to lose one with every project I do, even though I don't actually make that many projects with microcontrollers in it at all, and I never blew one up. Only when I want to go professional I'd consider switching to other parts based on price. The type of clients that require the use of 3 cent micro's are probably not going to be the best paying ones anyway, so I would avoid those if I were you... In the meantime it is great fun seeing how this cheap micro is triggering such a flurry of activity in the open source community. This may turn out to be very interesting, it is a bit like seeing the Arduino take off.
 

Offline greenpossum

  • Frequent Contributor
  • **
  • Posts: 410
  • Country: au
Yes, but people don't think twice about putting say a transistor or a voltage regulator in a circuit. Why should it be different for a 3¢ MCU? You are still thinking make a custom program then flash it and retry until it works. You're still thinking all the MCU power is too precious to waste. Look at it from the other direction. You have a frequently used function you want an 8 pin device to do, well 6 pins left after power pins are connected, so you design it, simulate it with a MTP version if you like, and then add it to your list of 6 pin gadgets. When you need one, burn one. Or burn a pile and put it in your parts box.

The startup cost of the programmer is only once. At the moment it's for the keen. But once you have a jig setup, you can make any 6 pin gadget from your library on demand. Other people may have designs to share too. We're talking about very basic gadgets. That's why the Padauk C compiler is so limited that they implemented a bastardised for loop which iterates over a list. I seem to remember that it unrolls the loop. If you can fit it into 1kB why not?

I already went through the RPi, Arduino, ESP32, STM8, STM32 etc phase. This is a different game. For 3¢ you can treat it like a transistor. And you keep talking about clients and projects. I already told you I have no interest in those.
 

Offline MathematicalJ

  • Contributor
  • Posts: 11
  • Country: us
Has anyone made a version with JLC Basic Components so it can be pick-and-placed by JCB as well?
 

Offline HKJ

  • Super Contributor
  • ***
  • Posts: 1571
  • Country: dk
    • Tests
It is a very niece project, but these cheap micros are not that well suited to hobby project with very low production quantity.
Even with the low price and simple programmer I do not see any reason to use it when the final quantity is expected to be below 100, there a micro with lots of flash memory is much more suited. If you get into the 1000, 10000's or more it may be a very good idea to look at this project.
 

Offline Crumble

  • Regular Contributor
  • *
  • Posts: 97
Re: EEVblog #1306 (1 of 5): 3 Cent Padauk Micro - Open Source Programmer
« Reply #10 on: May 15, 2020, 09:16:53 pm »
@greenpossum: I guess we just have very different methods of hobbying, for my user case (which includes playing with analog stuff a lot, which does not help) I consider this product to be no more than a curiousity. In the meantime I will just follow along and enjoy the show. :popcorn:

@Peabody: It is funny you mention that, I was scrolling through the video description to find the link too because you cannot read it when the video settings are at 480p either (which happens when the connection is bad). :-DD For what it's worth: the link is https://github.com/free-pdk/. ;)
 

Offline greenpossum

  • Frequent Contributor
  • **
  • Posts: 410
  • Country: au
Re: EEVblog #1306 (1 of 5): 3 Cent Padauk Micro - Open Source Programmer
« Reply #11 on: May 15, 2020, 10:56:28 pm »
@greenpossum: I guess we just have very different methods of hobbying, for my user case (which includes playing with analog stuff a lot, which does not help) I consider this product to be no more than a curiousity. In the meantime I will just follow along and enjoy the show. :popcorn:

Well the problem is you already had a preconception in your mind how I and other people might use these. As I said, forget that it's a MCU, just think of it as a very cheap configurable digital chip.
 

Offline ebclr

  • Super Contributor
  • ***
  • Posts: 2224
  • Country: 00
Re: EEVblog #1306 (1 of 5): 3 Cent Padauk Micro - Open Source Programmer
« Reply #12 on: June 05, 2020, 09:25:26 pm »
I would like to understand what is that Padauk all about,

I use STC15F104e where low cost is a point that CPU cost 7 cents ( it's double than 3 cents from Padauk But still near 0 and isn't OTP) , has standard 8051 compatibilities, and is flash and eresable, Have a lot of development tools paid and free, for assembler C , pascal, Real-time simulation ( Proteus ) and even forth. why I would think in USE  a 3 Cents limited CPU OTP Like Padauk, this makes no sense, Why are you guys so excited about this trash? What is the point?
 

Offline thm_w

  • Super Contributor
  • ***
  • Posts: 2407
  • Country: ca
Re: EEVblog #1306 (1 of 5): 3 Cent Padauk Micro - Open Source Programmer
« Reply #13 on: June 08, 2020, 08:55:39 pm »
I would like to understand what is that Padauk all about,

I use STC15F104e where low cost is a point that CPU cost 7 cents ( it's double than 3 cents from Padauk But still near 0 and isn't OTP) , has standard 8051 compatibilities, and is flash and eresable, Have a lot of development tools paid and free, for assembler C , pascal, Real-time simulation ( Proteus ) and even forth. why I would think in USE  a 3 Cents limited CPU OTP Like Padauk, this makes no sense, Why are you guys so excited about this trash? What is the point?

36c each
https://lcsc.com/product-detail/STC_STC15F104E-35I-SOP8_C106847.html
 


Offline thm_w

  • Super Contributor
  • ***
  • Posts: 2407
  • Country: ca
 

Offline ebclr

  • Super Contributor
  • ***
  • Posts: 2224
  • Country: 00
Re: EEVblog #1306 (1 of 5): 3 Cent Padauk Micro - Open Source Programmer
« Reply #16 on: June 10, 2020, 12:45:47 am »
" taobao is not a major authorized electronics distributor."

I don' t care, bought one time works, bought 2nd time works again,  Now I'm on the " n"  time level and no problem at all. I do not have the necessity to this kind of nonsense in restrict my supplier to expensive ones
 

Offline greenpossum

  • Frequent Contributor
  • **
  • Posts: 410
  • Country: au
Re: EEVblog #1306 (1 of 5): 3 Cent Padauk Micro - Open Source Programmer
« Reply #17 on: June 10, 2020, 03:07:54 am »
7c each

https://item.taobao.com/item.htm?spm=a230r.1.14.8.35ce1d9d60uX6n&id=572963383895&ns=1&abbucket=16#detail

Interesting, might give Taobao a try. One wonders what you're getting at that price. Seconds? End of run parts? How does the supplier make enough money to eat?
 

Offline spth

  • Regular Contributor
  • *
  • Posts: 140
  • Country: de
Re: EEVblog #1306 (1 of 5): 3 Cent Padauk Micro - Open Source Programmer
« Reply #18 on: June 13, 2020, 11:25:06 am »
7c each

https://item.taobao.com/item.htm?spm=a230r.1.14.8.35ce1d9d60uX6n&id=572963383895&ns=1&abbucket=16#detail

Interesting, might give Taobao a try. One wonders what you're getting at that price. Seconds? End of run parts? How does the supplier make enough money to eat?

I don't know, but if you buy from taobao, there are Padauk µC below 0.01 € (PMS15A, when bought in quantities of at least 10).
 

Offline spth

  • Regular Contributor
  • *
  • Posts: 140
  • Country: de
Re: EEVblog #1306 (1 of 5): 3 Cent Padauk Micro - Open Source Programmer
« Reply #19 on: June 13, 2020, 11:35:11 am »
I would like to understand what is that Padauk all about,

I use STC15F104e where low cost is a point that CPU cost 7 cents ( it's double than 3 cents from Padauk But still near 0 and isn't OTP) , has standard 8051 compatibilities, and is flash and eresable, Have a lot of development tools paid and free, for assembler C , pascal, Real-time simulation ( Proteus ) and even forth. why I would think in USE  a 3 Cents limited CPU OTP Like Padauk, this makes no sense, Why are you guys so excited about this trash? What is the point?

There are Padauk µC that have Flash. They don't get mentioned on eevblog much, but most development for the free tools used them (and they are thus among the currently best-supported ones - all the demo programs have been developed and tested on the Flash devices).

When  writing C programs withfree tools, I do not see any advantage on either side of 8051 vs. Padauk. For both you'd use SDCC as the compiler. For both there are tools to write the programs onto the devices (thouhg currently, the Pdauk ones seem better maintained).

The Padauk µC are no trash. They are somewhat comparable to lower-end 8051-compatible devices like the one you mentioned. Of course on the 8051 side you have the advantage of multiple vendors, and the possibility to change to bigger devices as necessary (Padauk currently tops out at 256 B RAM). But you don't get hardware multithreading on 8051 (though that is a Padauk feature not yet supported by free tools - you'd currently have to write the code for all cores but one in assembler).

Personally, I prefer the Padauk architecture to 8051, but it is not that much of a difference. Both are much nicer than PIC. Both are far less nice than STM8.
 

Offline serisman

  • Regular Contributor
  • *
  • Posts: 94
  • Country: us
Re: EEVblog #1306 (1 of 5): 3 Cent Padauk Micro - Open Source Programmer
« Reply #20 on: June 13, 2020, 07:40:00 pm »
Personally, I prefer the Padauk architecture to 8051, but it is not that much of a difference. Both are much nicer than PIC. Both are far less nice than STM8.

I'm curious why you prefer Padauk over 8051?  Also, why do you think STM8 is better than both (that hasn't necessarily been my experience).

In general, it seems like 8051 gets a bad rap lots of times and I'm not entirely sure why.  Is it the split memory architecture?  Or the lack of a good open source C compiler?  Yes, I know about SDCC (and use it all the time), but it really isn't all that efficient/optimized in the code it generates.  But, it is good enough for high level things, and one can always drop down to inline assembly for the places where speed and/or size efficiency is actually important.

Speaking of program size, 8051 is actually pretty optimal in this regard.  There are a lot of 1 byte instructions in addition to the 2 byte instructions, and very few 3 byte instructions.  The Padauk ICs use the equivalent of 2 byte instructions for everything (whether it is a 13/14/15/16 bit word).  Other architectures AVR/STM8 seems to have larger sized instructions on average, potentially contributing to larger sized programs (of course it also depends on the instruction set and how many instructions are needed to accomplish the task at hand).

Surely the Padauk with their limited SRAM is no better than 8051 in terms of memory architecture.  Even comparing 8051 to other architectures, I don't find the split memory to be all that big of a deal really.  In fact, it is kind of liberating.  The internal 128/256 bytes of SRAM can be thought of like a giant 'register' pool or scratch pad, and then one can use the larger xram for normal things like global variables that aren't accessed as often, or arrays where one has to access them indirectly anyway.  The 8051's instructions really aren't that different for accessing xram than what other architectures require for indirect access (i.e. mov dptr, #address; movx a, @dptr;, or movx @dptr, a; inc dptr).  This is very similar to AVR's X, Y, Z registers which are used as indirect pointers into SRAM.  Most 8051 MCUs these days have support for dual dptrs as well.  Maybe the biggest limitation is that the stack has to fit within the internal 256 byte of SRAM, but I haven't found that to be too much of a limit so far.

One place where 8051 might fall behind is in cycles per instruction, but this really depends on which variant you work with.  One of my favorite 8051 MCUs right now is the Nuvoton N76E003 (~$0.20/each for a TSSOP20 IC with 18 IO's, 18KB flash (up to 4KB bootloader support), 256 bytes SRAM, 768 bytes XRAM, 12-bit ADC, 2xUART, SPI, I2C, etc...).  It has instructions that vary from 1 to about 5 clock cycles, with the average being about 3 for most instructions.  That is slightly inferior to the Padauk and AVR MCUs where most instructions are 1/2 clock cycles, although the N76E003 runs at 16MHz, and the Padauk ICs only run at 8MHz.  But, there are other cheap 8051 MCUs that just as good.  The CH551/CH552/CH554/CH559 MCUs are really efficient supporting 1 clock cycle for most instructions, with only a few in the 2+ range.  And the CH551/CH552 are really inexpensive ($0.20 - $0.30) and even have USB support built in!

I agree that these Padauk MCUs are interesting and have their place, but I think they shine in a different area than 8051's and other MCUs.  To me, the main benefit is the low cost, the lower power consumption, and the fact that they are good enough for a lot of simple things.  But, the small SRAM/Flash size and lack of hardware peripherals certainly can be a limitation in many projects where spending a little bit more goes a long way.
 
The following users thanked this post: edavid

Offline serisman

  • Regular Contributor
  • *
  • Posts: 94
  • Country: us
Re: EEVblog #1306 (1 of 5): 3 Cent Padauk Micro - Open Source Programmer
« Reply #21 on: June 13, 2020, 08:01:09 pm »
Yes, but people don't think twice about putting say a transistor or a voltage regulator in a circuit. Why should it be different for a 3¢ MCU? You are still thinking make a custom program then flash it and retry until it works. You're still thinking all the MCU power is too precious to waste. Look at it from the other direction. You have a frequently used function you want an 8 pin device to do, well 6 pins left after power pins are connected, so you design it, simulate it with a MTP version if you like, and then add it to your list of 6 pin gadgets. When you need one, burn one. Or burn a pile and put it in your parts box.

The startup cost of the programmer is only once. At the moment it's for the keen. But once you have a jig setup, you can make any 6 pin gadget from your library on demand. Other people may have designs to share too. We're talking about very basic gadgets. That's why the Padauk C compiler is so limited that they implemented a bastardised for loop which iterates over a list. I seem to remember that it unrolls the loop. If you can fit it into 1kB why not?

I already went through the RPi, Arduino, ESP32, STM8, STM32 etc phase. This is a different game. For 3¢ you can treat it like a transistor. And you keep talking about clients and projects. I already told you I have no interest in those.

Thank you for the insight!

I too had been trying to equate these too much to other MCUs, where the value proposition is harder to justify compared to slightly more expensive parts with greatly enhanced capabilities.  But your comments about treating these more like simple programmable building blocks changes things.  I can now see finding uses for these as glue logic replacing one or more 74 series ICs and/or discrete diodes/transistors/resistors.  Or, I can also see finding uses for these as supplemental devices that augment and free up resources on the main MCU.  I already have a few idea for some things I want to try (a SPI CS multiplexer, a HD44780 driver, a GPIO expander, etc...)
 

Offline spth

  • Regular Contributor
  • *
  • Posts: 140
  • Country: de
Re: EEVblog #1306 (1 of 5): 3 Cent Padauk Micro - Open Source Programmer
« Reply #22 on: June 14, 2020, 09:19:53 am »
Also, why do you think STM8 is better than both (that hasn't necessarily been my experience).

In general, it seems like 8051 gets a bad rap lots of times and I'm not entirely sure why.  Is it the split memory architecture?  Or the lack of a good open source C compiler?  Yes, I know about SDCC (and use it all the time), but it really isn't all that efficient/optimized in the code it generates.  But, it is good enough for high level things, and one can always drop down to inline assembly for the places where speed and/or size efficiency is actually important.

Speaking of program size, 8051 is actually pretty optimal in this regard.  There are a lot of 1 byte instructions in addition to the 2 byte instructions, and very few 3 byte instructions.

Let's compare STM8 to MCS-51 then. SDCC supports both. For the comparison, I'll assume we need a few KB of RAM (i.e. large memory model for mcs51, medium memory model for stm8) and want full reentrancy as in the C standard (i.e. --stack-auto option for mcs51).
The STM8 has good support for pointers (flat address space, registers x and y), while MCS-51 has to juggle with memory spaces and go through dptr. Also, the STM8 has stackpointer-relative addressing. And the SDCC stm8 port has more fancy optimizations than the mcs51 one.

Looking at a benchmark, we can see what this means (Dhrystone, STM8AF at 16 MHz vs C8051 at 24.5 MHz):

stm8 code size is half of mcs51:
https://sourceforge.net/p/sdcc/code/HEAD/tree/trunk/sdcc-extra/historygraphs/dhrystone-stm8-size.svg
https://sourceforge.net/p/sdcc/code/HEAD/tree/trunk/sdcc-extra/historygraphs/dhrystone-mcs51-size.svg

Despite the C8051 being single-cycle and having 50% higher clock speed, the STM8 is 85% faster:
https://sourceforge.net/p/sdcc/code/HEAD/tree/trunk/sdcc-extra/historygraphs/dhrystone-stm8-score.svg
https://sourceforge.net/p/sdcc/code/HEAD/tree/trunk/sdcc-extra/historygraphs/dhrystone-mcs51-score.svg

The graphs are from SDCC, where they are used to track code size and speed to quickly notice regressions.
 
The following users thanked this post: thm_w

Offline spth

  • Regular Contributor
  • *
  • Posts: 140
  • Country: de
Re: EEVblog #1306 (1 of 5): 3 Cent Padauk Micro - Open Source Programmer
« Reply #23 on: June 14, 2020, 10:04:30 am »
I'm curious why you prefer Padauk over 8051? […]

In general, it seems like 8051 gets a bad rap lots of times and I'm not entirely sure why.  Is it the split memory architecture?  Or the lack of a good open source C compiler?  Yes, I know about SDCC (and use it all the time), but it really isn't all that efficient/optimized in the code it generates.  But, it is good enough for high level things, and one can always drop down to inline assembly for the places where speed and/or size efficiency is actually important.

Padauk having fewer memory spaces make the architecture somewhat cleaner.  On MCS-51 any pointer read / write has to go through support functions (or the programmer has to manually specifiy memory space, i.e. use non-standard extensions of C. For Padauk, the problem exists for pointer read only. It owuld be good if SDCC had better tracking of pointers, so the use of support functions could be optimized out in more cases. But often that would be very hard to do (e.g. passing pointers to a function defined in a different source file).

I have to admit that to some degree, this cleanliness in architecture comes at the cost of loss of power: The Padauks are limited to far less memory than MCS-51.

Quote
Surely the Padauk with their limited SRAM is no better than 8051 in terms of memory architecture.  Even comparing 8051 to other architectures, I don't find the split memory to be all that big of a deal really.  In fact, it is kind of liberating.  The internal 128/256 bytes of SRAM can be thought of like a giant 'register' pool or scratch pad, and then one can use the larger xram for normal things like global variables that aren't accessed as often, or arrays where one has to access them indirectly anyway.  The 8051's instructions really aren't that different for accessing xram than what other architectures require for indirect access (i.e. mov dptr, #address; movx a, @dptr;, or movx @dptr, a; inc dptr).  This is very similar to AVR's X, Y, Z registers which are used as indirect pointers into SRAM.  Most 8051 MCUs these days have support for dual dptrs as well.  Maybe the biggest limitation is that the stack has to fit within the internal 256 byte of SRAM, but I haven't found that to be too much of a limit so far.

Though it is somewaht unfortunate that there are so many differnt ways of handling dual dptr. There is a document suggesting to split the exisitng mcs51 backend in SDCC into 5 different ones to cover the most common variants of dual dptr handling (https://sourceforge.net/p/sdcc/wiki/8051%20Variants/). But even then there are many more variants not yet covered. Manufacturers don't even stick to one single way for their product line.

Quote
I agree that these Padauk MCUs are interesting and have their place, but I think they shine in a different area than 8051's and other MCUs.  To me, the main benefit is the low cost, the lower power consumption, and the fact that they are good enough for a lot of simple things.  But, the small SRAM/Flash size and lack of hardware peripherals certainly can be a limitation in many projects where spending a little bit more goes a long way.

The small SRAM size is clearly a limitation. The architecture tops out at 512B, but all devices I know about have at most 256B. Code memory is far less limited: The architecture supports up to 8KW of 16-bit memory, i.e. 16 KB, though all devices I know about have at most 4KW. I am not sure yet about the peripheral situation: The Padauk FPPA approach (i.e. hardware-multihthreading) allows to do a lot of stuff in software that otherwise would need a peripheral.
 

Offline ebclr

  • Super Contributor
  • ***
  • Posts: 2224
  • Country: 00
Re: EEVblog #1306 (1 of 5): 3 Cent Padauk Micro - Open Source Programmer
« Reply #24 on: June 14, 2020, 03:31:10 pm »
8051 is 30 years old but still simple, Now a lot of new generation 1 cycle 8051,  Also I don't know any other processor so easy to manipulate bits.  Of course, this is for small projects directly linked to hardware manipulation, not to do a lot of processing, ethernet or anything like that, just the bare basic.

The moderns 8051 family arent' the ones of Original Intel, they have more power, fewer cycles, more megahertz, even a lot of ram, some works with only 1.2V, Other have USB all very cheap, A lot of timers. But remember still an 8-bit processor, Stm 8 is a very nice processor to.

For small thinks, 8051 is a winner, this is why a lot of chips have an internal 8051 to do basic things, arm M0 tries to get this space in nowadays, but simplicity is something that arm doesn't have, The venerable Cypress USB bridge has an 8051 inside,

8051 still alive, And you need to learn, at the least the basics of 8051, if you are in this business, Is a legacy thing that refuses to die
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf