Which Board to buy for Learning Embedded Bare-metal Programming ?

Posted by

This particular article is for students getting started in Embedded domain.  The evaluation boards discussed in this article can be used for bare-metal programming and good for learning micro-controller basic operation. Please note experience on these MCUs doesn’t make you fully eligible for embedded jobs. This is just for beginning the embedded journey.

If you choose Keil compiler for these devices , Check following before purchasing board

C51 Evaluation Tools has following note which allows devices above 2K flash size only

Programs start at offset 0x0800. Programs generated with the evaluation software may not be programmed into single-chip devices with less than 2 Kbytes of on-chip ROM.

Board – 8051 classical

I worked on this MCU  in 1992 and used various 8051 family based devices such as 8031,8032,8735,89C51 etc . I was involved in the design of Ket Telephone systems, LED display boards, Fire Alarm system, Currency Counter , PID controllers etc . I remember using external EEPROM and ultra-violet Eraser .  I have also used PLM51 language  for initial projects.

Majority of embedded professional in India might have started embedded journey with this device and I am bit surprised not only for it’s existence but for new incarnation in the form of ML51, MS51 etc .

Lets take example of At89s52

Main Features

Compatible with MCS®-51 Products
• 8K Bytes of In-System Programmable (ISP) Flash Memory
• 256 x 8-bit Internal RAM
• 32 Programmable I/O Lines
• Three 16-bit Timer/Counters
• Eight Interrupt Sources
• Full Duplex UART Serial Channel

Processor Information BUY Development Board

Board – 8051 Advanced

The latest 8-bit 8051 family by Nuvoton is targeted for various Industrial use. I am thankful to Nuvoton India Sales team for introducing me to this family.

If you are looking for embedded  peripherals such as  I2C, SPI  etc , Look at Nuvoton 8051 family

Here is one example of Industrial MS51 series ms51da9ae 

Main Features

– 8 K bytes Flash, Configurable 4 K / 3 K / 2 K / 1 K Bytes of LDROM, 1 K bytes SRAM, 256 Bytes on-chip RAM
Two 16-bit Timers / Counters 0 and 1 compatible with standard 8051
One 16-bit Timer 2 with three-channel input capture module and 9 input pin can be selected
One 16-bit auto-reload Timer 3, which can be the baud rate clock source of UARTs
One 16-bit PWM counter interrupt for timer
6*16-bit pulse width modulator , 2 full-duplex UART ,1 SPI port with master and slave modes, up to 12 Mbps when system clock is 24 MHz, 1 I²C bus with master and slave modes, up to 400 kbps data rate, 5 channels of 12-bit ADC, up to 500 ksps converting rate
12 general purpose I / O pins and 1 input-only pin

MS51FB9AE board has inbuilt flash programmer through USB.    BUY Development Board

Arduino UNO

MCU ATmega328 -Arduno Uno


Node MCU

If you want to do something beyond basic Embedded and try basic IoT application. You may look into following :

NodeMCU ESP8266 Devkit ESP12 with DHT11


You may want to experiment with Blynk board alnng with Node MCU. BUY

Recommended Articles

ARDUINO UNO :An Engineering Approach

ESP8266 WiFi Server @ESP-01

If you plan to use any of these boards in India and need additional information , Please contact us



Embedkari Low Cost Training

Thanks for reading till end. Please provide your feedback regarding this article. Also subscribe  Embedkari for other interesting topics.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.