Tag Archives: EEPROM

Generation of Sound Using Microcontroller

This project illustrates the use of a microcontroller(MCU) to generate different types of sound. The device uses SST89E54RDA-40-C-PIEMCU, an 8-bit 8051-compatible MCU with embedded SuperFlash memory.The device comes with 24/40KByte of on-chip flash EEPROM program memory which is partitioned into two independent program memory blocks. The primary block 0 occupies 16/32KByte of internal program memory space while the secondary block 1 occupies 8KByte of internal program memory space.

Sound is a function of frequency. This concept has been used to generate sound from the microcontroller. Varying the frequency can produce different types of sounds especially with the use of timer 1 of the MCU to produce different frequencies. Timer is used to produce exact delays and by toggling the output pin, it will generate the desired frequencies. These frequencies are then fed to pin 0 of port 1 which is connected to the speaker. By combining frequencies of different values, different tones will be produced.

The circuit is a basic sound generator that has wide applications such as used in cars that produce sound while reversing. In addition, it supports electronic piano to generate different tones, or in electronic toys to generate sounds. Thus, this device is an effective sound generator that produces an audible sound as preferred by the user.

Generation of Sound Using Microcontroller – [Link]

Delay using 8051 Timer

The major component of this circuit is Microchip’s SST89E54RDA-40-C-PIE, which is a pin-for-pin compatible with typical 8051 microcontroller devices. It has a built-in timer used to produce accurate time delay. The light emitting diode (LED) is connected through the 330Ω resistor to indicate the time delay. The blinking LED switches ON for 1ms and switches OFF for 1ms that indicates toggling from LOW to HIGH and HIGH to LOW. Output PIN P2.2 can be connected to an oscilloscope to generate a square wave.

SST89E58RDA-40-C-PIE comes with 72 Kbyte of on-chip flash EEPROM program memory that is partitioned into 2 independent program memory blocks. The primary Block 0 occupies 64 Kbyte of internal program memory space and the secondary Block 1 occupies 8 Kbyte of internal program memory space. The 8-Kbyte secondary blocks can be mapped to the lowest location of the 64 Kbyte address space; it can also be hidden from the program counter and used as an independent EEPROM-like data memory. In addition to the 72 Kbyte of EEPROM program memory on-chip and 1024 x8 bits of on-chip RAM, the devices can address up to 64 Kbyte of external program memory and up to 64 Kbyte of external RAM.

This design integrating Microchip’s SST89E54RDA-40-C-PIE would be used if high-accuracy, precision and timing resolution of timed events are required to activate or deactivate control outputs based on programmed time intervals. Time delay applications include pump control, food processing, and packaging control where precise ON/OFF control is necessary.

Delay using 8051 Timer – [Link]



EEPROM Add-On Board offers an easy way to interface a standard 24Cxx type I2C EEPROM to your project.


  • 5 VDC supply sourced through the interfacing Box Header connector
  • Jumper selectable address option available
  • Four mounting holes 3.2 mm each
  • PCB dimensions 36 mm x 32 mm

EEPROM Module – [Link]

Nonvolatile memory resists gamma radiation

Maxim DS28E80

Using only one contact to simplify implementations in small, disposable medical sensors, the DS28E80 1-Wire EEPROM from Maxim Integrated Products resists gamma radiation of up to 73 kGy (kiloGray), allowing OEMs to calibrate a consumable medical sensor and to monitor or control unsanitary reuse of medical disposables. Gamma radiation sterilization is typically used on single-use disposable medical sensors and consumables, but the method is incompatible with conventional floating-gate memory technologies, as gamma’s high-ionizing radiation erases the memory.

Nonvolatile memory resists gamma radiation – [Link]

Cypress expands energy-efficient line of nonvolatile RAMs

Cypress 4Mb FRAM

by Susan Nordyk @ edn.com:

Cypress Semiconductor is sampling a 4-Mbit ferroelectric RAM (F-RAM), which is one of the industry’s highest density serial F-RAMs, featuring a 40-MHz serial peripheral interface (SPI) and a 2.0-V to 3.6-V operating voltage range. F-RAMs consume 200 times less energy than serial EEPROMs and 3000 times less energy than NOR flash devices. Further, Cypress F-RAMs are able to endure 100 trillion read/write cycles and provide 10-year data retention at 85°C and 151 years at 65°C.

These energy-efficient memory devices are useful for applications requiring continuous and frequent high-speed reading and writing of data with absolute data security. The 4-Mbit F-RAM devices address mission-critical applications, such as industrial controls and automation, industrial metering, multifunction printers, test and measurement equipment, and medical wearables.

Cypress expands energy-efficient line of nonvolatile RAMs – [Link]

Interfacing MCU to various I2C Devices XD


This project embodies the concept of I2C bus standard. It signifies how important to know the I2C devices and how they will be integrated. There are a lot of innovation can be made using the standard and more people are attracted to get involve in the embedded world professionally or just as hobbyist. The number of I2C devices included in this project may develop new ideas and designs.

The design includes 8-Bit Microchip PIC18F14K22 microcontroller which serves as the master of the I2C bus communication principle. The PCA9547D device is an 8-channel I2C-bus multiplexer with reset that communicates with the I2C devices one at a time. The PCA9500 device is an 8-bit I/O expander with an on-board 2-kbit EEPROM that simplifies the connection of LCD to the multiplexer. The MCP9801-M/MS device is a 2-Wire High-Accuracy Temperature Sensor for temperature monitoring. The 24LC025/ST device is a 2.5V, 2 Kbit Addressable Serial EEPROM (Tape and Reel) with no WP pin for firmware application. The MCP3221A0T-I/OT and TC1321EOATR devices are both for data conversion. The MCP3221A0T-I/OT is a Low Power 12-Bit A/D Converter With I2C Interface and the TC1321EOATR device is a 10-Bit Digital-to-Analog Converter with Two-Wire Interface. The MPL115A1 device is Miniature I2C Digital Barometer for pressure sensing applications. The MCP79400-I/MS is a Battery-Backed I2C™ Real-Time Clock/Calendar with SRAM and Protected EEPROM for applications that includes time. The PCA9530D device is a 2-bit I2C-bus LED SMBus I/O expander optimized for dimming LEDs in 256 discrete steps for Red/Green/Blue (RGB) color mixing and backlight applications. The 2X16 LCD is for display and monitoring application.

The design is very versatile since it opens up ideas to innovate. It is an excellent project for embedded system application. There are a lot of student will be attracted to develop their own design.

Interfacing MCU to various I2C Devices XD – [Link]

TinyPrime project based on ATTiny13A


Spacewrench over at Dorkbotpdx writes:

This is a rebuild of the TeensyPrime project I built a while ago, using a separate breadboard that’s almost too small (I had to use magnet wire to fit some of the connections) and a microcontroller that’s almost too small. The ATTiny13A is a neat chip: AVR with 1K of flash, 64 bytes of RAM and 64 bytes of EEPROM. I programmed it using a Teensy-2.0-based waldo running Ward Cunningham’s TXTZYME.
The programming for this is actually kind of interesting. Every time you push the button, the AVR retrieves the currently-displayed number (which is stored in EEPROM), and then increments it, clicks the counter, and tests for primality. If the number isn’t prime, it increments and clicks again. When a prime number is reached, it stops and waits for another button press.


TinyPrime project based on ATTiny13A – [Link]

Quartz-crystal Controlled Wrist Watch

This is another common device people use everyday, in which a circuit drives the motor found in our watches or clocks to determine the time.

The circuit is mainly operated by PCA1462U IC, specially suited for battery-operated quartz-crystal controlled wrist watches. The quartz crystal is used to input an oscillated signal to the PCA1462U IC then produces an output of pulses that drives the stepping motor ON.

The IC used in this circuit is specialized for this application featuring an amplitude regulated 32KHz oscillator, with excellent frequency stability resulting in a high immunity from oscillator-to-leakage currents. The loss of motor steps is not possible because of an on-chip detection on the induced motor voltage, this output is applicable for different types of bipolar stepping motors. This IC also has a very low current consumption; typically 170 nA, and the time calibration of the pulses is electrically programmable and reprogrammable (via EEPROM).


  • PCA1462U CMOS integrated circuit
  • 1.55V dc power source
  • Quartz Crystal Oscillator
  • Stepper Motor

Quartz-crystal Controlled Wrist Watch – [Link]

ENC28J60 Ethernet Module


Microchip’s ENC28J60 is a 28-pin, 10BASE-T stand alone Ethernet Controller with on board MAC & PHY, 8 Kbytes of Buffer RAM and an SPI serial interface.

It takes just few components to get the ENC28J60 up and running and connected to a host microprocessor or microcontroller which support the standard SPI interface. Below I have designed a small ENC28J60 module. The ENC28J60 has a operating voltageof 3.3V, but the board is designed to run with 5V supply voltage, i.e. inculdes a 3.3 voltage regulator for the power supply and a 74ACT125 used as level shifter for the control lines. So it can be directly connected to any 5V microcontroller system. Optionally, an I2C EEPROM can be assembled on the board which can be used e.g. to store websites if the board is used in an embedded webserver environment.

ENC28J60 Ethernet Module – [Link]

Automatic School Bell


This project is an Automatic School bell system. Such a system triggers a bell (or operates any other load) at predifined time. In this version some advanced features are introduced. I used PIC18f4520 microcontroller as the brain of the system. RTC1307 IC is used to maintain the clock,date and day with a 3V backup voltage battery. Bell timings are stored in the internal EEPROM of mcu.

Automatic School Bell – [Link]