Table of contents:

Timeframe

  • Estimate – 8 weeks.
  • Actual delivery – 8 weeks.

Domain

  • Smart LED lighting.

Services

  • Business analytics.
  • Front-end development.
  • Back-end development.
  • Firmware development.
  • QA.

The brief

Intellect is a startup hailing from Ukraine, introducing its array of consumer IoT gadgets, particularly sleek smart lamps designed with a contemporary minimalist aesthetic. The Intellect LED lamp collection stands out for its range in size, design, and lighting options, offering either a comforting warm white glow or an array of colors via RGB LEDs. This versatility ensures seamless integration into any living space.

Innovating the Smart Lighting Experience: A Success Story of Intellect Lamps and 2Smart Cloud Collaboration

The Intellect team excels in hardware development for devices and crafting their sleek designs. Their line of LED lamps, renowned for their superior quality and ergonomic design, holds significant potential not only in local markets but also in Europe and globally. However, the software used for their products didn’t align with their ambitious vision.

Intellect initially built their lamps using the open-source WLED platform, favored by DIY developers worldwide due to the many pre-made effects developed by the platform’s community. While these effects are a significant advantage, the platform’s native mobile app for controlling LED lamps falls short of meeting modern user expectations and isn’t suitable for a commercial project with high aspirations.

A critical issue with Intellect was that their WLED-based app operated solely locally, necessitating both the lamp and smartphone to be connected to the same Wi-Fi network. This limitation means users cannot control devices remotely from outside their home, and sometimes not even when their Wi-Fi router supports multiple networks. Moreover, the application lacks support for branding, preventing the lamp manufacturer from fully establishing their trademark and offering a branded software product of equivalent quality to their innovative devices.

Innovating the Smart Lighting Experience: A Success Story of Intellect Lamps and 2Smart Cloud Collaboration

Having spotted an ad for Intellect LED lights on social media, we were drawn to the product and intrigued by the project. Upon recognizing the use of WLED software in promotional photos, a familiar platform to our developers, we inferred the challenges Intellect likely faced and proposed collaboration. Through this partnership, hardware and software seamlessly integrated, resulting in a competitive and noteworthy product.

Let’s collaborate

We’re empower your business with our technology expertise

Let’s discuss your case

Challenge

The 2Smart Cloud team is highly familiar with the WLED project and its pros and cons. From the outset, when we met with the Intellect team and showcased our platform to them, we could pinpoint the shortcomings of this software, including those that might not be immediately apparent but could pose challenges as the lamp manufacturing business scales up.

Once our collaboration commenced, together with the Intellect team, we identified the shortcomings of the software solution they were using that needed to be addressed with the 2Smart Cloud platform. Apart from the mentioned requirement to be on the same local network as the lamps, the WLED mobile application is overloaded with functionality not needed by Intellect users. Additionally, this third-party application restricts the further development of Intellect’s smart device lineup since it is designed solely for controlling LED strips. Even staying within the niche of lighting devices, Intellect could encounter this limitation. Hence, it is better to proactively use a solution that allows connecting any IoT devices and flexibly configuring interfaces for controlling them.

Relying on a third-party firmware solution also constrains the Intellect team since they cannot control its development. Essentially, this means the manufacturer cannot implement the functionality they would like to see on their devices, which may not be present in the WLED project, such as over-the-air firmware updates or the ability to reset devices to factory settings.

To overcome these shortcomings, we had to address the following challenges:

  1. Provide the client with a modern mobile application designed according to their brand guidelines.
  2. Offer users convenient remote lamp control from anywhere with Internet access.
  3. Build a simple, user-friendly, and logical remote control interface.
  4. Enable users to easily reset the device to factory settings.
  5. Develop the custom firmware for devices with the ability to modify and evolve it.

Hardware

To address these issues and transform Intellect lamps into fully integrated cloud devices, we collaborated with the manufacturer to develop a new LED lamp model. The Intellect team’s strategy involved incorporating additional hardware components into the architecture, such as a touch button for lamp control and a microphone for implementing ambient sound-based effects.

Intellect traditionally relies on ESP8266 microcontrollers, which are sufficiently powerful for managing their products and are cheaper than ESP32, a crucial factor for their project’s economics. Hence, they continued using these microcontrollers in the development of the new lamp model.

However, during the process, we found that the ESP-01S module, which is used in previous models of Intellect lamps, is not suitable for the new device. This module includes only 1 MB of flash memory. This is enough to install custom firmware, the development of which is described below. However, it is insufficient for implementing firmware updates over the air. The firmware update mechanism, in this case, requires two memory sections, “ota_0” and “ota_1”, where the current and previous firmware versions are always stored.

When searching for a suitable module based on the ESP8266 microcontroller, in addition to the amount of built-in memory, we also needed to consider its dimensions, as using a larger board requiring changes to the casing and production process would be impractical. As a result, we proposed using the ESP-12E module, which includes 4 MB of flash memory and meets additional size requirements.

Firmware

Given the customer’s selection of ESP8266, we proceeded to develop firmware for this microcontroller. This task posed no critical challenge as the 2Smart Cloud platform is compatible with any MCU with Internet connectivity.

When crafting firmware for the LED lamps, our aim was to implement the following features:

  • Support for a variety of lighting effects for the lamp. We decided to draw inspiration from several of the most popular modes among current Intellect lamp users on the WLED firmware and redevelop them for our firmware, preserving their wow factor.
  • Support for a touch button on the device body, enabling end users to not only power the device on/off but also sequentially switch between effects, adjust lamp colors, and reset the device to factory settings.
  • Capability for smooth, eye-friendly transitions between modes, brightness levels, colors, and states.
  • Support for a built-in microphone with adjustable sensitivity to implement lamp effects responsive to ambient sounds.
  • Lamp shutdown timer mode.
  • Option to reset device settings from the mobile application or via a physical button on the lamp’s body.
  • Adaptation of LED lamp power to the used power supply for optimal performance, including compatibility with power banks.
  • Ability to synchronize multiple user devices.
  • Seamless over-the-air firmware updates.

Software

For customers who opt for a white-label instance of the 2Smart Cloud platform, we provide a comprehensive solution tailored to their brand colors and logo. However, our services extend beyond branding; we prioritize addressing customer requests, which we accommodate during the deployment of mobile and web applications using the white-label model.

In the case of Intellect, we received the following request regarding the mobile application:

  • Revamping the interface to align with the Intellect brand guidelines, featuring a black-and-white color scheme with minimal color elements.
  • Implementing optimal UX for controlling lamp modes.

Regarding the web application for Intellect developers, it mirrors the 2Smart Cloud public platform in the customer’s branding. No significant adjustments were needed. Our primary focus was to equip the Intellect team with tools for seamlessly adding new products using a no-code mobile application interface builder and supporting all implemented devices through over-the-air firmware updates.

Let’s collaborate

We’re empower your business with our technology expertise

Let’s discuss your case

Solution

The hardware development of the new lamp model was handled by the Intellect team. We took charge of writing the firmware implementing lamp effects, and supporting the touch button and built-in microphone. Additionally, we prepared the infrastructure for a white-label instance of the 2Smart Cloud platform, deployed the platform there, and provided the client with a branded web application for developers. Finally, we branded the 2Smart Cloud mobile application with Intellect colors and customized it according to the client’s preferences, then published the app in the Apple Store and Google Play, meeting all their requirements.

Firmware

During the project implementation, despite both our team and the customer of the white-label solution 2Smart Cloud being located in Ukraine, our interactions were primarily remote. The Intellect team is based in Lviv, while 2Smart Cloud operates from Kyiv. Consequently, in the initial weeks of work, our office lacked a printed circuit board for the Intellect LED lamp, prompting us to utilize a self-assembled prototype based on a breadboard.

Innovating the Smart Lighting Experience: A Success Story of Intellect Lamps and 2Smart Cloud Collaboration

Standard lamp effects

We based the firmware development for ESP8266 microcontrollers on our previous work for ESP32 using ESP-IDF. After adapting the firmware and successfully connecting the devices to the 2Smart Cloud MQTT broker, we proceeded to adapt the WLED lighting modes. As a result, we first implemented the following effects that are popular among users:

  • Blends: Smooth movement of dots and colors.
  • Fire: Simulation of a flame.
  • Fireworks: Simulation of fireworks explosions.
  • Gradient: Transition from one color to another in a gradient.
  • Meteor: Simulation of a meteorite flight with customizable colors.
  • Percent: Fills a selected percentage of the lamp with one customizable color, leaving the rest inactive.
  • Percent 2: Fills a selected percentage of the lamp with one customizable color and the rest with another.
  • Plasma: Smooth flow of customizable colors.
  • Rainbow: Rainbow palette with colors constantly sliding downwards.
  • Random colors: Transfusion of the LED strip with different random colors.
  • Solid: The entire LED lamp glows in one customizable color.
  • Solid 2: Two halves of the lamp glow in two customizable colors.
  • Solid 3: Three equal parts of the lamp glow in three customizable colors.
  • Strobe: Strobe effect with adjustable flicker speed, customizable background, and flash colors.

Users can adjust parameters such as brightness, intensity, and speed depending on the selected effect.

Innovating the Smart Lighting Experience: A Success Story of Intellect Lamps and 2Smart Cloud Collaboration

Lamp effects based on ambient sounds

Upon receiving a prototype of the device’s printed circuit board from the Intellect team, we conducted performance checks on the new iteration of the lamp prototype firmware and proceeded with further development.

Innovating the Smart Lighting Experience: A Success Story of Intellect Lamps and 2Smart Cloud Collaboration

After implementing the preset operating modes of the lamp, we commenced developing effects based on signals from the built-in microphone. While this functionality is new for Intellect LED lamps, the concept is already implemented in the WLED project.

To convert the microphone signal into commands for the LED strip, we employed a driver written using the I²S digital audio protocol. This driver is supported by the ESP8288-RTOS-SDK framework utilized during development.

Since the customer opted for the ESP8266 microcontroller, we had to account for hardware constraints. Unlike the ESP32, this older microcontroller from Espressif Systems features only one analog-to-digital converter. Additionally, we can read values from the controller at a frequency of 100 times per second (100Hz), although sound frequencies can be much higher. Because of this, we couldn’t utilize fast Fourier transform and spectrum analysis — simply put, we can’t teach the firmware to understand which specific notes are being played. The only parameter we can rely on is the sound volume. Therefore, we tied sound-reactive effects to the amplitude of the sound wave, i.e., to the sound volume, and chose effects where this fact is not noticeable unless you know about it. The video below demonstrates how this looked during the process of working on the effects on the lamp prototype.

As a result, we introduced three additional effects, allowing the lamp to respond to ambient sounds such as music, voices, dog barks, thunder, etc.:

  • Sound reactive fire: Flashes of flame whose intensity corresponds to the loudness of the sound.
  • Sound reactive lighthouse: Ascending flashes whose size correlates with the loudness of the sound.
  • Sound reactive percent: Fills the lamp with color based on the loudness of the sound, resembling an equalizer indicator.

The sensitivity of the lamp’s built-in microphone is an additional setting available to end-users for these effects. Additionally, if multiple Intellect lamps are installed in a room, these effects, along with others, can be synchronized across all LED lights. We will discuss lamp synchronization in more detail later.

Innovating the Smart Lighting Experience: A Success Story of Intellect Lamps and 2Smart Cloud Collaboration

Control via touch button

Since the design of the new lamp model includes not only a built-in microphone but also a touch button, we have written the following logic for its operation in the firmware:

  • Long press to toggle device power on and off.
  • Single tap to switch between modes.
  • Double-tap to change colors.
  • The outlined in the instructions procedure for resetting the device to factory settings.

Summing up

Overall, the list of key features integrated into the firmware during its development looks as follows:

  • Simple pairing procedure.
  • Control of lighting modes, intensity, speed, and LED strip brightness adjustment.
  • Management of microphone sensitivity in devices utilizing it.
  • Configuration of default device state at power-up.
  • Timer-based lamp shutdown capability.
  • Physical control of the LED smart lamp via the touch button.
  • Synchronization of operating modes across multiple user lamps.
  • Tracking of device status (online/offline).
  • Over-the-air firmware updates for devices.
  • Device reset functionality via the app or touch button.
  • The “Power saving” mode for operation with weak power supplies and power banks.

Mobile application

The mobile application tailored for managing Intellect devices is a customized iteration of the 2Smart Cloud app. It serves as the interface for interacting with all the end user’s Intellect LED lamps, including synchronization across multiple lamps.

Application appearance

The 2Smart Cloud white-label mobile app supports light and dark themes, localization in multiple languages, and various additional features. The final configuration is chosen by the customer, as the selected feature set can affect the cost and delivery timeline of providing them with a fully customized mobile application.

Mobile application Mobile application Mobile application

We optimized the appearance of the white-label application based on the customer’s preferences. Additionally, for the convenience of end users, we implemented device management through tabs in the application interface. Each tab corresponds to a specific functionality. In total, six tabs are utilized to control any Intellect lamp:

  1. Control: The main screen utilized by lamp users, encompassing primary and frequently used features such as device power on/off and mode selection with control over color, brightness, speed, intensity, and microphone sensitivity where applicable.
    Mobile application Mobile application Mobile application
  2. Default state: Setting the lamp’s state at power-up. Users can define the initial state, mode, and brightness. These settings are useful in situations where electricity is periodically interrupted, preventing the lamp from unexpectedly turning on at night or, on the contrary,  ensuring it always lights up upon power restoration.
    Mobile application Mobile application
  3. Timer: Setting the lamp shutdown timer. This feature is convenient for users who wish to use the LED lamp as a night light to aid in falling asleep.
    Mobile application Mobile application
  4. Info: Providing device information, a widget for resetting it to factory settings, as well as a widget for enabling the “Power saving” mode for working with power banks or low-quality power supplies. Resetting the device to its default state is not included in the WLED project. We implemented this feature both in the mobile application and through physical interaction with the device via a touch button. The device reset application widget is part of the 2Smart Cloud platform, provided to the customer at no additional cost. Similarly, we have developed a custom “Power saving” mode.
    Mobile application Mobile application Mobile application
  5. Device update: Manage device firmware updates. If a new firmware version is released, the lamp will receive it over the air. To facilitate this, the device automatically requests updates from the server once a day. By default, the update process is scheduled for nighttime to minimize disruption to the user.
    Mobile application Mobile application
  6. Synchronization: A mode for synchronously controlling multiple Intellect LED luminaries owned by the end user.
    Mobile application

Lamp synchronization

Synchronous operation of lamps is a mode that merits further discussion. It’s a crucial feature for users with multiple LED lamps in the same room. Enabling synchronization allows them to set all lamps to the same effect, color, and brightness simultaneously. We picked up the idea of lamp synchronization from WLED but completely reimagined its implementation.

In WLED, synchronization is achieved through MDNS technology, where devices in the same Wi-Fi network broadcast specific values to one another, enabling synchronous communication and operation.  This method is the only option for implementing synchronization for local management without a cloud platform. Overall, it’s a robust mechanism, and in the case of WLED, it’s implemented nearly perfectly.

Since we utilize a cloud platform, we had the option to implement synchronization similarly to WLED or through the cloud. We presented both options to the customer, discussing their pros and cons, and they ultimately chose cloud synchronization. Here are its key benefits:

  • Devices connected to different Wi-Fi networks can synchronize as long as they are linked to the same user account.
  • Synchronization operates swiftly thanks to MQTT usage.
  • Not only lamps but also future “Intellect” products will synchronize seamlessly.
  • In future software updates, grouping for synchronization within an account will be possible. For example, lamps in the bedroom can operate in one mode, those in the kitchen in another, and those in the living room in a third.

The only drawback of cloud synchronization is that lamps cannot synchronize offline. Since this scenario is not a priority for users, the customer decided to overlook this disadvantage.

Hiding unnecessary widgets in the app interface

Earlier, we described the logic behind LED lamp modes. Now, let’s delve into how we implemented the control of these modes in the mobile app, considering their specifics. Some parameters relevant to certain modes are irrelevant to others. For instance, modes like Fire or Rainbow don’t allow color changes since colors are preset. The Solid mode entails controlling one color, Solid 2 – controlling two colors, and Solid 3 – three colors. For some modes, intensity or speed settings are irrelevant. Another aspect is modes that operate based on the signal from the built-in microphone. Microphone sensitivity adjustment is necessary only for managing these modes and is useless in all other cases.

To avoid confusing lamp users with unnecessary widgets on the screen, we suggested to the Intellect team to utilize a standard feature of the 2Smart Cloud platform. This feature allows setting conditions for widget display. If an Intellect lamp user activates the Rainbow mode, they won’t see the color change widget since we configured this condition in the developer web application. Similarly, we set conditions for all modes to simplify the user interface, making it logical and easy to understand.

Here’s an example of how the widget display conditions for microphone sensitivity adjustment are set in the developer web application interface. The widget is displayed only if one of the three lamp effects, where it is relevant, is selected.

Hiding unnecessary widgets in the app interface Hiding unnecessary widgets in the app interface

And here’s what this widget looks like when the “Sound reactive lighthouse” mode is activated.

Hiding unnecessary widgets in the app interface Hiding unnecessary widgets in the app interface

And here’s an example of the app interface for controlling the Fire mode. You won’t find the “Color picker” and “Microphone sensitivity” widgets here; instead, there are widgets for controlling speed and intensity.

Hiding unnecessary widgets in the app interface

Localization and additional functionality

Regarding localization, the Intellect lamp control mobile application supports the same languages as the 2Smart Cloud mobile application: Ukrainian and English.

Intellect opted out of most additional device management methods available in the white-label mobile application from 2Smart Cloud. At their request, we only implemented device control using voice commands.

Publishing an application in stores

After preparing a white-label instance of the mobile application for the customer, we handled all the tasks associated with publishing the Intellect LED application to the Apple Store and Google Play. This included registering developer and test accounts, preparing all necessary text and graphic materials, and creating a video for the Apple Review. Consequently, the application was successfully published in both stores under the client’s accounts.

Publishing an application in stores

Web application for device developers

The Intellect developer web application is a customized version of the public 2Smart Cloud platform, offering identical functionality. Here, developers of new Intellect device models have access to tools for configuring firmware, customizing the appearance of a mobile application using a no-code builder, performing over-the-air firmware updates, and monitoring.

During the initial stage, we assumed full responsibility for creating and managing the new product in the web application for developers, eliminating the need for the Intellect team to log in and perform any actions. Per agreement with the customer, we will continue to support their product in the future. However, we provided the Intellect team with all the described tools so they can work independently if desired.

Tools for product creation and configuration

The product configuration window provides developers with the essential information required for crafting firmware for a specific device. This includes details such as the Broker URL, MQTT Login, Product ID, and Test device ID.

Tools for product creation and configuration

During the product creation process, developers select the microcontroller they intend to use, and relevant tools are provided based on this choice.

Once the firmware is installed on the test device, developers gain access to a user-friendly, no-code mobile application builder. This builder automatically detects all sensors present on the device and assigns the appropriate widget to each one.

Tools for product creation and configuration

Developers can utilize the extensive widget library offered by 2Smart and further customize the app’s interface to their specific requirements through simple drag-and-drop.

Tools for product creation and configuration

Initially, we presented the Intellect team with several options for widget sets, from which they chose the one they liked, and it was ultimately implemented in the mobile application. If necessary, the customer can install new widgets at any time or change their sequence. Users will see the changes after the first restart of the application without needing to update it in the store.

Device maintenance tools

Intellect developers can deliver firmware updates to their devices via over-the-air (OTA) transmission. To do this, they upload the updated binary to the platform and initiate the update publication. LED lamps will then receive these updates based on the settings customized by each user.

Additionally, developers can update the mobile application’s interface for end users using the same no-code builder. Once the changes are published, users will encounter the updated interface the next time they restart the mobile application without needing an update from the app store.

Device monitoring tools

Device monitoring tools

Within the developer’s web application, you’ll find the following minimum required device usage statistics:

  • The count of devices currently online.
  • The count of devices connected on specific dates.
  • The count of devices utilizing the required firmware version on specific dates.
  • The real-time count of devices operating on each firmware version.
  • The total count of users with associated devices.

Let’s collaborate

We’re empower your business with our technology expertise

Let’s discuss your case

Results

  • With assistance from 2Smart Cloud developers, the Intellect team built a new LED lamp model based on the ESP8266 microcontroller. The device’s firmware supports peripheral equipment, including a built-in microphone and a touch button for lamp control.
  • Inspired by WLED effects, the 2Smart Cloud team has developed 17 modes for the new lamp model, including those responsive to the built-in microphone signal. Our work in this area continues, and we will implement new effects on Intellect products.
  • End users of the devices received the modern Intellect LED mobile application for iOS and Android, a white-label instance of the 2Smart Cloud application. The app provides a user-friendly interface for controlling lamps and configuring their settings.
  • The Intellect team received a web application for developing new lamp models and managing all their cloud devices. This application enables developers to customize the appearance of the mobile application, perform over-the-air firmware updates for previously sold devices, and monitor basic lamp operation statistics.
  • Intellect’s devices have gained added value and enhanced competitiveness in global markets.
  • The Intellect team has received the foundation of a comprehensive ecosystem of smart devices, facilitating the launch of new consumer IoT products to the market. The LED lamp firmware is implemented to be easily reused in other products. The customer can independently or with our assistance create new products, add features to the firmware and mobile application, and deliver them to users of their devices.
  • The customer received a turnkey solution from us, as we handled all necessary account registrations in third-party services, infrastructure deployment, and publication of the mobile application in the App Store and Google Play stores. We also designed the appearance of the mobile application, provided hardware consultations, and offered feedback on all issues from the Intellect team.
  • As part of the white label instance of the 2Smart Cloud platform, the customer received various components at no extra cost, including monitoring of platform system and business metrics, seamless pairing using QR codes, a device marketplace, and tools for creating new products along with reporting feedback from users. Users also benefited from features such as device notifications, lamp sharing via a link and mobile application, and a screen of favorite widgets.

Rate this article:

5 / 5. 3

( 3 votes )

Don't forget to share this post!

Let’s dive into your case

Share with us your business idea and expectations about the software or additional services.

    Thanks for contacting us!

    We will get in touch soon.

    This site is protected by Google reCAPTCHA and the following Privacy policy and Terms of use apply

    Send us a message

    This site is protected by Google reCAPTCHA and the following Privacy policy and Terms of use apply