Nuvoton 8051 Core Device

Recently noticed an inexpensive 8051 core device. Good old 8 bit technology.

The N76E003AT20 device, pre-mounted on a small development board, seems to be widely available at a reasonable price.

Dev board

Had kinda hoped that somebody out there might have written up a guide on how to use this board with the BASCOM-8051 BASIC compiler but a decent 'howto' note couldn't be found.

So, a few notes on how this might work. As things stand (Oct 2019), some parts are ordered and a bit of research is started. As and when the parts arrive and can be played with, notes will be added here. N.B. To date, I've not even been able to program the device!

The chip is a 20 pin surface mount part. Manufacturer datasheet (a 273 page .pdf) can be found here. It's generally a lot easier to buy a dev board with this device already in place than to manhandle the bare part.

Asserted that my dev board hasn't been setup with a serial bootloader, so I'll have to await the arrival of the 'link' programmer before a lot more can be done. The programmer is a 3-wire affair.

Architecture




Note: Whilst the above picture is a good overview, it doesn't make it very clear that the memory can be split into 'code space' (APROM) and 'bootloader space' (LDROM).

The Dev board

The board that I have (as pictured above) measures about 42mm x 30mm. It's pretty small, yet space has been made for four M3 mounting holes. The chip is centrally positioned. This board has a mini-B USB connector fitted. Seems that this is just used to feed 5V to the board - the data lines on the connector don't seem to be hooked up to anything. A surface mounted LED lights up when power is applied via the mini-B. The other LED on the board is attached (via a resistor) to port pin P15 - the Jumper 'J2' needs to be fitted if you want to drive this LED.

The chip can work at supply voltages between 2.4V and 5.5V. The board uses a AMS1117 3.3V regulator to drop the 5V USB fed line. Not sure why they bothered, but there we have it. I've seen a variant of this board that is fitted with a 5V/3.3V selector switch.


A few words about the key features of this device

Core - 1T 8051 processor - Max frequency up to 16MHz - Wide operating voltage: 2.4V to 5.5V - Temperature range: -40℃ to 105℃ Memory - 18 KB of Flash memory - 1 KB of SRAM - Supports configurable Data Flash - Supports program update by: ISP (In-System Programming) ICP (In-Circuit Programming) IAP (In-Application Programming) PWM - Up to 6-ch PWM - Programmable dead-zone generator ADC - 12-bit 8-ch ADC - Runs up to 500 kSPS Connectivity - Two UARTs up to 115200 bps - One SPI up to 8 MHz - One I²C up to 400 kHz Clock Control - < 2% deviation 16 MHz Internal RC oscillator - 10 kHz Internal RC oscillator Part No. N76E003AT20 Flash (Kbytes) 18 SRAM (Kbytes) 1K Data Flash (Kbytes) Configurable ISP ROM (Kbytes) √ I/O up to 18 Timer (16-bit) 4 Connectivity-UART 2 Connectivity-SPI 1 Connectivity-I²C 1 PWM (16-bit) 6 ADC (12-bit) 8 ICP IAP ISP √ INT 2 Special Function 1T 8051, 16 MHz internal RC, KBI, on-chip debugger Operating Temp. Range (°C ) -40 ~ +85 Comp. - Chip Package TSSOP20 (4.4×6.5)


Some ideas

This chip has both user program and bootloader areas. It should be possible to use the Nuvoton supplied serial bootloader to allow the board to be programmed via a standard USB to serial port adaptor.

ToDo:

  • Need to find out if the board comes pre-supplied with a bootloader. - Done. Mine didn't.
  • A small enclosure will need to be milled to hold this part.