An embedded system is a computer system with dedicated function, acting standalone or a part of larger system. Examples of embedded systems include: calculators, printers, thermostats, air condition controllers.
Some general properties usually are:
Low power consumption
Rugged operating ranges
All this comes at a cost of low programming resources making it harder than computer programming with “unlimited resources”. However, by building operational mechanisms on the top of the hardware, available resources can be managed at the unit and used precisely for intended operation at intended performance level.
Usual embedded systems are based on microcontrollers (CPU with integrated memory and/or peripheral interfaces) or ordinary microprocessors (using external memory chips and/or peripheral interface circuits). Processors types are ranging from general purpose to those specialized in certain class of usage, dedicated like digital signal processing DSP. Usage of correct processor will bring all necessary properties to system having it running just the way it should.
Making embedded system “more universal” is a common design time mistake that will make system more expensive in every way. Embedded system should follow definition from beginning and be opposite of regular computer software in way: MORE SPECIFIC == BETTER
Chips like: SPI Flash, SD Card, RAM, Gyroscope, Accelerometer … with addition of LCD, touchscreen are making embedded systems more powerful every day so staying in line with newest on market is a must for developing a high quality embedded system