Skip to content

Version 1.0.0 Release

Compare
Choose a tag to compare
@TheRealKasumi TheRealKasumi released this 24 Dec 15:06
· 125 commits to main since this release
c923682

NikoLight Version 1.0.0

This is our first non-beta release of the NikoLight project. The project is now considered to be ready to be built and used. Together with the community, we have been working hard to finally make this possible. Thanks to everyone who supported the project.

New NikoLight UI

NikoLight now comes with a completely redesigned UI, providing a more appealing look and feel. The design was inspired by the Tesla mobile app. Compared to the previous version there have been great stability and loading time improvements. Offering a better overall experience.

Json Based REST API

While introducing the new UI, the API was also completely reworked. Instead of directly exchanging binary data with the mcu, the API is now json base. This makes it significantly easier to use and more clean. The API is now fully documented in an OpenApi document which can be found in the documentation. To support the development, NikoLight now serves the well known SwaggerUI under /ui/swagger.html. This allows for testing of the API without the need of any tools.

FSEQ 1.0 Animation

NikoLight is now able to play FSEQ v1.0 animations. These animations can be created with xLights and then played in your car. This way you can create fully customized animation and music based light shows. The animations can be uploaded, managed and played via the new UI. There is no need to connect the controller to your computer to transfer the files. Keep in mind that a fast MicroSD card is required to smoothly play animations.

More Channels and LEDs

The number of channels/zones has been increased to 8. Each zone can now also support up to 200 LEDs in series instead of 150 like previously.

Extended Light Sensor Support

The mcu does now support light sensors of type BH1750 to automatically adjust the LED brightness or turn them on/off. They can be connected to the controller via the I²C bus and freely positioned in the car. As a new alternative the motion sensor is now also available to turn on/off the LEDs as soon as any movement of the car is detected. All related settings can be adjusted in the UI.

Power Limits

We know that the WS2812 type LEDs can be quite power hungry. So a power limiter was introduced to protect your hardware. The limits are fully configurable in the new UI.

Temperature Control and Cooling Fan

After introducing the power limiter, we now also support up to 4 temperature sensors that can be attached to the voltage regulators and inductors. This is an additional safety feature and can also help to increase the lifetime of the components. In combination with the temperature sensors, there is also the option to add a 30x30mm fan to keep things cool. The fan is temperature controlled and configurable via the UI. If a high temperature is reached (for example, due to hardware faults, bad connections, overload), the brightness can be reduced and the LEDs can be turned off.

Stability and Performance

Stability and performance have greatly increased since the last beta release. Many bugs were fixed and some problems with random crashes were resolved. Also a task wdt is now used. This allows to reset the controller automatically in case something goes wrong. The code for rendering the pixels and sending the data out to the LEDs was separated. This way the frame rate of the LEDs can be adjusted dynamically while keeping a constant rendering speed. This makes animations feel smoother and is less distracting during a drive.

New Case

The new case improves the usability of the controller by removing previously required screws. The cooling properties have been greatly increased by allowing to install a 30x30mm cooling fan in the case.

For information on how to build this project, please refer to the documentation. A good starting point is the ReadMe.