EEVblog #1141 - Padauk 3 CENT Micro - Programmer

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hi in a previous video we took a look at this Paducah in-circuit emulator for these three cent microcontrollers so I thought we'd now have a look at and we've got a program running on our three cent micro controller but it was actually on the in-circuit emulator which is close enough but it wasn't actually the real deal so I thought we'd now try the programmer and see if we can actually program a chip what we're going to do is we're going to program the PMS one five four see this is actually not a three cent micro it's actually about five cents or maybe a bit under in volume because it's the bigger cousin to the PMS 150 it's the same series but it's got twice the memory in it it's also got three eleven bit PWM modules which is fantastic plus 8 to 8 bit timers as well so this little SOA chip for 5 cents or less has I believe 5 PWM modules in a fantastic it's got a couple of other things I think a comparator and a LCDR bias generator so you can generate a bias if you're driving like a little tiny little custom LCD display or something like that's not a full on LCD module but it's got it a little DC bias generator cool anyway so we're going to program one of these on a real chip using the produc programmer which they kindly sent to us so updates from the previous video are that yes you can actually get these chips pre-programmed at the matter you can't do it at the from directly from Paducah but they're official while suppliers which are linked in on their website they're all Chinese supplies so may not be the easiest side place to deal with but they will actually program these for like I believe it's a like point two cents each or something like that so the will program and LCSC have kindly offered for a limited time I believe to program them for free for people not sure the minimum volume you're going to have to contact them and all that sort of stuff but I believe that they will program they've extended the offer they've offered pre-program them in bulk for me and they've also extended that offer to my audience as well so I'm not sure how long that's going to anyway you can get these things programs so obviously you know the whole value proposition of a three cent microcontroller sub three cent microcontroller is that you don't program with one of these you need to get them programmed from the factory in the tubes or on the reels or whatever and then you populate them pick-and-place straight on to your projects because these are one-time programmable so you wouldn't build in like it connected to program them onto your board or even pads or anything to programming onto your board you get them programmed in the tube as I said in previous video it's really easy to validate and qualify like a small microcontroller for a specific niche application like this you know you can test it over voltage and temperature and you can test and inspect the code line by line and you can ensure that there's no bugs and stuff like that so you can be pretty confident and getting like a whole reel of these you know many thousands of these actually programmed and it doesn't cost much at all even if you do goof it well what's it going to cost you you know 50 or 100 bucks or something for a whole reel of these things now the other thing is a lot of people are questioned of course the the 3 cent micro with the 60 US dollar or a hundred US dollar depending where you buy it from programmer and the match in 60 or $100 in circuit emulated now of course if you've got a develop with these chips get the in-circuit emulator it's an incredible value and it's you know it's super valuable to do that but of course you wouldn't you know for like small one-off stuff yeah get the program I think it's good value but a lot of people questioned ok it's a bit expensive for these 3 cent micros and fair enough so a lot of people asked well can we actually reverse engineer this and like open source the whole thing and maybe program it with an Arduino you know everyone's got one of those so they can just hook the chips up and stuff like that and I asked baduk and they said look there's a lot of complex algorithms in there a lot of not just digital thing there's lots of analog voltage level stuff there's lots of compensation that they do another timing type stuff and they said sorry we're not going to release the programming information for the chips so that's a bit of a bummer but hey I can understand that they recommend that you use the proper programmer or the programming services of their official suppliers because they've got the big automated machines that take all the chips and and unchoose them and unreal them and then end of like program them in a bulk thing and then they'll reel them or reach up them for you ready to put populate onto your boards so I'll leave that as a separate video today we're just going to program a real chip and we'll put it onto a breadboard and will flash a real lead on a real chip no this in-circuit emulator rubbish so thankfully I've gone through all this before so this will be a summary right what I've done is I've changed the project from the last video it is now using the 1/5 4c chip and the software is actually quite smart if you want to change the chip that you're actually using just go to your dot APRI file here and you actually just like literally change it from 150 to 150 4 that's what I use the 150 last time using the 154 now and it automatically detects that you've actually changed that and it actually chooses the new include file when you next when you go to build the thing it actually changes the include file for you it's actually very smart and a lot of people were very impressed by this paducah software and I continue to be very impressed and the programmer software is actually pretty good as well it's a bit quirky but the documentation is usable and and it's quite nicely integrated for the single 3 Meg executable for this that their handles it's a separate executable for the program as we'll see but it's really nicely integrated anyway that's all we had to do there was a difference I'll show you right now actually if we have the 3 volt low voltage drop out like we did last time and then we actually compile that you'll see that it gives us an error lvr error lvr must be greater than 3 point 5 volts for sis clock onto ihr c onto clock source that we're using so that's interesting that there's a difference in that between the 150 and the 154 which is exactly the same family chip except that it's got like double the memory of the few issue features so yeah that's interesting so we just changed that to 5 for the 3.5 there and we just build it again and Bob's your uncle look at fantastic so there's all our it's compiled everything's happy this chip has twice the memory than what we got in the previous one hex 7 e 897 hex of that 751 hex free convert that to decimal for you decimal fanboys and we've got double the amount of RAM in here we've only used four bytes out of our hundred and twenty eight byte ram so i've got double the RAM of the 64 in the 150 series and a lot of people talked about this in the comments to the and on the forum to the previous video a lot of people mentioned well it like a GCC might be a solution you write a GCC version of you know to support the paduka architecture and well that should be okay but a lot of people pointed out that the GCC compiler isn't really optimized for the really small memory architectures on these real low-end microcontrollers and they've given examples of other 805 one and eight other pic stuff people have tried to target with the GCC compiler before and it's done a pretty terrible job of it there are other compilers and stuff like that for it but basically yeah like you could probably do it but because it's a small amount of memory limited stack size and stuff like that so if you're getting in a compiler C compiler that's not optimized for these really low memory amount of SRAM architectures like this it's not about code size it could be about SRAM so you know if you've got a lot of stack and stuff like that little routines that need to push stuff onto the stack you're gonna you could chew up your memory quite fast if you compile it's not optimized for it so it's probably better to use the paduka mini c as they call it all the paduka assembler but the mini c seems to work just fine I don't think you're actually going to get a much if anything like code optimization for going for the assembler over the mini C here but hey we haven't actually evaluated that yet so we've got exactly the same code as last time and we're just gonna flash a let so we've compiled our thing for our 1:5 for C target so there you go we've got the 154 CS o 8 chips we've targeted those in here and it's all compiled now what we can do now is pull up the programmer so we'll turn on our program here initializes everything's like a shift will go into all the shift stuff in a minute we'll plug it into our USB port did a little bit and test project dot PDK I think it's already stored in there it could be non-volatile stored in there from our previous attempt my previous attempt at this anyway we can go in here we go to the opt writer so we've built our project it saves that there's a dot PDK file so it's not intel hex or anything like that so if we have a look at the dot PDK file it produces here it is like a binary file it contains all the stuff it contains the information on the chip and everything used so it doesn't look like a and intel like hex equivalent format anyway this is what it the writer uses so if we go into our opt writer here let's load it up tada and let's have look now we can let's let's actually load our file in here test project PDK so open it up and we're in it's verified it's talking to the unit everything's hunky-dory and it actually shows you on there that it's the PMS 1 5 4 C so already knows you don't have to select it in the software it's all embedded in the file gives you the checksum and all that sort of stuff and I see shift for a 14 pin it's 1 now let's talk about this I see shift thing now what it is is that it says check jumper here so the this s 16 that's an Esso or dip 16 basically what it means is put put it in JP 2 now if we have a look at the back of this thing this is JP 2 in here it's telling us to use GP 2 this is actually a jumper actually provided like it shorts out all the pins it was originally on this one over here so it tells you for this particular chip moving over to JP 2 here so you've just got to reconfigure it it basically just reconfigures the pins for the zero insertion force the zip or text tool socket now because we've got different types of chips that we could potentially program here a 16 one a 14 P NSO a 10 pin M sub package or an 8 p NSO which were got here or even a SOT 23 6 which I've also got but I don't have the right adapter yet I can budge one up so we're doing the so8 so we have to shift here's our little adapter focus your bastard alright here's our little adapter if you haven't seen these before there there are zero insertion force socket and they've just got the pins in there you can see those move in and out like that and that allows you to get your little just dropped an Esso chip it's gone into the carpet luckily I've got a few so let's just get another one I just wasted another four and a half cents or whatever anyway the little so8 chip will then go inside our nice zero insertion force socket there lovely so there's our chip inside our socket there and this is what it means by shifting because they're different pin outs on the chip we have to actually it says shift four so we need to go to the fifth pin down for this so1 so there we go we're now in the fifth pin down like that so that's what it means by shift on that instruction there okay so now we've put our file in there now we've got other stuff here's the date here's the sis clocks all this stuff was imported in that PDK file so the integration between the programmer software and the IDE interface is really quite nice like per talked have done an awesome effort a lot of people were impressed by the IDE and rightly so and the integration with the programmer software whilst a little bit quirky is really quite good and they do have English documentation for the programmer which is you know it is really just fine so as this clock 16 megahertz on tooth we don't have our write-protect or anything like that and llv RS 3 point 5 volts like we changed before so let's just do blank check now shall we will it work Pass IC blank there you go no problems whatsoever are the ng on they're the one ng I accidentally press the button ng is no no good now we've got a rolling code system here which allows you to put a serial number in to embed into the chip I'll show you this in the documentation in a second but it's not supported because we haven't enabled it in the IDE so if we have a look at our programmer manual here which has still got some mock Chinese stuff in it but it's still it's pretty good this seems to be a discrete location of software in here the engineering type and simple type and stuff like that but it's pretty comprehensive I like it so it's pretty impressive rolling code here it is so we can start the relevant settings about rolling code so and there three locations in memory there 3 FC through the three FA and presumably your program can read those back if you need to but it can put a basically a three byte rolling serial number code in there as you program so each chip can get a unique ID so that's a real nice little feature and here we go they explain the jumpers and stuff like that how you have to shift them and then shift it down by one if you've got the 14 pins so if you got the 16 pin package you don't shift anything if you've got a 40 MPA keys you shift down by one if you've got the 10 pin one you shift down by two and if you've got the 8 pin like one like actually shift down by four or something like that so it is it is pretty comprehensive I like it now like the fact that they got a 10 pin M sub package as well cuz that you know if you need an extra 2 pins but you don't want to go to the you know the full 14 or 16 pin version that could be that could be very handy indeed but look like it's nice it's got nice drawings of how everything goes up so it's all about like the PA there's like four programing pins on the paduka chips so they've got kind of a common pin configuration but you do need to shift them in the programmer which is fine so and check this out you can get what's called a customer package you can add your own package to these things so that's why if you go convert PDK here to package you can actually generate a well yeah I haven't actually done it yet but it is in the software here which shows that you can actually define your own package so if you wanted to have like custom header on a board or something like that if you really wanted to defeats the purpose of the three cent micro but anyone because the connector cost more than the micro does anyway you could define your own package or do whatever and it looks very powerful so you know that's that's really quite impressive and that they've gone to the effort to you know do customized packages and things like that they're really you know they've really thought about this stuff so there you go there's the in circuit programming thing that hooks up to pa3 pa6 and pa5 there so the menu is pretty good like hats off to that anyway here we go so we can now program auto program our chip here we go verifying boom OTP done like that cuz it's only like it's only 2k worth of program memory and what does it say I see okay and one has passed so yep one one okay and of course we can can we just push the program button I don't want to do it again don't want to try and write over it anyway you can just push the program button or we can verify as well but you probably can't verify after you set the security bit so the secure weird but our security the protect bit is turned off in this particular case but there you go we know we know chicken dinner let's try now flush our lead on our breadboard okay so what I've got here is just a little little so8 adapter board like this so just got power and ground hooked it up to the lead and yes the power and ground pin eight is the ground so it's back to front just watch that Trevor young players yes an update by the way this bloody LCD is still going with their DC bias after what nine months how long's it been people have been asking for an update on that bastard won't fail so but that doesn't mean the theory is not wrong it's just that means that this seemed be large segmented LCD is it's working a tree anyway oh I wish my chip not easy to lose I couldn't be bothered soldering on this I'll have to line it up and I'm gonna press on it here we go blinky hey you guys that's you know I like this case five cent micro but it will say the three cent micro-programmed without a problem and flashing a lead so that is need soapy talk have done an amazing job with this with the whole thing and like it's not new they've been around for quite some time and whilst there is you know some Chinglish type stuff like the help is very comprehensive in english the manuals in english for the programmer and it's all pretty much it didn't take me long to figure out this at all et phone arm feel a bit silly holding this chip up like this but anyway um there you go this is quite impressive I like it we've programmed our three cent micro no problems whatsoever and you can't actually get these not programmed at the factory we were praying program for practically free really you know but like don't ask them to go and program one or ten or even a hundred maybe you know you've got to order like thousands and then they'll be happy to our program them for you I'm sure so there you go hope you found that interesting and in a future video I will hook up a scope and logic analyzer to all the pins on this programmer and we'll see if we can start getting some data for this and potentially reverse engineer this so that we can like get it into like an Arduino like program or oil you know any like low-cost open-source like open the whole thing up so that we can do that won't be as simple as just hooking these up towards some pins on Arduino because they said it's different voltage levels and stuff like that but hey we could have maybe have a little board that plugs on top make it all open-source and then you know a 3-cent micro a lot more people can use these things they're amazing anyway if you liked the video please give it a big finger up and as always discussed down below catch you next time [Music] you
Info
Channel: EEVblog
Views: 61,371
Rating: 4.9534183 out of 5
Keywords: eevblog, video, padauk, programmer, pms150, microcontroller programmer, microcontroller
Id: r45r4rV5JOI
Channel Id: undefined
Length: 19min 41sec (1181 seconds)
Published: Sat Oct 27 2018
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.