Can anybody recommend a socketed 8051 dev board? - Page 1
Forum section: electronics / general

author: audiotubes
author_rank: Regular Contributor
timestamp: January 07, 2024, 06:36:33 pm
content: I can't order from any place that ships via post, since our Post has gone AWOL for a year now.It seems surprisingly hard to find a socketed dev board, anything interesting I have found (Silicon Labs for example) has soldered SMD variants and are very expensive (> 125 euros).

author: up8051
author_rank: Frequent Contributor
timestamp: January 07, 2024, 08:52:29 pm
content: https://www.tme.eu/cz/details/mikroe-257/vyvojove-kity-pro-obvody-microchip/mikroe/8051-ready/

author: audiotubes
author_rank: Regular Contributor
timestamp: January 07, 2024, 09:16:20 pm
content: Thank you. This is something like what I wanted, but unfortunately with their programmer it's close to 100 euros.And according to Mikroe it only supports ST 8051s, I'm not sure if that is a problem or not.Is there a programmer that supports all 8051 variants? Or a board with an onboard programmer that's closer to 50 euros?

author: up8051
author_rank: Frequent Contributor
timestamp: January 07, 2024, 09:34:15 pm
content: There are many different variants of the 8051 processor family.Do you want to use something specific?

author: PCB.Wiz
author_rank: Super Contributor
timestamp: January 08, 2024, 12:41:36 am
content: Quote from: audiotubes on January 07, 2024, 06:36:33 pmThat's because DIP packages have largely faded. Also, not all DIP40 have the same pinouts. Modern 8051 have Vcc/GND closer, in the SMD parts, so the DIP models (if they exist) derive from that.You can buy low cost modules with mounted parts, with pin headers, that give you access to smarter, more modern parts :eg the silabs BB51-EK2700A BB52-EK2701A BB50-EK2702A are about $40, and they include debuggers.Lower prices, but without Debug included are parts likehttps://www.aliexpress.com/item/1005004786538002.htmlThat gives you a modern bootloader 8051, with pin headers.Some of these modules have pin headers routed to go into a 8051-ZIF40, as belowThere are old 'generic ZIF' modules like thishttps://www.aliexpress.com/item/1005004829381553.htmlhttps://www.aliexpress.com/item/1005004638035216.htmlbut that uses a classic 8051 DIP pinout, so limits your IC choices. (STC do have a new STC8051H-DIP40 coming, that might fit here, but it's not available yet)QuoteThere is no 'all 8051 variants' as they vary in how they program serially.See above SiLabs which have onboard Debug, with programmer ~ $40.If you do not need 40 pins, Nuvoton have a range of 8051 boards, with debug included ~$25.https://direct.nuvoton.com/en/nutiny-n76s003atThe STC parts have bootloaders, ( USB or UART ) so you can 'get going' for low budgets. Debug is a great time saver tho

author: PCB.Wiz
author_rank: Super Contributor
timestamp: January 08, 2024, 01:42:30 am
content: Quote from: audiotubes on January 07, 2024, 09:16:20 pmIt mentions AT89 in the docs, not ST ?If you choose a bootloader Atmel AT89xx, you do not need the SPI programmer.eg AT89LP51RD2/RC2/RB2 series,IIRC you just need a 1K pulldown push button on PSEN, to enable the ROM serial bootloader.

author: audiotubes
author_rank: Regular Contributor
timestamp: January 08, 2024, 02:15:43 pm
content: Guys, many many thanks for all the help here!I'm gonna over all you wrote. I don't understand all of it yet. I'll do some searches based on your recommendations.Yes, AT, not ST, fat finger on my part, thank you.

author: Whales
author_rank: Super Contributor
timestamp: January 08, 2024, 04:13:55 pm
content: > I'm gonna over all you wrote. I don't understand all of it yet. I'll do some searches based on your recommendations.What many of us on this forum call an "8051" might be different to what you call an "8051". The use case and form of 8051's has evolved quite a bit over time.Are you thinking of something that looks like the original MCS-51?Most modern microcontrollers that we call 8051-compatibles or 8051-clones do not look like that. Instead they come in surface mount packages with any amount of pins (I've used some little 8-pin ones).XRAM ("external data memory" or "external ram") is now almost always built into the chip. We still call it XRAM. Similarly program memory tends to be on-chip flash storage.Some chips, like USB & memory card interface chips, have a whole 8051 embedded in them because it's cheap and people like to customise how the chips work in their products. 8051 core designs seem to be cheap and plentiful, people chuck them everywhere.I like playing with 8051s made by STC because my toolchain for them is cheap and simple:Compiler: SDCC (free and open source, but you can use anything else that generates a hex file)Programmer software: stcgal (cross platform, free, open source)Programmer hardware: $3 generic USB UART serial converter. If you don't have one then you can use an Arduino.You don't even need a clock source, they have that on-chip. Just power, a 100n capacitor on power, serial RX, serial TX and you're good to go.

author: Ian.M
author_rank: Super Contributor
timestamp: January 08, 2024, 04:28:56 pm
content: Its worth noting that the obsolete AVR AT90S8515 is pin (but not code) compatible with classic 40 pin DIP '8051' MCUs apart from the polarity of RESET, active high on 8051, active low on AVR.This means you can use anAtmel STK500AVR programmer/development board with the 8051 in socket 'SCKT3000D3', but need some extra circuitry to invert the reset signal (which can be built on a small protoboard connected to its 'ISP6PIN' header to pick up power, ground and /RESET, which you should run through a 74LVC1G04 inverter to generate RESET to inject at the SPROG3 header next to it. You *must* remove the RESET jumper.)Unless you've got a legacy COM port, you'll need a USB to DE9(m) serial adaptor to control the STK500 and communicate with the target 8051. The command line STK500.exe utility (bundled with Atmel Studio 4) can be used to control the STK500 to set target VCC and clock frequency (or plug in a crystal). Settings are persistent.The board has all ports broken out to ten pin headers with target VCC and ground, eight buffered active low LEDs and eight active low switches, also on headers.Obviously it can only be used to program 8051 MCUs with a built-in serial bootloader.The Atmel STK500 can still be bought new, and can also be found on EBAY. Unfortunately prices are a bit on the high side for a nearly twenty year old development system, so unless you also need the capability to program 'classic' AVRs, it may not be the best choice for 8051 work.

author: fchk
author_rank: Frequent Contributor
timestamp: January 08, 2024, 05:43:05 pm
content: Quote from: audiotubes on January 07, 2024, 09:16:20 pmThis is impossible. Forget it. Reason: The common denominator is the old Intel 8051/8052 from 1980. These are mask rom parts. There ware romless parts called 8031/8032. Flash was not available at that time. There were UV EPROM variants 8751/8752, which were very expensive.Over the years the descentants diverged. When Flash storage came each vendor made his own programming interface, so you need a different interface for each vendor.In commercial appliccations you simply don't use DIP any more. The process of putting a through hole component onto a PCB is 5-10 times higher than with SMD parts. Unless you have simple single-sided FR2 PCBs it is no longer economically viable.My question is: why do you need a devboard at all for DIP packages. It's very easy to make your own. You need power, clock, maybe memory and io. Easy.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: January 08, 2024, 06:03:20 pm
content: Quote from: fchk on January 08, 2024, 05:43:05 pmThe board I linked to in #4 is sub $3, it hardly makes sense to make your own.Starting with a known working board saves a shipload of time.I’d suggest the Op buy a couple of ‘modern’ low cost modules, so they have a good reference as they learn.

author: Maksims
author_rank: Newbie
timestamp: January 09, 2024, 09:03:46 am
content: I was playing in resent two years with 8051 MCUs and have collected some information, which, I hope, will be useful to you. I am considering only modern 8051 MCUs, which are 1T cycle per instruction.First of all about boards and programmers. Board from MIKROE is the only "official" socketed board for 8051, since DIP/PLCC packages are almost phased out. Maybe it is worth to design your own board. Also, you can try Aliexpress, there are some socketed boards for DIP40 8051 MCUs. Programmer from MIKROE supports AT89LP parts from Atmel, but NOT ALL OF THEM. Be careful!!! For myself made a simple SPI programmer.Now about manufacturers and their products.MAXIM/Analog device. They have DS89C430/450 in DIP40/PLCC44 packages with classic pinout and XRAM intefrace. They have internal bootloader, so programmer is not necessary. Programming is done with UART, very simple additional circuit and a special software, provided by the manufacturer. However, these MCUs are quite old, so they are extremely expensive and power hungry.Silabs. Thea are manufacturing a lot of MCUs with 8051 core. However, most of their MCUs have small SMD packages and are not compatible with classic ones in DIP40/PLCC44 packages. Their newest MCU series are very fast, energy efficient and extremely cheap. Consider EFM8BB50, EFM8BB51 and EFM8BB52 series. They are manufacturing the most advanced MCUs with 8051 core.Atmel/Microchip. They have two main lines: AT89LP51/52 and AT89LP51xx2. All these MCUs are pin to pin compatible with classic ones and have external XRAM interface. However, there are some differences from classic ones, for example, they do not have EA pin. You have to read datasheet carefully. AT89LP51/52 can be programmer only through SPI interface, so they require programmer. AT89LP51xx2 have internal bootloader and can be programmed through UART with ATMEL FLIP software. Consider AT89LP51ED2, since it is the most advanced part. There are two known problems in this MCU (and possibly in the whole AT89LP51xx2 line):Pins P2.2 and P2.3 can be stuck in LOW state, when they are working in quasi-bidirectional mode (default mode for 8051). There are two possible solutions for this issue. Add external pull-up resistors. This solution can be used for both input and output modes. If these pins are used only as outputs, just configure them as push-pull outputs.There is some small issue with SPI. TXE flag is not working, if TBIE bit is not set. Just keep this in mind.Nuvoton. I have no esperience with this manufacturer.STC. Some Chinese manufacturer, you can find them on Aliexpress. again, I have no experience with them.

author: IOsetting
author_rank: Regular Contributor
timestamp: January 09, 2024, 11:26:52 am
content: There are quite a lot choices if you want a cheap DIP-40 development boardhttps://www.aliexpress.us/w/wholesale-avr-51-development-board.htmlhttps://www.aliexpress.us/w/wholesale-stc89c52-development-board.htmlFor STC variants, STC89, STC90, STC11(1T), STC12(1T) are classic 8051 DIP pinout so any development board support STC89 should work. To program them you only need a USB2TTL dongle.

author: Doctorandus_P
author_rank: Super Contributor
timestamp: January 09, 2024, 12:14:20 pm
content: Maybe it's time to have a closer look at your basic requirements.Why 8051? The architecture is thoroughly obsolete. It has also never been a "good" architecture. It has some nasty quircks that make it uncomfortable to do use it for ASM (school courses etc) and while SDCC has come a long way, it still is no GCC.Why DIP? (And must it be native DIP?)There are a lot of uC families out there, and although nearly anything is SMT these days, there are quite a lot of cheap development boards in the DIP form factor. These are compatible with breadboards which makes it easy to add some leds, buttons, or other things such as items form the "45 sensor kit". It is also quite easy to design your own PCB (I highly recommend KiCad) and PCB's are cheap to order these days.

author: audiotubes
author_rank: Regular Contributor
timestamp: January 09, 2024, 07:13:58 pm
content: Thanks again for all the amazing info and help. I'm very busy with work and other stuff right now and can't get back to this immediately.I'm reading everything here that you post and chasing down links and products you guys recommended.Will try to answer your questions but it make take a while.

author: josip
author_rank: Regular Contributor
timestamp: January 10, 2024, 11:12:14 am
content: I still have some breakout DIP DS89C4x0 boards with integrated USB-UART bridge...https://www.eevblog.com/forum/buysellwanted/fs-(eu)-ds89c450-breakout-board/There is internal bootloader, but with loosing some pheriperal resources there is possibility of breakpoint debugging...https://www.analog.com/en/app-notes/using-the-keil-microvision-debugger-with-the-ds89c4x0.html

author: audiotubes
author_rank: Regular Contributor
timestamp: January 11, 2024, 09:02:51 pm
content: Quote from: up8051 on January 07, 2024, 09:34:15 pmI don't know. This started when I had an idea to make a gift for an older ham (amateur radio operator) who used to be quite handy but has slowed down a lot. I thought a "simple" 8 bit MCU would be plenty enough for my idea. And I saw a video on youtube where somebody set up an 8051 on a breadboard and did a demo and it looked like almost no external parts are needed. The only thing was he used an el-cheapo programmer he got on aliexpress. Our Post is basically dead for the last year, they closed 200 offices including the one near me and fired a thousand people. Whoever is left is not really in a good mood. We haven't gotten mail in over a year. So I need to find something locally, we do have chips but not much in the way of dev boards. I can use Mouser etc. since they use FedEx.I thought, if I can get a socketed dev board with onboard program/debug, I could get it working on that, and move the chip to one of those predrilled PCBs that's like a breadboard, and send him the device.Quote from: PCB.Wiz on January 08, 2024, 12:41:36 amThanks, ok. I did not know that.Quote from: PCB.Wiz on January 08, 2024, 12:41:36 amThanks for all the links, they look very interesting. Some of the SiLabs boards are on Mouser, I'll check again for these. Unable to find a source inside the EU that stocks Nuvoton.Quote from: PCB.Wiz on January 08, 2024, 01:42:30 amThank you. I'm still totally lost here, how do you program the device?Quote from: Whales on January 08, 2024, 04:13:55 pmYes, exactly. Until all you guys answered, I had no idea. I was looking for retro but I see there is a lot of progress with this MCU.Quote from: Whales on January 08, 2024, 04:13:55 pmI don't like C which was one of the reasons I was thinking of an 8-bit MCU.I don't understand what's involved in flashing these.Quote from: Ian.M on January 08, 2024, 04:28:56 pmThanks, this is kinda cool. I have a fanless micro PC with two COM ports which I expect will come in handy when I get started on this project.Quote from: fchk on January 08, 2024, 05:43:05 pmYes, I understand it is probably simple to make one. But I don't know what's involved in program/debug for a minimal board. I thought a factory dev board would have all the extras that would help me get started.Quote from: PCB.Wiz on January 08, 2024, 06:03:20 pmThanks, this makes sense.Quote from: Maksims on January 09, 2024, 09:03:46 amHow is the quality on Mikroe?Quote from: Maksims on January 09, 2024, 09:03:46 amI need the least painful entry, since I don't have experience with MCUs. I have written a lot of software, but on much bigger boxes. I guess making a programmer is beyond me for a while.Thank you for the links.Quote from: IOsetting on January 09, 2024, 11:26:52 amUnable to buy from Aliexpress, ebay etc. until we have a post office againQuote from: Doctorandus_P on January 09, 2024, 12:14:20 pmThanks, I did not know it was not a good architecture from the assembly programmer's view. What MCU architectures do you like and would consider the best, of 8 or 16 bit MCUs that still have DIP packages available?I am not qualified to try to design a PCB, I am getting back into electronics after many years of being away from it, and I am having to relearn almost from the beginning.Quote from: josip on January 10, 2024, 11:12:14 amThis looks quite nice, thank you!Thank you again to everybody for helping.

author: Whales
author_rank: Super Contributor
timestamp: January 11, 2024, 10:06:48 pm
content: It sounds like you would really benefit from a pre-made devboard so that you don't have to assemble or solder anything. Note that Aliexpress sellers do sometimes offer couriers like DHL for their products (just unfortunately a bit expensive).If your goal is to write in assembly then the 8-bit AVR series of microcontrollers is probably a nicer option:The AVR instruction set is a lot more sane than the 8051 instruction set (for a start you don't have 3 types of memory address, only 1)Pre-made popular boards are very easy to get (buy an Arduino Mega or an Arduino Uno)These boards have the programmer built in (just plug a USB cable into the board)The flashing software is free and easy to get (avrdude can be used directly or it's built into the Arduino IDE & atmel studio IDE)There is a lot of support on the web for beginnersYou can buy DIP versions of the chips, not just surface-mountFor coding in assembly: you will probably have to use your assembler (avr-gcc) and programmer (avrdude) on the command line, I don't think a nice graphical IDE for AVR assembly exists.For coding in C: use the Arduino IDE, everything is built in and it comes with lots of code examples.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: January 11, 2024, 11:11:02 pm
content: Quote from: audiotubes on January 11, 2024, 09:02:51 pmThe modern 8051 parts with inbuilt bootloaders, can be flash-programmed over a serial port, so any USB-UART TTL will work. Some modules I linked include the USB-UART HW.Usually, some pin is pulled low at RESET exit, to enable the BOOT process.If you need DIP40 the AT89LP51RD2 etc can program using Microchips FLIPhttps://www.microchip.com/en-us/development-tool/flipThe Silabs EFM8BB52 series parts are newer, with better ADC and DAC and more MHz than the Atmel parts, but EFM8 do not come in DIP. SO16 is the 'largest pitch' part.Quote from: audiotubes on January 11, 2024, 09:02:51 pmWhat language do you want to use ?Quote from: audiotubes on January 07, 2024, 09:16:20 pmAliExpress have DHL / Fedex shipping options, they are not the default.Quote from: audiotubes on January 07, 2024, 09:16:20 pmYes, the factory dev boards include pgmanddebug.For parts with BOOT loaders included, you can get minimal flash-program working with a USB-UART.Getting DEBUG is more complex, and usually needs the factory debug bridge. They use a custom 2 wire link.Quote from: audiotubes on January 07, 2024, 09:16:20 pmIf you are ok with 3V MCUs, the EFM8BB1LCK is lower cost on Mouser.The EFM8BB52 has wider supply 1.8~5.5V and has a DACQuote from: audiotubes on January 07, 2024, 09:16:20 pmDigikey stock Nuvoton and I think the Nuvoton stores use a courier company for their $20 shipping.Quote from: audiotubes on January 07, 2024, 09:16:20 pmThe least painful is to get the vendors modules, as they are known to work and include good DEBUG support, so you can single step, break and register view the target MCU.Silabs tool chains are all free, and include good debug support.Quote from: audiotubes on January 07, 2024, 09:16:20 pmThese days pre assembled modules can be very cheap, PCB design is not so necessary.Another pathway could be to look at the Raspberry Pi PICO - that programs in Python, and has low cost modules. It's not 8 bit, but you do not really care.

author: Whales
author_rank: Super Contributor
timestamp: January 11, 2024, 11:45:58 pm
content: Quote from: PCB.Wiz on January 11, 2024, 11:11:02 pmA USB uart ("USB serial adapter" or "USB TTL") looks like this:(Other brands and models are available and most will work. Just don't buy one that does RS232 as that's 12V signalling. Arduino's have one of these USB-UART chips built in, which is why they have a USB port on the board.)You then connect GND, RX and TX to your chip using some jumper wires. Perhaps also 3.3V or 5V if you're not providing power from elsewhere. (STC chips will accept either voltage).Next you run the programming tool on your computer. For STCs it's called "stcgal". It's a commandline tool, you give it your firmware .hex file (output from your compiler/assembler) and it flashes it to the chip. EDIT: You also have to reset your chip, either by disconnecting and reconnecting power OR by pulling the reset pin low with a button.That's it. The chip self-reboots and is now running your code.

author: audiotubes
author_rank: Regular Contributor
timestamp: January 13, 2024, 08:46:17 pm
content: Quote from: Whales on January 11, 2024, 10:06:48 pmI'm fine with through-hole soldering, I have zero experience with SMT though.I was wondering if the Arduino boards were crippled in some way and had to use only C and Arduino libraries. Are these normal boards and just sold with the Arduino name because they're programmable with the Arduino libs or is it something else?There are plenty of Arduino boards available locally, I just didn't know what to think of them.Quote from: Whales on January 11, 2024, 10:06:48 pmWell one problem (for me) is that everybody uses C and the Arduino libs. If I look around I see anybody who asks a question about AVR assembly is either ignored or told to use C. I was hoping 8 bit MCUs were still a place where assembly language is acceptable! If the Atmel tools have a decent assembler than that should work perfectly well.Quote from: PCB.Wiz on January 08, 2024, 01:42:30 amThanks very much, I'm going to check all the links you and others have posted, again.Quote from: audiotubes on January 11, 2024, 09:02:51 pmQuote from: PCB.Wiz on January 08, 2024, 01:42:30 amI thought assembly would still be the main language in use for 8 bit MCUs. Iy's my preference in general, although assemblers vary a lot and many of them are not very good.Without looking into it too much, I would guess the vendor toolchains would be a good choice although I saw posts on the net that assembly coders hate the new MPLAB based on them screwing up the assembler or something, not sure.Quote from: audiotubes on January 07, 2024, 09:16:20 pmQuote from: PCB.Wiz on January 08, 2024, 01:42:30 amI'm not sure that is true for all destinations. Looking quickly at some of the links posted here, the "normal" carriers are not offered. Could also be due to the items I'm looking at are el-cheapo boards.Ok, I found one that offers Fedex IE whatever that is. Product is 4 euros, shipping is 60 euros...nahQuote from: PCB.Wiz on January 08, 2024, 01:42:30 amThanks, I'm trying to understand all this and I guess I may have to forget about a socketed board (the programmer for the Mikroe board costs 3X the price of the board recommended upthread) and just buy a factory board that has onboard programmer/debug to get started.Quote from: PCB.Wiz on January 08, 2024, 01:42:30 amI think it should be fine, the only "peripheral" I need for the project I have in mind is a solid state relay.Quote from: PCB.Wiz on January 08, 2024, 01:42:30 amThanks, I'm gonna take another search on digikey for the Nuvoton boards that you or somebody else mentioned. I'm pretty sure nothing 8051 was in stock, but I'll check again.Nuvoton mentions shippers that nobody here knows about. There's a risk (like with lowball DHL) that it goes to our local Post and then into a black hole. I happily pay 19 euros to Welectron to use DHL Express, it gets here the next day, but the low-tier DHL is just German Post. So, I can't use Nuvoton direct. I hope Digikey will have something. If not, Mouser has been great and I'll find something there to get started with.Quote from: audiotubes on January 07, 2024, 09:16:20 pmQuote from: PCB.Wiz on January 11, 2024, 11:11:02 pmThanks, this is good news. The Silabs boards looked very good, is it worth dropping 120 euros on one of their 8051 boards? Are they worth it over the 20 euro "Arduino" boards mentioned upthread?Quote from: PCB.Wiz on January 11, 2024, 11:11:02 pmI'm find with command line tools and I don't use IDEs at all, but, graphical debug is just easier to use than Wall of Text debug output. I avoid gnu toolchain except when building Linux apps.For me it's critical that the vendor has a free toolchain or at least something other than gnu is available for assemble/link/debug.Part of the problem when you're new is you don't know enough to ask the right questions. So I really appreciate the links, comments, clarifications etc. from everybody who helped.At this point I'll probably order one each of the el-cheapo 8051 and AVR prepopulated boards that have onboard programmer/debug unless somebody suggest a better idea.For those boards that have predrilled solder tabs for the expansion pins, how do I know what kind of header sockets/pins I should buy to solder on the board. I don't want to solder directly to the board since at this stage I have no idea what I'm doing with MCUs and will be better off being to swap wires around. For example on this board:Thanks guys!

author: adinsen
author_rank: Regular Contributor
timestamp: January 13, 2024, 09:25:38 pm
content: I like the ATMEL 89S51/52's, even though they are going out and are not single cycle like the LP's. But they're still available through my normal channels. I guess I'm nostalgic about the 8051 architecure, DIP40 etcI prefer to wire wrap my prototypes so I don't need a dev board. Yeah, I'm +50 and still use the same wire wrap tool I got back when I was a teenagerI flash the 89S51 with my XGecu T48 programmer using the SPI interface.The 89S51's has a problem when programming through the ZIF socket: They're actually 89S52's inside and the programmer need to keep the A12 address line low when flashing them, which unfortunately T48 does not do that. The data sheet doesn't mention that, but that's how they are. I have succeeded programming as 89S51 as an 89S52 ignoring he ID check, but programming through SPI works reliably, so I don't care.T48 doesn't support the 89LP51/52's yet, and I haven't found a cost effective way to flash them yet. I've been working on getting avrdude/USBasp to do the job, but it's not working reliably and I haven't worked on solving that problem for a few months. I'm still hopeful it should be possible with the standard USBasp firmware. The problem appears to be electrical, but could also be timing...

author: retiredfeline
author_rank: Frequent Contributor
timestamp: January 13, 2024, 10:35:53 pm
content: The main issue you face is that there is no generic 8051 these days. Well there is the 40+ year old classic 8051 but that was actually a mask ROM device and to use an external EPROM you had to give up I/O pins. Flash program 8051 derivatives came later. And now many derivatives have moved away from the original 8051 pinout. Each manufacturer will have their own toolchain and hardware support.So what it boils down to is to choose a manufacturer and product line based on their toolchain and hardware support offerings. Then you can learn 8051 programming on that. Newer offerings will feature higher clock rates, less cycles per instruction, etc, and also have additional I/O features and associated special function registers.I once paid about $15 for a dev board which I wrote up about here:https://hackaday.io/project/170540-adventures-with-a-stc89c52-development-boardIt uses the STC89 series of 8051 derivatives. Even that series is obsolete, STC having created newer series, but you can still buy the STC89 series online.Another line I would consider is the CH55x series which can be flashed with a USB port.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: January 14, 2024, 01:02:08 am
content: Quote from: audiotubes on January 13, 2024, 08:46:17 pmAssembler has faded over time, as the bigger code MCUs have gotten cheaper.There was a time when 2k code MCUs were much cheaper so assembler was worth the effort.With new 8051's 8k is about the smallest, and usually that's with a 8k/16k pairing.Quote from: audiotubes on January 07, 2024, 09:16:20 pmBase Arduino boards do not include DEBUG, so breakpoint single/step are missing.There is no need to pick the Silabs 120 euro ones, since they all have DEBUG support, so I'd select these from Mouser EU listings.BB52-EK2701A 70 In Stock Price 25,97 € 1.8~5.5V part with DAC, 50 MHz 32 kB flash and 2304 bytes RAMEFM8BB1LCK 275 In Stock Price 18,67 € 3V part 25MHz 8 kB Flash, 512 bytes RAM, and 18 GPIO pins.Quote from: audiotubes on January 13, 2024, 08:46:17 pmSiLabs have free toolchains, and their debugger uses OMF51 debug standard, so that means many third party tools work too.SDCC is an alternate Assembler/compiler, and you can also download a useful sim (and I see it includes a pascal compiler too)https://www.rathlev-home.de/mc/mctools-e.htmlYou can launch SiLabs debugger inside Simplicity Studio, on an external generated OMF51, by manually simply pointing to that OMF51.The OMF51 should have all source files as full paths, so debug works.Quote from: audiotubes on January 13, 2024, 08:46:17 pmThey are standard 0.1", so your only choices are really how long pins and right angle or straight ?I sometimes use a mix - vertical for signals, and I swap a longer right angle pin in the plastic, for the GND pins, so a scope clip can attach easily.

author: westfw
author_rank: Super Contributor
timestamp: January 14, 2024, 01:49:16 am
content: QuoteI was about to ask whether an Arduino might be a better choice.Arduino boards are generally very simple breakout boards for the microcontroller on them, and are not crippled in any way. You can develop for them using pretty much any tool set that you want, and for the Arduinos with DIP processors (I guess only the "Uno R3", these days), you can remove the microcontroller chip and put it in a separate board if you want. (it will require an external crystal, unless you have a hardware device programmer to change the fuses.)

author: audiotubes
author_rank: Regular Contributor
timestamp: January 14, 2024, 08:36:59 pm
content: I found 2 USB UARTs locally:https://www.gme.cz/v/1508933/ftdi-prevodnik-s-mini-usb-a-isphttps://www.gme.cz/v/1508310/prevodnik-usb-uart-reset-pinIs this what I should get, and will it work with the Mikroe board mentioned earlier, so I don't have to shell out 59 euros for their programmer?Thank you.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: January 15, 2024, 01:04:38 am
content: Quote from: audiotubes on January 14, 2024, 08:36:59 pmThe mikroe257 already has a FT232 included, so you do not need anything for UART bootloader parts. (eg AT89LP51RB2/RC2/RD2/ED2 etc, & STC12C5Ax family )TheirmikroProg for 8051, is a SPI-USB bridge, that supports the AT89 MCU SPI programming mode. Expensive for what it is.Addit: it gets worse. I just spotted the device list for theirmikroProg for 8051is only partial, and lacks the AT89LP51RB2/RC2/RD2/EC2.

author: audiotubes
author_rank: Regular Contributor
timestamp: January 15, 2024, 07:46:35 am
content: Quote from: PCB.Wiz on January 15, 2024, 01:04:38 amThank you. I meant to ask not only if these USB UARTs would work with the Mikroe board, but also wanted to ask if they were what you recommended regarding 8051 chips in general above.Are these the right devices?

author: PCB.Wiz
author_rank: Super Contributor
timestamp: January 15, 2024, 06:00:30 pm
content: Quote from: audiotubes on January 15, 2024, 07:46:35 amAlmost any TTL UART bridge can work.I try to buy the ones with the control handshake lines at least available somewhere on the board.No excuse to not take them to a pad.2nd one does this.

author: audiotubes
author_rank: Regular Contributor
timestamp: January 15, 2024, 07:23:05 pm
content: Did you mean the first one does?

author: PCB.Wiz
author_rank: Super Contributor
timestamp: January 15, 2024, 08:30:32 pm
content: Quote from: audiotubes on January 15, 2024, 07:23:05 pmThe yellow header is not well documented, so we have no idea what pins go where.Here is an example, of one done properly.https://www.aliexpress.com/item/1005005866120228.html

author: audiotubes
author_rank: Regular Contributor
timestamp: January 15, 2024, 09:23:25 pm
content: Quote from: PCB.Wiz on January 15, 2024, 08:30:32 pmI see, thank you. What is CTS used for?On the back of the board which I think you didn't like of the two I linked, there is a CTS label. I wonder if that picture helps understand the pinout which is unlabeled at the top of the board.BTW I installed Simplicity Studio to try to code up some 8051 although I don't yet have a device. Miserable experience!1. You have to sign up for a silabs account and then use that to sign in to the IDE2. Was unable to find a way to create an assembly lang. source file in the IDE, everything seem based on C. I'm sure there must be a way to do it, but I could not find it3. Tried to turn off "User Experience" option in the IDE which sends my info to silabs. That caused it to open the signon screen again, I signed on, the option I wanted to disable was reenabled, and that got into an infinite loop of me unchecking the box, having to sign in, returning to the IDE only to find that the option was checked again.4. Uninstall, go find all silabs crapfiles all over the users directory, delete.I found Microchip has a standalone 8051 assembler, I grabbed that and will look at it later. The setup is manual, non-existent, you have to update the Windows environment variables etc. Looks like 1985, but that's fine.Checking TI's Code Composer now, although that won't help with 8051 but I do have a couple of MSP430 boards for some other project ideas.Update: So TI is aware of the fact some people write assembly lang, and they give you the option of an assembly only project, lovely! Both this an Silabs "Simplicity Studio" use Eclipse which means appalling gigantic packages of burdensome crap, wretched slow performance with anything that has to do with the IDE. Do professional MCU developers have to live with this stuff? It's hard to imagine.Anyway after quite a long time installing, I started a project and then wanted to look at examples so it opened a package manager and installed stuff to a drive other than where I installed Code Composer. So big UX fail there. I couldn't find the package manager after that, when I searched help I got 150 hits, nothing looked relevant, couldn't find a way to delete 1.5G of crap to be able to install it on the correct drive. So I had to delete the whole thing and I'll start again when I'm less angryI've been developing software (in assembler) for the better part of 50 years. I mean that is my job, not that I do it for fun although I do enjoy it. Every time I have to use PC software I regret it...and I marvel at the people who do live with this stuff and are ok with it.I hope there is a way to use command line tools, even if you have to install 5G of IDE to get them!

author: PCB.Wiz
author_rank: Super Contributor
timestamp: January 16, 2024, 12:04:59 am
content: Quote from: audiotubes on January 15, 2024, 09:23:25 pmIt's a sign of the times - things are large and cumbersome. PC hardware is getting faster about the same as software is getting bigger !There are Silabs assembler examples, just not many of them.The debugger is good enough, so I persist with the bulk, but do use notepad and external builds in many cases.As mentioned before, you can launch SiLabs debugger inside Simplicity Studio, on an external generated OMF51, by manually simply pointing to that OMF51.The OMF51 should have all source files as full paths, so debug works.Quote from: audiotubes on January 15, 2024, 09:23:25 pmYou can launch Keil tools from command line & external editors.I'll find a batch example .... you need to locate A51/BL51/OH51Code:ECHO OFFREM Keil A51/BL51/OH51 Assembler BUILD BATCHREM looks like DEBUG is required A51 command lineECHO Assembling %~N0.asm using A51C:\SiliconLabs\SimplicityStudio\v4\developer\toolchains\keil_8051\9.53\BIN\A51.EXE %~N0.asm DEBUGREM C:\SiliconLabs\SimplicityStudio\v4\developer\toolchains\keil_8051\9.53\BIN\A51.EXE %~N0.asm SYMBOLS DEBUGif errorlevel 1 ECHO !!!!!!!!!!! Assemble Warnings or Errors !!!!!!!!!!!!!!! Search for '*** ERROR' or '*** WARNING' in %~N0.LST fileif errorlevel 1 GOTO ENDECHO Linking %~N0.obj using BL51C:\SiliconLabs\SimplicityStudio\v4\developer\toolchains\keil_8051\9.53\BIN\BL51.EXE %~N0.objif errorlevel 1 ECHO !!!!!!!!!!! Linking Errors !!!!!!!!!!!!!!!if errorlevel 1 GOTO ENDREM Simulators and Debug expect omf extension, from BL51 default no extension file, & create HEX, in case needed.C:\SiliconLabs\SimplicityStudio\v4\developer\toolchains\keil_8051\9.53\BIN\OH51.EXE %~N0ECHO Copying OMFCOPY %~N0. %~N0.OMF:ENDpauseand here are command lines for Microchip Assembler C51ASM, and ASEMCode::ATMEL_ASMD:\AT89LPDeveloperStudio\system\C51ASM\BIN\c51asm %~N0.asm --listfile --omf-51 --debug:ASEM_51_ASMD:\AT89LPDeveloperStudio\Turbo51Studio\Asem-51\ASEMW.EXE %~N0.asm /omf-51rem ASEM.EXE only 8 char names ?, a blast from the past ....Did you download this MCtools, I linked before ? That is a nice 8051 simulator, that has SDCC support and Turbo51 support and assembler. It is small and nimble.https://www.rathlev-home.de/mc/mctools-e.htmlIt does not simulate the newest peripherals, but is very good for getting code blocks working.

author: Ian.M
author_rank: Super Contributor
timestamp: January 16, 2024, 12:39:54 am
content: Considering the two USB UART adapters:Quote from: audiotubes on January 14, 2024, 08:36:59 pmThe first claims to have a FT232RL, which *IF* *Genuine* FTDI, is preferable for embedded stuff due to the wide range of other stuff it can do, including 'talking' SPI and I2C, and even as a JTAG adapter using OpenOCD and its 'bitbang' mode. Its also got a convenient switch to configure its logic levels. However its cheaper than FTDI sell just the chip, so odds are its fake. If you are using Linux there are fairly reliable workarounds for fake FTDI chips, but on Windows (and also I believe OSX), you are in for driver hell with the genuine FTDI drivers refusing to talk to the chip, and if you roll back the drivers to pre-FTDIgate and have been lucky enough to avoid the driver that attempts to brick the fake chips by wiping their VID and PID, good luck getting that to stick long-term through OS updates.The second claims a SiLabs CP2102, which is less versatile than the FTDI chip, but at the price point is far less likely to be fake and only outputs 3.3V signals. However its inputs are 5V tolerant. The extra serial handshake signals are available at the board edge pads.Re: Simplicity Studio,I think you grabbed the wrong IDE. SiLabs have a native Windows 8051 IDE which does support assembler projects and doesn't force online registration. Have a root around at:https://www.silabs.com/developers/8-bit-8051-microcontroller-software-studioand see if you like it better. I have it and SDCC installed to support a C8051F330 'toolstick' I was playing with a while back.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: January 16, 2024, 01:58:13 am
content: Quote from: Ian.M on January 16, 2024, 12:39:54 amInteresting suggestion, that older IDE is a little deprecated, but I downloaded it and checked. Seems Ok in Win11. Download is 40MB and install is ~ 200MB.Release notes are here IDE Version 5.50 - June 27, 2019https://www.silabs.com/documents/public/release-notes/mcu_WebReadme.txtShows it supports EFM8 parts, but not (yet?) the newest EFM8BB5x series - but that may not matter to the OP.EFM8BB1 is cheap, and has the low cost Debug EFM8BB1LCK.It needs to be pointed to Keil C51 for C builds, but it can also download a externally created OMF51 file, so I checked a Atmel/Microchip C51ASM assembler created, and that seems fine.Attached screen shot is a SiLabs older IDE 5.5 running a externally generated C51ASM file I had lying about, and I added 3 watch and stepped a few lines, on a EFM8BB1LCK host.(note the red highlight in DATA changed after single step)Just point to the OMF51 file to download.

author: audiotubes
author_rank: Regular Contributor
timestamp: January 16, 2024, 08:32:23 am
content: You guys are AWESOME! Thanks so much for the helpful info and links.

author: bson
author_rank: Unknown
timestamp: January 17, 2024, 06:49:48 pm
content: Remember there's a difference between a programmer and a debugger. The former is plenty if all you're going to do is flash it with some firmware you have on hand, but if you're actually going to develop firmware a debugger is often a huge time saver and can do things that you simply can't with printf's to a serial port. Like set hardware breakpoints that will work even with interrupts disabled and don't mess with timing (unlike synchronous polled serial writes).

author: adinsen
author_rank: Regular Contributor
timestamp: January 17, 2024, 09:37:00 pm
content: Some things are impossible to find with printf's and hard to find even with debuggers... I experienced a timing issue recently where a somewhat longish interrupt handler caused the serial port to do odd stuff. I realized when I looked at the generated assembly that the simple C code was not so simple.Fortunately I could move most of the processing I was doing ino into the main loop instead and that solved it.However, I must admit I found it strangely pleasing to run into such a problem for my hobby projectI doubt if a debugger could have helped me detect this, but my 89S51 doesn't have that ability anyway. What goes on inside it stays inside it. For my next design, I have six unused pins which I'll reserve for debugging.

author: audiotubes
author_rank: Regular Contributor
timestamp: January 20, 2024, 07:28:37 pm
content: Quote from: adinsen on January 13, 2024, 09:25:38 pmMy buddy's dad worked for AT&T in the 1970s and had a living room full of hand-built SBCs and other devices, all wire-wrapped. It seems to me a very good system, but the sockets are like 2 euros a piece on digikey.Do you have a good international source for wire wrap goodies?I am a bit lost with all the discussion on programming here. So if I can get some quiet time yet this weekend I'll probably order one of the Silabs BB boards mentioned upthread that has onboard program/debug, and probably the standalone 8051 card from Mikroe, which has a DIP40 socket and onboard programming (but I think not debug).I'll also take a chance on some USB UARTs, one I linked above which is about 5 euros and another one I found on Mouser which is around 16 euros but should have the real FTDI chip. If I don't hate 8051 (I hate most of what I have seen from Intel) and it turns out to be more or less what I expected, then I will try the po-man's dev board either with wire wrap, breadboard, or PCB. I got some crystals and other stuff in the last weeks and should be able to get something together.

author: audiotubes
author_rank: Regular Contributor
timestamp: January 22, 2024, 10:40:15 pm
content: Quote from: PCB.Wiz on January 16, 2024, 12:04:59 amThank you, yes. I looked at the site and indeed it looks like a very nice set of tools. But I am going to try to start with vendor tools for now.Quote from: PCB.Wiz on January 11, 2024, 11:11:02 pmI finally had a few minutes free, so I ordered BB52-EK2701A. Thanks very much for all your help.Quote from: Whales on January 11, 2024, 10:06:48 pmThanks very much, along with the Silabs board mentioned above I also ordered a Microchip EV66E56A.It's gonna be a long startup curve for me, but at least I will have one 8051 and one AVR board that have onboard program and debug.Thanks to everyone, you have all been incredibly patient and helpful!

author: Doctorandus_P
author_rank: Super Contributor
timestamp: January 24, 2024, 11:27:47 pm
content: First, I apologize for not responding sooner. It's a bit of a hit and miss for following forums for me.Quote from: audiotubes on January 11, 2024, 09:02:51 pmI did some assembly for school project only, and I liked the mnemonics of the Z80 a lot better then the 8085, even though the binaries were mostly compatible (Z80 had some nice extra index registers and shadow registers, but those were not often used. 6802 was apparently popular but I never used it.But more important: I stopped using assembler over 20 years ago. Any decent uC family has at least one viable C compiler these days, and writing code in C instead of assembly is a huge productivity improvement. C is also easier to learn then assembly. A program written in C is also mostly portable between different uC architetures. You have to abstract out machine dependent code such as direct register writes, but generic algorithms can be ported quite easily.Quote from: audiotubes on January 11, 2024, 09:02:51 pmIn the last 30 years, "electronics" has changed gianormously. Electronics and computer magazines were very popular back then, and now a lot have seized to exist, and the remaining ones are struggling. Back then assembly was widely used, but the reason for it was that there simply were no better tools available. When better tools (such as C compilers) became available, a lot of excuses were invented by the assembler lovers to justify sticking to their own trade. Back then, the few C compilers that did exist, were also much less advanced then they are now. They have been continuously improved and are still improving.It is a whole different world. Take for example an ESP32. You can write a program with a size of 2 pages, pull in some libraries, and then communicate over WiFi with some other uC or PC that speaks WiFi too. There are many thousandths of IC's you can add to a microcontroller board, and there are thousands of small libraries you can use to talk to such an IC, over whatever interface that IC supports (often SPI, I2C or some custom serial protocol).I say that re-starting now with learning assembly for an 8051 is a waste of time. Put the same effort into learning C and you can quite easily switch between 20 or so different microcontroller architectures. And you can re-use code distributes via sites such as github and gitlab. There are hundreds of thousands of projects over there. Many uC's have small breakout boards available that you can simply stick on a breadboard, and that is all you need. Some work with bootloaders. for others you pay EUR5 for such a board, and EUR3 for a programmer.I wonder, what sort of research have you done before starting this thread? Where are your interests?Was it just "I once did asm on 8051 and I want to do it again", or other reasons?Quote from: audiotubes on January 11, 2024, 09:02:51 pmThis is also a topic you do not have to be afraid of.There is no "qualification" needed for starting to design a PCB. 12 year old kids can start designing PCB's these days. I use KiCad myself. It's a quite capable PCB design suite, and it is fully open source and free software. Just install it and start practicing. If you want to do anything with electronics, you probably want to draw some schematics too. And then you are already 30% along the route to the PCB. Also, when you design your own PCB, it is easy to work with SMT parts (0805 is an easy "size" for resistors and capacitors to start with). I find SMT easier to handle then the old wired parts. All that bending and cutting of leads was a lot of work. And and turning the PCB and working with "straight" and "mirror image" layout was a bit nuisance for me.And also, once you've designed a PCB, you can simply order them online. Single layer PCB's are nearly extinct (Except for mass produced FR2). You can order PCB's for around EUR2 (each) these days, and for that money you get double sided PCB with plating, two solder masks and two silkscreens.I do do not know what your reasons are for wanting to stick with ASM on 8051. If that is all you want, then go for it. But if your main intention is to "do something fun with electronics". Then look around a bit first and then choose something more modern.There are lots of sites to learn about electronics, and demo's of (possible) projects. Hackaday.com is a good start, but just browsing youtube is also an option. Several of the old magazines also still exist, and they often have a forum and a section with projects made by their members.

author: audiotubes
author_rank: Regular Contributor
timestamp: January 25, 2024, 10:03:21 am
content: As noted above, my day job for the last almost 50 years has been writing assembler. I don't use libraries, I write services and it's just me and the hardware and the OS, with nothing in between.I don't like C for many reasons and I also don't agree this or that language is more productive. I'm more interested in quality than C can provide, and looking at MCUs for me is as much about another platform to write assembly language on as it is about a fun project or two where I can get more up to date with what else has changed in the decades I wasn't doing anything with electronics.The focus on 8051 was that I was a video where a guy was able to put together an 8051 on a breadboard with minimal components. That appealed to me, maybe one day I would be able to do something useful. If I look at the more modern, powerful MCUs, I don't believe I'll ever be able to design my own board.

author: Ian.M
author_rank: Super Contributor
timestamp: January 25, 2024, 10:23:10 am
content: The same is true of Microchip's PIC MCUs, from 8 bit all the way up to 32 bit, as many are available in DIP packages. Generally, all you need to get one running on a breadboard are a few decoupling caps, a 10K pullup on /MCLR (the reset pin) and a programmer to flash the chip with your code. Microchip also have various ex Atmel AVRs in DIP packages, which are probably a better choice for an assembly programmer than the PICs as the architecture of the lower end ones is just plain nasty.

author: audiotubes
author_rank: Regular Contributor
timestamp: January 25, 2024, 11:25:22 am
content: Thank you.I just got the 8051 and AVR boards I mentioned today from FedEx. These have onboard program/debug, so it will hopefully be easier to get started.I had read that PIC architecture varied by series, so I would suspect they're not a good target for somebody who wants to code in assembly language.Does the AVR in a DIP package need a lot of components or is it comparable to the 8051 in that regard?

author: Doctorandus_P
author_rank: Super Contributor
timestamp: January 25, 2024, 01:18:04 pm
content: Quote from: audiotubes on January 25, 2024, 11:25:22 amThe minimum would be a decoupling capacitor. (Some even find that debatable).I have had some problems with putting an atmega32 (or atmega328) directly into a breadboard because of capacitive coupling. If you use a crystal oscillator and put the crystal directly into the breadboard, then capacitive coupling between the crystal, and the I/O pins next to it can throw off the crystal and cause spurious resets or lockups. But as long as you use the internal RC oscillator this is not an issue. You can also bend the pins for the crystal upwards and solder the crystal and decoupling caps directly to the IC (some extra glue makes it robust).The other issue is with the reset pin. AVR's have an internal pullup for the reset, but it is quite weak. If the reset pin has long wiring or if you put it in a breadboard, I advise to use a stronger external pullup resistor.I have dabbled a bit in assembly for AVR. Wrote a few test programs before I settled on C. After that I sometimes looked at asm code generated by the compiler to judge efficiency. AVR has a relatively modern instruction set, and it's sorta nice for programming in asm. But it's instruction set has been optimized for C compilers. For example it only has an add (or was it subtract?) for immediate values. You get the other by subtracting (or adding?) a negative constant. It is possible that some assemblers have a pseudo opcode to hide this. The opcode to reset a register is also the same as the opcode for x-oring a register with itself. I guess this is common in more modern processors. I don't know about the older ones.AVR has some other quirks too. For example an offset of 0x20 depending on the addressing method used, and limited address range for some instructions.A small AVR costs around EUR2 and a programmers start also for EUR5 or less, so cost won't be a problem.A thing I do not like about AVR is incompatibility of peripherals. An AVR has a bunch of timers, but there are many variants and small differences in how the timer works. There are also completey silly (and stupid) changes between the attiny, and the atmega. For example, I once bought some ATTINY2313 IC's, and then I found out it does not have a u(s)art, but it has an "usi" (universal serial interface) instead. For me this is a real nuisance. I can't write a library in C for any peripheral and map it to another timer or to an other AVR without extensive verification whether it will still work or not.The newer atmega's are also a hodgepodge. They have functions that look nice on paper, and probably nice to have too, but they mostly break all compatibility with older atmega's. They are more like the Xmega's then the mega's.I am more interested in switching to STM32 myself. If you read a datasheet, then it describes how a timer works, and then there is a line that states it has 5 of those timers. Peripherals also change very little between different uC's (or even between families). With AVR it's rare to find two timers which work the same.For visual stuff, have a look at this search for a "minimal" setup with an AVR. Plenty of breadboard photo's over there.https://duckduckgo.com/?hps=1&q=bare+bones+arduino&iax=images&ia=images

author: audiotubes
author_rank: Regular Contributor
timestamp: January 25, 2024, 02:43:49 pm
content: Thank you! Great post, and I appreciate all the interesting and helpful info

author: PCB.Wiz
author_rank: Super Contributor
timestamp: January 25, 2024, 07:24:40 pm
content: Quote from: audiotubes on January 25, 2024, 10:03:21 amFor the 8051 with Assembler, grab these older PDF8051 Microcontroller Instruction Set - this gives full opcode details, including which flags are affected.https://ww1.microchip.com/downloads/en/DeviceDoc/doc0509.pdfand this is similar, but different focushttps://ww1.microchip.com/downloads/en/DeviceDoc/doc4316.pdfOf course the opcode timings have changed, with the 1T 8051 parts, and even among those, speeds vary.The cutting edge parts (eg STC) now have 32bit fetch, so even 3 byte opcodes can execute in 1 sysclk.The new wide supply MCU's have on chip regulators, so those typically show two decoupling caps, 100nF and 10-20uF, similar to any LDO.The reset RC components often shown on legacy drawings, are no longer really needed, tho often a button on RST is useful to have( plus maybe a boot button, for those with loaders)Crystals/resonators are also no longer mandatory. The calibrated on-chip oscillators are usually good enough to get going.You can get sets of breakout boards from Aliexpress very cheap - SO16 and TSSOP20 if you find interesting new parts without DIP's.

author: audiotubes
author_rank: Regular Contributor
timestamp: January 25, 2024, 09:16:28 pm
content: Thanks a lot. I have been collecting various 8051 doc but I don't think I saw these yet.

author: Davor
author_rank: Contributor
timestamp: January 27, 2024, 06:59:39 pm
content: Books with 8051 assembler examples may also be useful:The 8051 Microcontroller and Embedded Systems - MazidiThe 8051 Microcontroller - AyalaOld and free IDE and simulator for practicing with "virtual MCU" (8MB download):https://sourceforge.net/projects/mcu8051ide/files/mcu8051ide/1.4.9/Good resource for STC parts mentioned in this thread:https://codeberg.org/20-100/Awesome_STC

author: c64
author_rank: Frequent Contributor
timestamp: January 28, 2024, 10:14:48 pm
content: Another option for you is to find any microcontroller in LCSC, find opensource development board for it, and have it made and assembled by JLC. Assuming JLC can deliver to your country.P.S. 8051 architecture sucks.

author: c64
author_rank: Frequent Contributor
timestamp: January 28, 2024, 10:29:11 pm
content: Quote from: audiotubes on January 15, 2024, 09:23:25 pmTry Simplicity Studio 4 from this pagehttps://www.silabs.com/developers/simplicity-studio/simplicity-studio-version-4It has download for the "8-bit 8051 MCU Version 4.1.7.0"

author: c64
author_rank: Frequent Contributor
timestamp: January 28, 2024, 10:34:29 pm
content: I always install new software inside VM first. If I don't like it, takes only couple of seconds to clean it up