[MOD] Adding an External Notification Light to the Optimus V

Search This thread

mmarz

Senior Member
Apr 6, 2011
187
100
I added a new way of implementing the notification light.

Method 1 (the new method) will turn on your button backlight when a relevant notification happens. The lights will not blink. They will stay on until the screen is turned on. This method consumes the least amount of power. Read the description the first post as to why.

Method 2 (the old method) is still listed for anyone that wants to use it. It uses a lot of power when it is flashing your lights. I recommend using method 1.

Enjoy!
 

platypuss94

Senior Member
Jan 3, 2011
261
39
camas
so i was wondering if this can work with just installing tasker and somehow putting the .jar file into tasker and running it.

the reason i ask this is because i used rom manager and tried to flash clockwork mod which failed and now it has locked up my recovery mode so i cant flash a rom to my phone.

if anyone could help me with that issue it would be greatly appreciated and help a lot. one thought someone had was that i flased the wrong clockwork mod and i think that mioght be it.

any help would be great.

thanks

platypuss92
 

platypuss94

Senior Member
Jan 3, 2011
261
39
camas
i can see the point of this and i always have wanted this on the optimus v but arnt the keylights a bit lame? i really cant see them that well so all i can see this used for is when your phone is sitting in the dark? is there a way to turn the brightness up?

thanks

platypuss94
 

mmarz

Senior Member
Apr 6, 2011
187
100
i can see the point of this and i always have wanted this on the optimus v but arnt the keylights a bit lame? i really cant see them that well so all i can see this used for is when your phone is sitting in the dark? is there a way to turn the brightness up?

thanks

platypuss94

Look at the hardware mod portion posted below the software mod. When you route the LED light out by drilling a hole, you realize that the LED is actually really bright. I can see that I have missed calls, texts,... etc in direct sunlight now.

If you don't want to deal with tasker, you can install the keylights app I put at the top of the first post. It alerts you of sms texts.
 
Last edited:

mmarz

Senior Member
Apr 6, 2011
187
100
Very nice mod there partner! I like it, but wouldn't dust get in through the space around the led?

The original mod I describe uses tape to seal the hole I drilled from the inside. I have since upgraded my mod by sealing the hole using epoxy (a little too advanced for most people). In any case, the area where the led is is open to the air via the gap between the hardkeys and the case. It is in a completely different area than the screen if that is your concern.
 

Asadullah

Senior Member
Aug 24, 2010
1,033
351
casselberry
up at the top of my phone next to the virgin mobile logo it seems as if the screen continues there but it doesn't do anything when I touch it obviously can I put the led there or is it truly part of the touchscreen?
 

mmarz

Senior Member
Apr 6, 2011
187
100
up at the top of my phone next to the virgin mobile logo it seems as if the screen continues there but it doesn't do anything when I touch it obviously can I put the led there or is it truly part of the touchscreen?

To the left there is the proximity sensor, but near the ear piece I don't think there are any electronics. You could potentially put an LED there if you drilled/scrapped through the black paint underneath. Your biggest hurdle is finding a compatible LED. I could not safely remove the backlight LED's without destroying them. They are tiny, fragile, and plastic. They are also unique in that they run on a really low voltage ~0.3V. You are better off simply drilling a hole over where they are and calling it a day.
 

mmarz

Senior Member
Apr 6, 2011
187
100
Don't forget fiber optics, you can route light anywhere with a few fibers.

True! Speaking of which, how is your mod coming?

On a side note, there is word that the makers of the BLN app might support our phone if someone comes out with a compatible kernel. They contacted me but I forwarded them to the kernel devs for the OV. If this works, there will be no need for Tasker. We would be able to use the "light" notification feature of individual apps.
 

mmarz

Senior Member
Apr 6, 2011
187
100
Can this be used on the optimus one? Having blinking buttons for notifications would be nicee!! :)

There is an easy way to test if it does. Download the app posted on the first page (keylights app) and have the app toggle the lights. If the lights turn on, you are set to go.
Or you can run this through adb shell or terminal emulator and see if the lights turn on:
Code:
su
echo 255 > /sys/class/leds/button-backlight/brightness
 
Last edited:

heiszakee

Senior Member
Feb 2, 2011
71
2
Singapore
There is an easy way to test if it does. Download the app posted on the first page (keylights app) and have the app toggle the lights. If the lights turn on, you are set to go.
Or you can run this through adb shell or terminal emulator and see if the lights turn on:
Code:
echo 255 > /sys/class/leds/button-backlight/brightness

Alrite then, will try when i'm free. Thx for the rply! :)
 

mitka48

Member
Dec 28, 2006
32
3
Kyiv
It is kernel dependent, not rom.

Try the command I posted above, and you'll know instantly.

Tried it on P500 (rooted ROM: LOL 1.4.2 with its default kernel) via terminal emulator on device.
Had to do
Code:
su -
first.
Everything's Ok. The keys were backlit.
To turn off the backlight:
Code:
echo 0 > /sys/class/leds/button-backlight/brightness
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 9
    As you know, the LG Optimus line of phones doesn't have an external notification light for missed calls and other events. This mod will turn the backlight for your hard keys into a notification light. Since it uses Tasker, other notifications can be added easily. I then show you how to turn the backlight LED into an external LED.

    This mod consists of two parts, the software mod and the hardware mod. You don't have to do the hardware mod, but it completes the the look and functionality of the mod.

    Software Mod


    Method 1 - No Flashing - The most efficient and least taxing on your battery

    In method 2 (the original method), I will show you how to use Tasker and some scripts to make your button backlight flash for an incoming notification. One problem with that technique is that it requires a script to be run every time the lights are flashed. This resulted in a dramatic increase in battery drain since the phone was kept from going completely idle. I tried creating a script that runs perpetually and only flashes the lights when a setting is changed, but when the phone does go idle, it slows down or completely stops the script.

    I decided to try a new approach to the lights. Instead of to flashing the lights, when a notification comes in, I would leave the lights permanently on until the screen is turned on again. This however required a modified kernel. The default action by all of the kernels is to turn off the key lights when the phone goes idle. Picasticks was kind enough to provide me with a modified version of his kernel that stopped the lights being turned off. With that in hand, I tested what happens when I leave the key lights on. It turns out that the LEDs consume very very very little energy. Over the course of a 20 hour test, my phone only lost 22% of its battery power. Until I can figure out a way to make the lights flash in an efficient way, or Picasticks can find a low level way to incorporate it into the kernel, this is the most efficient solution. You may think that flashing the lights has to be more efficient than leaving them on. If you wake the phone to do it, you are burning through a lot more juice than if you just keep the light on. Think of it the same way florescent lights work. There is a cost associated with turning it on. If you repeat the process of turning them on too often, you consume more juice than just leaving them on. In this case, waking the phone uses 25-60mA for a few seconds where as the LEDs consume less than 1mA. If you waked the phone every 10 seconds to flash the lights and the phone stayed out of idle for only one second, that would equal 25mA * 6 = 150mAs for the most conservative estimate of the amount of battery consumed in 1 min. If I leave the light on and use the most liberal estimate for battery consumption (1mA), then it would consume 60mAs, almost three times less. If we flash the lights every 3 seconds like I did in method 2, that would consume at least 500 mAs, over 8 times as much as leaving the lights on. If you still don't believe me, try both out and let me know how it goes.

    Here is how to set this up to work on your phone with Tasker:
    (If you already installed method 2, you can start at step 5.)
    1. Install tasker
    2. Install sl4a
    3. Download the KeylightsNoFlash_v2.rar and extract it.
    4. Place sush into /system/bin and change the permissions to "rwxr-xr-x"
      Code:
      adb remount
      adb push sush /system/bin/
      adb shell chmod 755 /system/bin/sush
      or through terminal emulator:
      Code:
      mount -o remount,rw -t yaffs2 /system /system 
      cp /sdcard/sush /system/bin/sush
      chmod 755 /system/bin/sush
    5. Place userbackup.xml in /sdcard/tasker
    6. Place the six script files into /sdcard/sl4a/scripts
    7. Open tasker, hit the menu, profile data, restore
    8. Press apply to exit Tasker, and Go to Settings>Accessibility> Enable Accessibility for Tasker
    9. Place Picasticks modified kernel (picasticks-07-led1.zip) onto your micro SD card.
    10. Reboot into recovery.
    11. Use the flash zip feature to install the modified kernel.

    This will turn on the button backlight LEDs if you get a missed call, text, GV message, Gtalk message, Groove IP missed call, Sipdroid, missed call, cSipSimple missed call, new email, or new Gmail. If you want other notifications to trigger the lights, in Tasker hit New -> Event -> UI -> Notification -> Owner Application -> and select the app who's notifications you want to trigger the lights. When the Task Selection Menu pops up, select Togglekeylights. There is a 14 second delay built into the light to allow the phone to go back to sleep before turning on the light for missed calls.

    If you don't want to use Picastick's kernel, then ask your kernel dev to be as kind as Picasticks and create you a kernel that disables the the sleep feature of the button backlights.

    All credit goes to Picasticks for this one. Thank you!


    Method 2 - Flash the LEDs - This consumes way more power than method one but some may find it more aesthetically pleasing.


    I had been using an app called keylights to flash the blacklight on my hardware keys when I had missed texts. More info about that app here: KeyLights 0.2 - Capacitive Lights As Notification - Updated June 3, 2010 Here is a modified version I made with more options: http://www.mediafire.com/?8dwto2rk8jjed62

    Unfortunately, that app refuses to install on some of the roms. Also, the app would only notify you of texts but not missed calls, missed voip calls, GV messages, Gtalk messages...etc.

    So I did some digging and figured out how to toggle the backlight myself. The attached script will turn the lights on for a split second second and then turn them off. If you open the script, you'll see that there really is nothing hard about implementing this. Combine this with Tasker and disabling the lights when you press the hardware keys, and you have yourself a dedicated notification light.

    Here is how to set this up to work on your phone with Tasker:

    1. Install tasker
    2. Install sl4a
    3. Download the Keylights.rar and extract it. (attached below)
    4. Place userbackup.xml in /sdcard/tasker
    5. Place sush into /system/bin and change the permissions to "rwxr-xr-x"
      Code:
      adb remount
      adb push sush /system/bin/
      adb shell chmod 755 /system/bin/sush
      or through terminal emulator:
      Code:
      mount -o remount,rw -t yaffs2 /system /system 
      cp /sdcard/sush /system/bin/sush
      chmod 755 /system/bin/sush
    6. Place the four script files into /sdcard/sl4a/scripts
    7. Open tasker, hit the menu, profile data, restore
    8. Press apply to exit Tasker, and Go to Settings>Accessibility> Enable Accessibility for Tasker
    9. Reboot!

    This will flash the button backlight LEDs if you get a missed call, text, GV message, Gtalk message, or Groove IP missed call. If you want other notifications to trigger the lights, in Tasker hit New -> Event -> UI -> Notification -> Owner Application -> and select the app who's notifications you want to trigger the lights. When the Task Selection Menu pops up, select Togglekeylights.

    If you want to change the interval of flashing, edit the task of the Keylights profile. Change all the wait values. That profile is setup in that way to minimize the number of loops Tasker has to do.

    Here is an explanation of how the Tasker profiles are setup to flash the LED.


    This mod stops the blacklight from turning on when you press the key. If you just want to do the same on your own without Tasker, run the following through adb shell or a script with root privileges:
    Code:
    chmod 0333 /sys/class/leds/button-backlight/brightness
    echo 0 > /sys/class/leds/button-backlight/brightness
    To reverse it:
    Code:
    chmod 0647 /sys/class/leds/button-backlight/brightness
    or just reboot. You'll need to run the disable command after every boot if you want the backlight to not turn on with a press of the keys. With the backlight disabled, you will still be able to flash it using the script provided. You are merely locking out the system from turning on the backlight. To implement this using tasker, delete all of the Tasker profiles except "Boot".

    If you do want your key backlight to function when you press the keys with this mod, delete the "Boot" profile, and reboot your phone.


    Hardware Mod

    I originally opened up my phone because I wanted to see if I could replace the LED used to backlight the hard key buttons with a brighter one and maybe change the color. I am using the backlight as a substitute for a notification light, but the keys are very dim. Well, it turned out that the LED for the backlight wasn't dim at all. It was super bright, and there were actually three of them. Because the buttons have their button circuitry directly under them, their backlight LED's are offset and the light that shines through is routed through a maze of rubber and plastic first. I decided that since the LED's were offset, I could just drill a hole directly over one of them and create my own notification light. The mod is very simple, but I'm going to purposely leave out pictures for some of the steps to scare away incompetent people that shouldn't be doing this to their electronic devices. If you can't figure out how to do this without the pictures, you shouldn't try this at all.

    This will void your warranty in the most OBVIOUS way. Do not try this unless you are comfortable taking a drill to your phone.


    Supplies:
    • Eye glass repair kit or equally tiny phillips head screw driver
    • A drill (drill press is preferred)
    • 1-2 mm drill bit (I used 1.5mm)
    • A strong tape (I used kapton tape for its strength and color)
    • Superglue
    • A small section of foam as a diffuser
    • A razor or scissors

    Steps:

    1. Turn off the phone (obviously). Remove the micro sd card, the back cover, and the battery.

    2. You will see seven screws. Six are around the perimeter and one is where the battery would be.

    3. Remove them all while taking note that the one in the battery compartment is much shorter than the others. You may need to place the phone on a flat surface and press very hard to get the screws started. They all have thread locking fluid on them. Take care to not strip the screw heads. I love the fact that for once the screws are not the stared security screws. Yay open systems!

    4. Once the screws are removed, separate the silver back plate from the front plate and phone circuitry. There are small plastic tabs keeping the two connected. Using a finger nail, work your way around the phone until they all pop out. The back plate should come off with zero effort if all the tabs have been unlatched. All of the plastic side buttons will come off too. Don't lose them.

    5. Remove the two screws and cover plate located over the micro usb plug. This might also take some muscle. These screws are different from the rest. Don't mix them up.

    6. Carefully pop the PCB up. It should only be held down by two small plastics tabs on either side of the phone. The PCB will still be attached to the screen by a ribbon cable. We don't want to remove the PCB or the screen. We just want to get at the front row of buttons to slide them out. With the PCB moved up a bit, you should be able to remove the four buttons that are actually attached to one another.

    Here is what it should look like:
    5jvhib.jpg


    Notice the three LED's marked by arrows?

    Here is a top-down view:
    ju9sts.jpg


    The white ovals represent where the LED's are relative to the buttons. As you can see, the LED's are covered by both the webbing between the keys and the outer case of the phone.

    I chose to use the LED on the left as the notification LED. This is because it is located a little bit higher on the phone than the other two. That made the drilling easier as I wasn't afraid of cracking that small plastic bridge. It was also a lot easier to tape up once I was done. It is up to you to decide which you want to use. The backlight for all your keys will still work no matter which one you pick.

    7. The blue lines are where I cut the webbing between the keys. I had to even remove part of the menu button. That did not change the way the button worked.

    8. Now for the drilling. Here I am about to drill my phone:
    30kaw6f.jpg


    The boys in the machine shop were fascinated with what I was doing.

    "Don't mind me. I'm just using an industrial drill press on my $200 phone."

    As you can see, I taped the battery cover back on the phone to protect the PCB while drilling. Place a piece of cardboard on the inside to protect the PCB in case you drill too far down!

    Here is the after picture:
    11jyhxv.jpg


    I had to drill again with a larger bit (1.5mm), because my initial hole was a little too high. You can see the LED through the hole now. You could probably drill even further down on the phone, but the hole I made works fine with the diffuser.

    Here I am manually holding the battery in place to see how the LED shines through the button webbing and the hole:
    2ednwgl.jpg


    As you can see, that single LED is super bright.

    9. Finally, cut out a piece of tape that will patch up the hole from the inside of the phone. In the center of the tape place a very small sliver of foam. You are making a super tiny band-aid. I used the kind of foam that is used to wrap around merchandise for shipping to prevent scratches. The foam will act as a diffuser for the light and make a secure seal around the hole. If we just used tape, the sticky side would be pointed toward the outside world and would most likely collect dust.

    You want to make the tape as small as possible so that it doesn't interfere with the keys on either side but large enough so that it will secure the foam over the hole you just drilled. It will take a lot of trial and error to get it right. Once you have your band-aid in place, use the tip of a toothpick or needle to apply a very minute amount of superglue around the perimeter of the tape. This will ensure that it stays in place. Give the glue ample time to set before continuing.

    10. Put your phone back together using the correct screws in the correct holes. Remove any dust from the silver back plate before screwing it on to ensure that dust doesn't settle on your camera. You don't have to worry about dust getting under your screen cover because we never broke the seal for that. After you are satisfied with how the mod came out, you can add a small amount of superglue from the outside into the hole, and allow it time to set before moving it again. This will completely seal the hole and further strengthen the band-aid.

    In the end, I redid the hole using the far right led and filling it in with epoxy. Here is my final product:
    29nh3y9.jpg

    2ch72iq.jpg


    But there you have it. A notification light in less than 30 mins of work.

    With the flashing led script, disabling the led with key presses, and finally adding an external spot for the led, you'll have a fully functional and dedicated notification led.

    Enjoy!
    1
    Sorry, just want to make it clear..
    Did You try it with Optimus One?
    Which ROM do You use ?

    It is kernel dependent, not rom.

    Try the command I posted above, and you'll know instantly.
    1
    MMARZ,
    Alas, but ROM-dev chapter on P500 has only ona active thread now, and the guy (franciscofranco) who continues to support his ROM is not really interested in implementing support of this feature. And i'm not that qualified even to explain him what has to be done to kernel to support your method of backlight notification.

    Just use method 2. It doesn't require a special kernel and will only drain the battery when it is flashing.

    If franciscofranco is a kernel dev, tell him that you need a kernel that doesn't turn off the button backlight when the phone goes into its idle state. The mod was apparently easy enough for the kernel dev that made it for me.