blue backlight lcd module 24064 pricelist
ERM24064FS-1 is white background with 240x64 monochrome black pixels,Raio RA6963 controller (fully compatible with Toshiba T6963) that is extremely common and well documented,8080 8-bit parallel interface,single led backlight with white color included can be dimmed easily with a resistor or PWM,fstn-lcd positive,wide operating temperature range and wide view angle,high contrast,rohs compliant,optional pin header.Toshiba T6963 has been assigned to End-of-Life,we use Raio RA6963 as the replacement that is fully compatible with Toshiba T6963.
ERM24064SBS-1 is blue background with 240x64 monochrome white pixels,Raio RA6963 controller (fully compatible with Toshiba T6963) that is extremely common and well documented,8080 8-bit parallel interface,single led backlight with white color included can be dimmed easily with a resistor or PWM,fstn-lcd positive,wide operating temperature range and wide view angle,high contrast,rohs compliant,optional pin header.Toshiba T6963 has been assigned to End-of-Life,we use Raio RA6963 as the replacement that is fully compatible with Toshiba T6963.
A graphic LCD is typically required when the display of more than just text is required. Many of the LCD controllers on our graphic LCD displays also include a CGROM (character generator ROM) to be able to easily use characters as well as graphics. Some of our graphic LCD displays have the ability to render graphics in grayscale, enabling you to show images and elements of your UI (user interface) with more depth and definition.
We offer the largest selection and lowest prices for graphic STN/FSTN LCD displays in the United States. Whether you need one or one-thousand, Crystalfontz America has the graphic LCD for your product.
Article today is about a way to revive some old units with faulty display backlight to former glory. It takes huge amount of man-hours and grey-beards to develop advanced and high performance test instruments. Also it is not trivial to maintain equipment in good health, especially for that extended lifespan over 25+ years. Reason is rather generic – many components from the past often not available on the market today. This means difficult and time consuming workarounds and repairs with modern equivalents if any of the obsoleted parts go bad.
In this article we will look at finding replacement for key component of user interface such as graphical LCD screen. Back in the 90’s vacuum fluorescent displays were the king of the market for high end instrumentation. We can name just few well known examples – HP 3458A, Fluke 5700A, Datron 1281 or even daily bench meter like HP 34401A. LCD tech still was quite new and developing then. Here we will be patching up not just any instrument, but the crown jewel of the resistance metrology field – Measurements International 6010B 9½-digit DCC bridge. 6010B is a predecessor from 1997 of today’s modern Model 6010D improved version.
Metrology lab targeted bridge system like 6010 in 99.9% of target usage cases is controlled remotely via control program over GPIB bus. But in rare case when operator needs to run quick check or verify good connections to resistance standards user can find onboard LCD handy. However, here is a weak point in such case if factory-made backlight got faulty due to age of some older instruments.
Older 6010 bridges using miniature incandescent light bulb for providing backlight. This backlight is quite fragile and with 25-year old obsoleted instrument like 6010B chances for dead lamp or near failing one are high. It would be hard or next to impossible to find exact to-spec replacement for original bulb today. But not all is lost and we can rectify the situation with new LED-backlit high contrast display instead.
This would give more user enjoyment out of older but still perfectly capable instruments. Keep in mind that LCD replacement procedure and steps in this guide are shown only as simple example on what can be done. It is not the only possible solution, but perhaps rather easy one.
Redistribution of article must retain the above copyright notice, this list of conditions, link to this page (https://xdevs.com/guide/mi6010_lcdmod/) and the following disclaimer.
Redistribution of files in binary form must reproduce the above copyright notice, this list of conditions, link to this page (https://xdevs.com/guide/mi6010_lcdmod/), and the following disclaimer in the documentation and/or other materials provided with the distribution, for example Readme file.
MIL 6010B build is very modular and mechanically well designed. Front panel MIL 6010B can be detached from chassis by removing four screws on the sides. 6010 units have LCD, backlight and keypad are mounted on front panel metalwork.
This display does not have integrated backlight but has optional special option for electroluminescent backlight (-EO suffix). Measurements International didn’t go for electrically noisy high-voltage electroluminescent backlight. Instead they went for linear low voltage incandescent bulb in aluminum reflective/heatsink focused on very cool looking multi-fiber optical cable to spread light into LCD light diffuser.
Each strand on fiber cable is edged and polished to perfectly flat surface to have good light transmission from light source to backlight module in LCD.
Despite reasonably low power that lamp use it gets to blazing hot temperatures. Infrared camera thermograph with temperature markers are shown below. Hottest center element is actually glass infrared filter to prevent lamp heat reaching fragile fiber-optic cable. It is transparent to visible light allowing very warm yellowish backlight to operate. Temperatures of excess +195 °C were present close to lamp.
We spent some time trying different LEDs to act as a light source for backlight as lamp replacement. But brightness of used LED was either too low or light source required some non-standard chip-type LED that is quite difficult to position into perfect spot in reflector body to aim focused light on fiber input.
To match style of light-blue Measurements International instruments and latest 6010D negative white display used. We got few mechanically and most important, electrically compatible RA6963-based EastRising ERM24064DNS-1 LCDs. These modules available for inexpensive $28 USD and have very close dimensions to AND original LCD used by factory.
p=.There are multiple color/backlight variants of this display, so if you don’t want negative white on black, take a look on alternative colors as well.
New module have very similar mechanical dimensions, but does not match old display perfectly. It need small amount of alignment in position for good centering. I did not want to modify original mounts or frame thus can live with few millimeters off ideal position.
MIL 6010 use 20-conductor flat ribbon cable to interface with LCD. Pins 21 and 22 used for backlight power. These need to be connected to +5V power source by user.
First we need to provide power to white LED backlight. Power measurement on my display sample revealed current draw around +110 mADC at supplied +5.00 VDC.
This is in line with datasheet specification, but I feel like bit smaller backlight power might be actually better. Jumping ahead, 6010B with new display is brightest instrument in the lab at night now. :)
For backlight I’ve just jump-wired pin 21 to +5V positive terminal of input power tantalum capacitor CE1. And backlight cathode from pin 22 connected to negative terminal of the same capacitor. This supplied +5VDC across integrated LED backlight just fine.
Next modification is LCD contrast adjustment. Measurements International 6010B bridge does not allow user programmable LCD contrast change. We have to do it the hardware way. Contrast is controlled by bias from small negative supply and simple R3/R4 divider network. One way is to change values of R3 or R4 resistors on LCD PCB. Or alternative path, also recommended in interfacing document supplied with LCD is to connect multi-turn 10 kΩ trim potentiometer between negative supply (pin 20, marked orange on Image 12) and ground (marked blue on Image 12). Trim-pot was soldered directly to -15V and GND pads available at R3, R4 and all needed is good fixed contrast setting.
After modifications on LCD completed, install it into unit. Make sure to insulate exposed 4.2 VAC pin header and wire used for old lamp power. I didn’t remove original lamp assembly and holder, you can still see it on Image 12.
Such LCD replacement was easy and quick improvement of expensive and rare instrument. Hopefully this brings an example on how obsolete old parts can be replaced with modern technology, bringing second life to instruments we all love.
This 2×16 character LCD Module with BLUE Backlight uses an I2C interface to communicate with the host microcontroller. This budget-conscious LCD is used on projects requiring the display of text, data, or ASCII characters of all types. Connect to Vcc, Gnd, SDA (serial data line), and SCL (serial clock line). This is a 5VDC device and will be found on the I2C bus at address 0x27 / 0x3F.
A 2.2″ monochrome(AMG12232DR-B-B6WTDW), 122×32 dot matrix, COB (Chip on Board) Graphic LCD Module in STN Negative Blue LCD Mode with White LED Backlight. It has a six O’clock viewing direction and a transmissive polarizer suitable for darker environment. This product is assembled Chip On board with 1/32 Duty and a Controller IC SED1520 or equivalent. The interface type is Parallel. This is an ROHS compliant product manufactured with ISO standards and procedures.
This is LCD 1602 Parallel LCD Display that provides a simple and cost-effective solution for adding a 16×2 White on Liquid Crystal Display into your project. The display is 16 character by 2 line display has a veryread more...
Except for the two decimal point LED"s, each segment is made up of three blue, high brightness LED"s in parallel. As there were only three LED"s for each segment I figured that would be better than putting them in series which would require a higher voltage and possibly complicate the controller circuit.
Each of the blue LED"s has a forward voltage drop of 3.2V and draws about 15mA so a single segment (that isn"t a decimal point) draws around 45mA and we would expect a total current draw of something like 630mA if all the main segments were on. To lower the current requirement we could use a higher limiting resistor at the cost of loss of brightness.
Liquid Crystal Displays (LCDs) have many advantages over other forms of display, for one thing they use very little current and because of that they have found themselves in many portable devices. That said, LCDs often require back lights and can be more difficult to read than other display technology such as LEDs.
It"s just as well that Intelligent LCDs were invented, which can use either a parallel or serial interface, and are designed to help out the programmer with displaying information on an LCD. The text only intelligent displays usually have a built-in character generator (that is, a ROM containing the graphical information of each character) and accept a limited amount of commands to display characters, scroll the display, move to a set position, and so on. This "intelligence" is thanks to one or more controller chips that are part of the LCD module, handling both input from the "outside world" and updating the LCD.
I had acquired 2 Novametrix 515C pulse oximeter units that were slightly different versions but both contained a graphic LCD module which has the identification "DMF-50427N" on them and is made by Optrex. The DMF-50427N displays 128 x 64 pixels with each pixel being black and the interface is a parallel type ideal to be connected to a simple CPU or microcontroller although the LCD module only understands a few commands. You can read more about the oximeter at:
The LCD module uses 2 hd61202 column (segment) drivers designed for dot matrix displays and for interfacing with a microcontroller or something similar. For the datasheet please click here:
I used an Arduino Uno to test the LCD and the sketch I wrote you can find for download at the bottom of this page as "Novametrix_515C_LCD_Test.ino". Download it, write the sketch to your Uno and then with the power off connect it to the LCD as follows (LCD pins numbers are included):
I have not used the LED backlight but to use it you will need to connect LED+ (19) to 5V via suitable limiting resistor (datasheet specifies maximum LED current of 60mA and forward voltage of 4.1V @ 30mA) and LED- (20) to GND. What you must do is supply the LCD contrast voltage to LCD VLC pin 3 which can be from approx. -7V to -9V, the voltage of which will adjust the LCD contrast. To generate the negative voltage you can use my power supply circuit from:
When you power the Arduino you should see on the LCD 4 rectangles of different sizes, if not, double check your connections and try adjusting the contrast voltage.
Now looking at the Arduino sketch if you go to the setup function you will see that the I/O is set up for communicating with the LCD; because the LCD is always in write mode (R/W is connected to GND) we never have to change the direction of the data pins (D0 to D7) but it is useful to be able to read information from the LCD such as whether it is busy executing an instruction (because of the use of digitalWrite() and its slowness it is not necessary to check if the LCD is still executing an instruction). After we have set up the I/O and set the default state we call LCD_rst() which simply takes RST low for 1ms and then returns it high, waiting another 1ms before exiting (which isn"t really necessary).
Back to setup() and we call LCD_send_command() twice to turn on both displays as after reset the LCD is in the off state. LCD_send_command() takes as inputs the instruction value to write to the LCD and the Arduino pin number of the LCD chip select I/O pin and then calls LCD_send_data() passing the input values and "false" so that LCD_send_data() knows that an instruction is being sent rather than display data. Function LCD_send_data() first sets LCD D/I to instruction mode (low) then sets D2 to D9 to the instruction value by writing to the Arduino ports directly so that we don"t need to use individual digitalWrite() to set each bit. Lastly, E (enable) goes low, the relevant driver chip is enabled by taking the input low and then both E and the chip select inputs go back high.
Returning to setup() again the next function we call is LCD_clr_disp() which clears the display by writing zeros to the entire display memory but the routine simply calls function LCD_write_all_disp() and passes zero as its input. Function LCD_write_all_disp() sets up a loop from 0 to 7 (LCD_max_X = 8) and at the start of the loop we set the X address for both driver chips. Horizontally we can access each pixel across by setting the Y address (which should really be called "X") and with each write to display memory Y will increase by 1 but vertically the X address (would be better called "Y") must be set which selects from 1 of 8 pages (using values 0 to 7). Each page is 64 x 8 pixels and writing a byte will set 8 pixels vertically. I"ll show it visually as the first page only:
In LCD_write_all_disp() we set the Y address to 0 before setting up another loop which goes from 0 to 63 so we can write to all 64 pixels horizontally for both driver chips (which will cover the 128 pixels across in total) by calling LCD_send_disp_data() which calls LCD_send_data() but tells it we want to write to display data by passing "true" for the second parameter.
Also in setup(), after LCD_clr_disp(), is the commented out call to function LCD_fill_disp() (un-comment to enable) which like LCD_clr_disp() calls LCD_write_all_disp() but gives it the value 0xFF so all pixels are written to. Toward the end of setup() there are 4 calls to LCD_draw_rect() to draw rectangles of different sizes and in turn LCD_draw_rect() calls LCD_draw_horiz_line() and LCD_draw_vert_line() to draw the 4 sides of the rectangle. Not that I"ve included the horizontal length (horiz_len) and vertical length (vert_len) with the starting pixel (top-left point) rather than the length being added on resulting in an extra pixel as I"ve seen with saw drawing routines. In LCD_draw_horiz_line() we first do some basic checks to make sure the X, Y and len values are valid and then we calculate LCD_disp_value so we can effectively move the line vertically into 1 of the 8 "slots". To get the X address it is just a matter of dividing the Y value by 8 and then we can set that for both driver chips regardless of which one will actually be used. Next, we test to see if the line starts on the left side of the display (chip 1) or the right side (chip 2) by comparing the X start value (X) and then remembering the result by updating variable update_LCD_left. With that out of the way we create a loop to count from 0 to length (len) - 1 so that we can write each pixel of the line horizontally. However, before we update the display we must check if we have moved from the left side of the display to the write by checking if the current coordinate X position (X_pos) if 64 or higher and if so then update_LCD_left is updated. Then we can call LCD_send_disp_data() for the appropriate driver chip with the previously calculated display value in LCD_disp_value.
On to function LCD_draw_vert_line() in which we check X, Y and len are valid and then determine whether we need to update the left or right side of the display and set variable update_LCD_left accordingly. We do a simple calculation to set x_count_limit to the number of line segments, that is, the number of X pages to update. Next we go into a loop to update each X page and at the beginning of the loop we calculate the current Y coordinate value (the pixel at the top of the X page) and then set the X page address value to the coordinate Y position/8 for whichever driver chip we are updating. To actually draw the line we set LCD_disp_value to 0xFF which is then shifted left or right to form the start or end of the line or if it"s a middle segment then 0xFF is outputted untouched as the line segment will be a completed 8 bits. The last thing to do is set the Y address as each display write will increase Y by 1 yet we are drawing a vertical line whose X coordinate value will not change, and we also send the display data by calling LCD_send_disp_data().
A big issue with the line and rectangle drawing routines is that they will overwrite any other display data close by and if a rectangle is drawn with horizontal or vertical length of 8 or less then likely it won"t display correctly as one of the lines drawn will be in the same X page. A workaround to fix the problem would either be to modify the circuit so that the LCD"s display memory can be read or to maintain a display buffer on the Arduino, so that new writes to the display can be combined with whatever is already in display memory. The sketch is only test code and it could do we more boundary checking but at least it shows off a little of what the display can do.
The "HD44780" and compatible intelligent LCD modules are able to display characters only and are very commonly used in a wide range of electronic devices such as in printers, vending machines and much more. These parallel intelligent LCDs are easy to use to the point that for testing purposes you can get one to display characters by using just switches! They are usually used in either 4 or 8-bit mode with the 4-bit mode requiring that both halves of the 8-bit data be sent one after another but having the advantage that fewer connections are needed. This is especially useful when, for e.g., you are interfacing an LCD module to a microcontroller that has few I/O.
You can get HD44780 LCD modules that can display only a few characters, and others that can show as many as eighty, either on one or more lines; these display modules all use a standard 14 connection pinout with one or two additional connections if there is a backlight (usually an LED). There are HD44780 LCD modules that can display more than eighty characters, however, they actually use more than one controller chip and have a different 16 (or more) connection pinout.
There are two basic modes for using an HD44780 LCD module: instruction mode and data mode. Instruction mode is used when you want to send the LCD module commands such as to clear the display or to turn the display on or off. The data mode is used to display characters on the LCD by sending it ASCII values representing the characters. A single input connection to the LCD module called RS (Register Select) selects whether the value on the data bus is to be interpreted as character data or an instruction.
It should be noted that not all characters in the ASCII standard are available as some are replaced with special symbols such as an arrow or the Yen character. That at least makes it more appealing to use worldwide but it you really need the missing characters you can create them yourself and then send them to the LCD module. There is only room for 8 custom characters, a limitation which it seems is due to the fixed length instructions. The custom characters are stored in RAM as part of the LCD module so they will remain as long as power is connected to the LCD module (and the custom characters start up in a random state when the LCD module first gets power). A unique feature concerning the custom characters is that if you modify them while one or more of them is being displayed, they will be updated immediately, making possible simple animations.
There are a couple of things to watch out for that you should be aware of when using these LCD modules. Firstly, HD44780 LCD modules normally initialize themselves when powered up with the display turned off. However, under certain conditions the LCD modules"s initialization may fail so it"s always best to manually initialize the LCD module using its built-in instructions. It"s a good idea to turn on the flashing cursor as a simple test to make sure the LCD module is working.
Another thing to watch out for is that the LCD module can be powered through a computer or microcontroller"s I/O without power connected to the LCD module"s power supply connections. Not only can this harm the LCD module but it also causes the LCD module to retain its current state (for e.g., what it is displaying). If you want to remove power from the LCD module while keeping the I/O connected then set the I/O to logic 0 before removing the power. The reason you may want to do this is to reset the LCD without turning off the computer or microcontroller.
The Raspberry Pi is a great little computer which can be connected to a HD44780 compatible LCD module using its GPIO as a way of outputting useful information, such as the date and time or the current temperature. In this example project I"ve used the LCD module in 4-bit mode so that only 6 GPIO signal connections are needed. The code initialises the LCD module and displays "Hello world!" on the first line along with the flashing cursor and has been tested on a Raspberry Pi B+ (but should work on other models).
It"s a good idea if possible to put the LCD module into breadboard along with the other components and then connect the Raspberry Pi GPIO pins to the breadboard using cables.
The Python code for this project can be found at the bottom of this page and is called gpio_hd44780_test.py. Since it uses GPIO it must be run from the terminal using the command sudo python gpio_hd44780_test.py. In about a second "Hello world!" should appear on the LCD along with the flashing cursor, if not check your connections and try adjusting the LCD contrast using the variable resistor.
Normally when interfacing with an LCD module such as the HD44780 we have to wait some time (well, seconds perhaps) for the LCD to start up. But since we are using the Raspberry Pi by the time the computer boots the LCD module would have started up and be ready to use. In addition, as Python is quite slow (as it uses an interpreter) we can get away with having less delays. In fact, the only delays in the program are when toggling the LCD enable pin.
In case the LCD"s built-in initialisation failed the Python code issues a function set command twice and then write further settings such as to put the LCD module to 4 bit mode. The function LCD_send_instr() is what writes a command to the LCD taking an 8-bit value as input before calling function LCD_send_data() which sends the byte as two lots of 4-bit data. Similar, function LCD_send_char() displays a single character on the LCD module but internally calls LCD_send_data(). The only difference is that LCD_send_instr() takes RS low to put the LCD into instruction mode whereas LCD_send_char() takes RS high to put the LCD into character mode. Lastly, function LCD_send_str() takes a string as input and outputs each character in turn by calling LCD_send_char().
At the very end of the program all GPIO are taken low so that it is safe to remove the LCD module from the 5V supply should you need to such as to reset the LCD. If one of the GPIO pins were high and you disconnected the 5V line from the LCD module it will still be powered by the GPIO which could harm the LCD and will prevent it from being reset.
This is great for testing out a so-called intelligent LCD which is nothing more than an LCD and dedicated controller chip on board, but does a lot of the hard work of working an LCD, especially one which is capable of at least limited graphics. This means you can interface the LCD module to a PC"s parallel port with not too much difficulty and once you have the software done, I"m sure you"ll find many uses for it. There are other options, such as using an USB connection, however, only the parallel port will be covered here as for most people it"s the easiest to program and use (if your computer has a parallel port).
Intelligent LCD modules can be divided into two main types and they are those which can display only characters with very limited graphics (by creating your own characters) and the ones that can display graphics as well as text which can be of different sizes and styles. I"ll be discussing the character only type below as they are the simplest to start with yet have many uses.
The LCD module that I used for this project came from a chucked out fax machine, and was made by Sharp with the code F2631XH-44 written on the circuit board. It uses the SEC C748B chip, compatible with the industry standard HD44780 so I was able to use it without any trouble. It is made up of two lines that are each eight characters long but instead of one line below the other they are side by side. In other words, when the two line mode is enabled for this LCD module it is actually a single line with 16 characters.
Another suitable intelligent LCD, which came from a security alarm (that was not needed!), is a Winstar WH1602B and has 16 connections, the extra two (15 and 16) are for the LED backlight. This LCD module has two lines that are 16 characters wide, one below the other. Obviously the more characters that can be displayed at once the better but the software will have to be adjusted accordingly. It can be a little tricky to use both lines as you have to tell the cursor to move to the start of the next line at a certain position and before that you have to enable two line mode (as already explained may be just an extension of the single line).
Although these LCD modules have an 8-bit interface which is ideal for your average CPU, microprocessor and parallel port the LCD can be be forced into 4-bit mode. In "nibble" mode you have to send one half of the byte after another which may seem a pain but the advantage is that you only need four connections (not including the other signals) instead of eight.