An LED flashlight which can charge and also have certain functions programmed via the USB port. The user can select stages of brightness level or flashing frequency through vendor supplied software running on a computer. A spare 18650 size lithium-ion rechargeable battery is also shown.