The Introduction for HD44780-based LCDs with AVR Microcontroller

HD44780 is a widely-used character-based LCD module that has been in production for several decades. These LCD modules are popular in a variety of electronic devices, such as clocks, measuring instruments, and microcontroller-based systems. They are relatively easy to use and provide a low-cost way to display information in real time. The HD44780 module supports up to 80 characters, which are arranged in two lines of 16 or 20 characters each. Today, you will learn and gain knowledge, from the very beginning part of the HD4780-based displays to its software part. Ok, let’s get the learning party started… The HD44780 LCDs with AVR Microcontroller You can simply apply the HD44780-based LCDs to be operated, either in 4-bit or 8-bit mode. If you select the 4-bit mode, the two nibbles of each byte are sent in a sequence on the high 4 bits of the data bus, such as in this order: DB7…DB4 and the low bits, DB3-DB0, are not connected. Besides that, there are also the RS (Register Select) lines, which determine if the information should be interpreted as data…

Continue reading

Parallel and serial High Voltage AVR Programmer

Most AVR fans probably use a simple AVR ISP programmer that can be built from a few electronic parts or even without them. But the fact is that simple ISP programmer has some limitations, like disabling Reset or SPI fuses. A High Voltage AVR Programmer is used for programming and configuring AVR microcontrollers that have been locked or otherwise rendered unresponsive due to incorrect fuse settings or code errors. When AVR microcontrollers are programmed, specific fuse settings need to be configured to ensure proper operation. If these settings are incorrect, the microcontroller can become unresponsive, preventing further programming or reconfiguration using standard programming methods. In this situation, a High Voltage AVR Programmer can be used to reset the fuse settings and reprogram the microcontroller, restoring its functionality. This is done by applying a high-voltage signal to the reset pin of the microcontroller, which allows the programmer to enter programming mode and reprogram the fuse settings and code. High Voltage AVR Programmers are typically used in situations where the microcontroller is not easily accessible or removable from the device it is…

Continue reading

Ultraviolet light box for PCB exposure

Probably everyone electronics hobbyist is dreaming about fast PCB prototyping method. Some of you are just ordering professionally made PCBs, that is not always worth of cost; other are using an easier way – The laser printer toner transfer technique, which is not very accurate; the third option is more advanced – ultraviolet light exposure of photo-resist coated PCB through film mask. This gives pretty good quality at a reasonable price and doesn’t take much time.   The main thing that is necessary and expensive – the ultraviolet light source that is needed to expose a sensitive layer of PCB coating. You can buy light source, or as a hobbyist, you can build one. Scienceprog has published an excellent project on how to build an Ultraviolet light source. It uses 8x20W light tubes that give a total 80W for one side. So the exposure time is just three and half minutes. The device can be used for double-sided PCB exposure. And can produce a large number PCBs at once. Probably many of you may not need such a big device,…

Continue reading

AVR audio spectrum monitor on graphical LCD

Running a Fast Fourier Transform (FFT) algorithm on an 8-bit microcontroller can be challenging. Here are a few reasons why: This is an original version of the previously posted AVR FFT analyzer. Chan developed it some time ago and is still a good reference for those willing to build or modify their own FFT analyzers.   On SG12232C graphical LCD, there are who parts displayed: waveform and spectrum. It looks fantastic and authentic when playing music. The program runs on AVR Atmega8 microcontroller clocked at maximum 16MHz frequency. The signal is passed through an 8th-order elliptic filter(anti-alias filter) implemented on MAX293. The hardest part of this project was implementing an FFT algorithm requiring lots of processing. But Chan has reached 9.6kHz sampling with 75Hz resolution, which is enough for visualization. Besides firmware author also provides fixed point FFT library optimized for Atmega microcontrollers so anyone can enjoy creating similar projects.

Continue reading

User friendly TDA7313 audio processor control board

Scienceprog has built an audio processor control board with three selectable stereo inputs and four outputs. The system is built to be a stand-alone device that can be embedded almost in every audio system. Audio-processor is capable of controlling Volume, BASS, Treble, attenuation of each output channel. The TDA7313 is a digital volume and tone control audio processor that can be used in various audio applications, such as in-car audio systems, mini/micro audio systems, and portable audio players. The benefits of using an audio processor like the TDA7313 include: There is very intuitive menu control installed – parameters are changed by inspecting the visual bar in LCD. All Tda7313 functionality is covered with only five buttons. The device can also remember the last parameter settings. So each time it is powered – the last saved parameters are loaded. All project files are available for download, including Eagle project, WinAVR project, and pre-compiled firmware. As for new alternatives to the TDA7313, several newer digital audio processors on the market offer similar functionality, including the Cirrus Logic CS8406 and the Texas Instruments…

Continue reading

Interfacing Nokia 6100 color LCD to AVR controller

Thomas Pfeifer has connected Nokia 6100 132×132 pixel 4096 color LCD to an AVR microcontroller. LCD is also used in Nokia 6100, 7200, 6610, 7250, and 6220. This display was relatively small by modern standards but was typical for phones of its time. The color depth of 4096 allowed for a range of colors to be displayed, but with limited color accuracy and depth compared to modern smartphone displays. He connected LCD to Atmega8 microcontroller: There are two display types: Epson chipset(S1D15G10) and Philips(PCF8833); The PCF8833 is a graphics display controller designed for color TFT displays with resolutions up to 176×220 pixels. It supported 4096 colors and used a serial interface to communicate with the phone’s main processor. The Epson S1D15G10 was not used in the Nokia 6100 specifically. The example code is written for Philips chipset. Firmware is written in AVR-GCC language, where images can be uploaded via serial cable. Also, there are few video view sample videos on how it AVR-3D-Engine works.

Continue reading