TheRealKasumi / NikoLight

NikoLight is a DIY ambient light project specialized for cars. It is based on a ESP32 microcontroller board and completely open source. Please feel free to support the project by contributing to it.
GNU General Public License v3.0
17 stars 1 forks source link
ambient car diy esp32 esp32-arduino led led-controller led-strips light ws2812b

NikoLight

latest release PlatformIO Build UI Build NUP Build

Disclaimer for Hardware 2.2

Currently I am rewriting the firmware from scratch including many improvements and new features. The release was planned for Christmas 2023. Even when many parts of the new firmware are already working, I am currently a little time limited and will not be able to finish it in time. Instead, I added experimental support for the v2.2 hardware to the current firmware. This does not come with all the new software and hardware features but it allows you to use the new (2.2) NikoLight boards with a significantly higher power output and the overall improved hardware.

The hardware version can be adjusted in the SystemConfiguration.h. Again, keep in mind that this experimental and there might be some hidden issues.

Introduction

NikoLight is an open source ambient light that you can build yourself. The project is primarily aimed at people who are not looking for a ready-made solution and prefer to tinker, modify, extend and work on it as a community. As the name suggests, the project was started primarily for Tesla vehicles. The focus is on the Model 3 and Model Y. However, it can also be used for other cars with some small modifications.

With NikoLight you can control up to 8 zones with a variable number of WS2812-type LEDs. For example, the 4 doors, the center console, the footwell lights and a light bar under the dashboard. In total, several hundred LEDs can be controlled individually.

Since there should be an easy way to control all these LEDs, there are many different effects for each zone. These can display a simple color, color gradients or even animations in the individual zones. Since the controller has a motion sensor, some effects are even interactive. The effects are expandable in the future and can be adapted to your wishes over time. Even fully customized animation are possible. You can create these on your computer and play them back in the car.

NikoLight can be easily integrated into your Tesla (and other cars). There is a sensor that can be connected to the lighting around the footwell. This way, NikoLight switches on and off automatically when you open or lock the car. It is also possible to regulate the brightness together with the factory-installed lights or via the display. The controller is also expandable and could support additional hardware in the future. For example, there could be a CAN adapter to get more information from the vehicle. How relevant these extensions will be, depends a little bit on the community and the support I will receive.

Once built and installed, NikoLight can be configured via a browser-based UI. When starting the controller, a Wi-Fi hotspot is created, which you can connect to with any device. The user interface can be accessed via a normal browser thanks to the integrated web server. The project is therefore mostly platform-independent.

Here is a short summary of the currently most interesting features:

Some Videos and Pictures

NikoLight Demo 2

(click to watch on YouTube)

NikoLight Demo 1

(click to watch on YouTube)

App

PCB

Planning

It is recommended to read the planning document before you start the project. There are some important considerations and decisions you have to make first. This will save you some trouble and makes it easier to buy the right parts.

Part List

A list of required and optional parts can be found here.

Build Guide

The build guide can be found here.

One Request

A lot of our time, effort and money went into this project. Nevertheless, we share it publicly with you. You can use it for free, modify it and even earn a coffee by building the parts for other people as long as you are a private person without commercial intentions. But please don't steal our work, be a little respectful and give credits. That said, I hope you have a lot of fun and great experience with NikoLight! Thank you💖!

Contributors


TheRealKasumi
TheRealKasumi

🐛 bug
💻 code
🖋 content
📖 doc
🎨 design
💡 example
🤔 ideas
🚇 infra
🚧 maintenance
🧑‍🏫 mentoring
📦 platform
🔌 plugin
📆 projectManagement
📣 promotion
💬 question
🔬 research
👀 review
🛡️ security
🔧 tool
⚠️ test
✅ tutorial
📹 video


danielbayerlein
danielbayerlein

🐛 bug
💻 code
🎨 design
🤔 ideas
🚇 infra
🚧 maintenance
📆 projectManagement
💬 question
👀 review
🌍 translation
⚠️ test


JakobLichterfeld
JakobLichterfeld

🐛 bug
💻 code
📖 doc
🤔 ideas
🚇 infra
🚧 maintenance
🧑‍🏫 mentoring
📆 projectManagement
💬 question
👀 review
⚠️ test
✅ tutorial


heyitsmarlon
heyitsmarlon

📖 doc


MathiasSeifert
MathiasSeifert

📖 doc


PhilippDenn
PhilippDenn

🐛 bug
🤔 ideas


rgrae81
rgrae81

🎨 design

Disclaimer

Please be careful when working on the project and especially your car. I am not a professional electrical engineer and only doing this as a hobby on the side. Use this project at your own risk.