When we approach a problem from a different perspective and deliver innovative solutions, it’s not hard to see why our customers go ‘wow’.
In 2010, we launched an emergency luminaire equipped with an integrated sensor, which resulted in a remarkable 93% reduction in energy consumption. This breakthrough product quickly gained popularity, and the Chamaeleon brand was born. Prior to the Chamaeleon, lights in fire stairs and car parks operated 24/7, unnecessarily consuming significant amounts of energy and creating ongoing maintenance requirements. In 2010 the Chamaeleon light changed that forever.
Lighting upgrades involve more than simply replacing existing fixtures. A careful evaluation of what works and what does not, collaboration with the lighting design team to select appropriate luminaires, the integration of controls, and the development of connection systems all contribute not only to energy savings but also to significant reductions in project costs. Our commitment to working closely with clients to deliver tailored solutions is now embedded in enLighten’s core values.
enLighten Australia was initially formed in 2009 to design and supply highly efficient, intelligent LED lights for commercial and industrial properties. Founder and CEO Steve Cahill's extensive local and international experience in commercial Property Facilities Management, positioning us to anticipate and address LED lighting upgrade opportunities.
Steve identified a growing market for energy efficiency retrofits in Australia, which was driven by rising energy prices, the NABERS energy rating scheme, and government incentive programs for energy savings. After a year of thorough product research, including domestic and international testing and the submission of multiple lighting patent applications, enLighten began marketing its products in November 2009.
Want to learn more? Download our Capabilities Statement!
We are proud to hold the following ISO certifications, which not only validate our dedication to quality, safety, and environmental responsibility but also reflect our continuous efforts to improve and serve you better.

Designed in consultation with the lighting industry and their members, the Lighting Council Australia Accreditation Program signals to customers, stakeholders and regulators that an enLighten operates at the highest industry standards and meets key criteria relating to regulatory compliance, product safety and conformity, environmental responsibility, social responsibility, quality systems and product stewardship.

For many years, building owners and managers did not have available cost effective lighting solutions for low-occupancy spaces such as fire stairs, car parks, and back-of-house areas. These areas are often permanently lit, even though they are occupied for only a small percentage of the day. Recognising the unnecessary energy waste, the enLighten innovation team developed the Chamaeleon—a multifunctional light providing full illumination during occupancy and reduced lighting at all other times.

A team of industrial, lighting, and electronics designers collaborated over nine months to refine the initial concept, incorporating feedback from contractors. The Chamaeleon II was introduced with several novel features, including mounting onto a base plate for simplified installation and maintenance, as well as an externally accessible battery.
The Chamaeleon was well received by building owners and managers in the commercial office and high-rise residential strata sectors and is now the new standard in fire stair lighting. Several clients committed to national portfolio rollouts, and energy savings of up to 93% on hundreds of projects helped enLighten win the NSW Green Globe Award in 2011 and the Australian Clean Tech Awards in 2012. Building on its success, the Chamaeleon III was introduced in 2015, incorporating technology for emergency compliance monitoring and self-testing.
In 2012, we broadened our product range to offer commercial and industrial clients a variety of indoor and outdoor emergency and non-emergency lighting options. Notable products include the Tauro Black high bay and low bay lights, Vico Batten, Zorro area light, Skyline office panels, Noctua floodlights, and Yindi decorative area light. We now offer 50 product types, many of which feature advanced controls and control systems.
In 2022, enLighten launched enLink, a reimagined emergency lighting solution that automatically tests and reports multiple aspects of compliance and operation, while also connecting to other smart sensors.
We’d love to better understand who’s visiting. This isn’t data collection, just a quick way to help us design a better site for you.
System.Web.HttpException (0x80004005): Error executing child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'. ---> System.NullReferenceException: Unable to get Form with ID: '0f158336-ad0c-4a03-9440-0bcf563b2ac2' off disk or from the cache. Check the file exists on disk at Umbraco.Forms.Core.Data.Storage.FormStorage.GetForm(Guid id) at Umbraco.Forms.Web.Controllers.UmbracoFormsController.GetForm(Guid formId) at Umbraco.Forms.Web.Controllers.UmbracoFormsController.GetFormModel(Guid formId, Nullable`1 recordId, String theme) at Umbraco.Forms.Web.Controllers.UmbracoFormsController.RenderForm(Guid formId, Nullable`1 recordId, String theme, Boolean includeScripts) at lambda_method(Closure , ControllerBase , Object[] ) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c.<BeginInvokeSynchronousActionMethod>b__9_0(IAsyncResult asyncResult, ActionInvocation innerInvokeState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_0.<InvokeActionMethodFilterAsynchronouslyRecursive>b__0() at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2() at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2() at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2() at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2() at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2() at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2() at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_6.<BeginInvokeAction>b__4() at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_1.<BeginInvokeAction>b__1(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) at System.Web.Mvc.Controller.<>c.<BeginExecuteCore>b__152_1(IAsyncResult asyncResult, ExecuteCoreState innerState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) at System.Web.Mvc.MvcHandler.<>c.<BeginProcessRequest>b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.<>c__DisplayClass5_0.<Wrap>b__0() at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap[TResult](Func`1 func) at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) at System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage) at System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm) at System.Web.Mvc.Html.ChildActionExtensions.ActionHelper(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues, TextWriter textWriter) at System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper htmlHelper, String actionName, String controllerName, Object routeValues) at ASP._Page_Views_MacroPartials_InsertUmbracoFormWithTheme_cshtml.Execute() in C:\inetpub\Sites\Umbraco\enlighten_old_prod\Enlighten\Views\MacroPartials\InsertUmbracoFormWithTheme.cshtml:line 51 at System.Web.WebPages.WebPageBase.ExecutePageHierarchy() at System.Web.Mvc.WebViewPage.ExecutePageHierarchy() at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) at Umbraco.Web.Mvc.ProfilingView.Render(ViewContext viewContext, TextWriter writer) at Umbraco.Web.Mvc.ControllerExtensions.RenderViewResultAsString(ControllerBase controller, ViewResultBase viewResult) at Umbraco.Web.Macros.PartialViewMacroEngine.Execute(MacroModel macro, IPublishedContent content) at Umbraco.Web.Macros.MacroRenderer.<>c__DisplayClass17_0.<ExecuteMacroOfType>b__0() at Umbraco.Web.Macros.MacroRenderer.ExecuteProfileMacroWithErrorWrapper(MacroModel macro, String msgIn, Func`1 getMacroContent, Func`1 msgErr) at Umbraco.Web.Macros.MacroRenderer.ExecuteMacroWithErrorWrapper(MacroModel macro, String msgIn, String msgOut, Func`1 getMacroContent, Func`1 msgErr) at Umbraco.Web.Macros.MacroRenderer.ExecuteMacroOfType(MacroModel model, IPublishedContent content) at Umbraco.Web.Macros.MacroRenderer.Render(MacroModel macro, IPublishedContent content, IDictionary pageElements) at Umbraco.Web.UmbracoComponentRenderer.RenderMacro(IPublishedContent content, String alias, IDictionary`2 parameters) at Umbraco.Web.UmbracoComponentRenderer.RenderMacro(Int32 contentId, String alias, IDictionary`2 parameters) at ASP._Page_Views_Partials_grid_editors_Macro_cshtml.Execute() in C:\inetpub\Sites\Umbraco\enlighten_old_prod\Enlighten\Views\Partials\grid\editors\Macro.cshtml:line 15 at System.Web.WebPages.WebPageBase.ExecutePageHierarchy() at System.Web.Mvc.WebViewPage.ExecutePageHierarchy() at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) at Umbraco.Web.Mvc.ProfilingView.Render(ViewContext viewContext, TextWriter writer) at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData) at ASP._Page_Views_Partials_grid_editors_Base_cshtml.Execute() in C:\inetpub\Sites\Umbraco\enlighten_old_prod\Enlighten\Views\Partials\grid\editors\Base.cshtml:line 20