AttentioLight-1

Your personal multi-use RGB light solution in an elegant enclosure.

Show your availability for others, receive status indications, or simply enjoy a variety of light effects. With a handful of modes and animated effects. Open-source hardware and firmware.

Features

Standalone Application

Works independently without external devices. Just plug in an USB-C cable and go!

7 Modes

Solid Color, Brightness, Blinking, Pulsation, Effects, Traffic Light, and Night Light

12 Vibrant Colors

Azure, Blue, Purple, Magenta, Pink, Red, Orange, Yellow, Lime, Green, Spring, Cyan

13 Animated Effects

Rainbow, Color Cycle, Breathing, Candle, Fire, Lava Lamp, Day/Night, Ocean, Northern Lights, Thunder Storm, Police, Health Pulse, Memory

Diffused Lighting

Soft and even light distribution through 3D-printed diffuser top

Enclosure Design

Modular 3D-printed enclosure with easy swapping of different diffuser top sizes

Status Indicator

Show your availability in real-life with the easy Traffic Light mode (Green/Yellow/Red)

One-Button Control

Elegant and intuitive control with a single button for all standalone functions

USB-C Powered

Power and serial communication via modern USB-C connector. Debug output available over USB serial port

USB Firmware Updates

Update firmware over USB using DFU (Device Firmware Upgrade) protocol with bootloader. No special programmer needed

Bootloader Integration

Special designed bootloader with CRC32 integrity check, version management, and seamless firmware upgrade support

Persistent Data Storage

Settings saved to internal flash with CRC32 integrity checking

Low Power Mode

Power off with low power mode, keeping previous activities intact

WiFi & BLE Ready

ESP32-C3 module onboard for future wireless connectivity and smart integrations

Open Source

Hardware (KiCad), firmware (ChibiOS), and enclosure (OnShape) designs all publicly available

How It Works

Simple one-button control for all modes and settings in Standalone operation. No app or external device needed. Just plug in an USB-C cable and go!

Button Controls

<1s

Short Press

Cycle through options in the current mode (color, speed, brightness, effects, etc.)

2-5s

Long Press

Switch to next mode (white flash indicates threshold reached at 2s)

≥5s

Extended Press

Power off the device (indicated with the power-down animation)

2s

Wake Up (when OFF)

Long press to wake device from sleep (indicated with the power-up animation)

Mode Sequence

Modes cycle via long press (wraps after last mode):

Solid Color Brightness Blinking Pulsation Effects Traffic Light Night Light

LED Feedback

  • White flash — Ready to switch mode
  • Rainbow power-up — Power up animation
  • Amber power-down — Power down animation

Mode Details

1

Solid Color

Display a single static color. Short press cycles through 12 available colors.

2

Brightness

Adjust the global brightness level. Short press cycles through brightness levels.

3

Blinking

Blink the current color on and off. Short press cycles through different blink speeds.

4

Pulsation

Smoothly fade brightness up and down. Short press cycles through different pulse speeds.

5

Effects

Animated lighting effects. Short press cycles through 13 different effects.

Rainbow Color Cycle Breathing Candle Fire Lava Lamp Day/Night Ocean Northern Lights Thunder Storm Police Health Pulse Memory
6

Traffic Light

Quick availability indicator. Short press cycles through green, yellow, and red.

Go ? No
7

Night Light

Warm, dim light for nighttime use. Short press adjusts the warm white intensity.

Hardware Design

PCB designed in KiCad featuring STM32C071RB MCU and ESP32-C3 wireless module

Mainboard-1 PCB Front

Front

Mainboard-1 PCB Back

Back

Enclosure Design

Enclosure designed with OnShape and 3D-printed in three parts: translucent diffuser top, solid base, and user button

AttentioLight-1 Enclosure CAD Design

Design Features

  • Compact Dimensions

    57 x 57 x 41 mm (W x L x H), 58 mm (L) w/ button

  • Diffuser Top

    Translucent top piece for soft and even light distribution

  • Base

    Simplistic and elegant housing for the internal components

  • User Button

    Intuitive button integrated in front of the enclosure

  • Threaded Insert Slots

    For mechanical ruggedness, ensuring durable user button and USB-C connector

  • Snap-Fit Assembly

    Tool-free assembly with snap-fit joints for the base and diffuser top

  • Reset Button Access

    Pinhole on the back for reset button

Firmware Architecture

Real-time firmware built with ChibiOS/RT on STM32, with bootloader integration for easy firmware updates with USB DFU.

APPLICATION LAYER
State Machine & Thread Modes and Effects Animation Thread Button Thread Persistent Data (EFL)
User Code
APPLICATION DRIVERS
WS2812B LED Driver (SPI+DMA) Button Driver
Drivers
APP HEADER
Magic number App Version App Size CRC32 USB VID/PID
32 bytes @ 0x08004000
LIBRARIES
hal_efl_stm32c0xx (custom) USB (CDC) ESP32 WiFi/BLE Interface
Libraries
ChibiOS/RT+HAL+LL
RT Kernel (threads, semaphores, events, etc.) HAL (GPIO, SPI, USB, PWR, EFL, etc.) LL Drivers (RCC, EXTI, DMA, etc.) STM32C0xx port
RTOS
STM32C071RB HARDWARE
ARM Cortex-M0+ 48MHz 128KB Flash 24KB RAM
MCU

Production

Everything you need to build your own AttentioLight from PCB fabrication to final assembly

PCB Manufacturing

AttentioLight PCB

Designed for manual and production pick-and-place assembly

  • 50x50mm (W x L)
  • 4-layer PCB, 1.6mm thickness
  • LeadFree HASL surface finish
  • Solder paste applicable with stencil
  • Hotplate reflow soldering
Gerber Files

3D-Printing

3D-Printed Enclosure

Recommended print settings for the enclosure:

Material 1

PETG Translucent / PC Transparent

Material 2

PLA

Nozzle

0.4mm

Layer Height

0.16mm

Supports

None

3D-Print Files (3MF & STL) Files and BOM

Assembly Instructions

AttentioLight Assembly

Follow these steps to assemble your AttentioLight:

  1. 1 Solder SMD and through-hole components to the PCBs (or order pre-assembled)
  2. 2 Assemble the PCBs by connecting the LED Module PCB to the Mainboard PCB
  3. 3 In the enclosure base, insert the threaded inserts with a soldering iron or heat tool
  4. 4 On the enclosure user button, snap-off the support pin and place the button from the inside of the enclosure base in the button hole, and with the snapped-off side facing down
  5. 5 Place the assembled PCBs together in the enclosure base, and use screws to attach the PCBs to the base
  6. 6 Power-up the device by inserting a USB-C cable on the back side of the enclosure base, from a computer
  7. 7 Connect a debug probe (e.g. ST-Link) to SWD connector, flash the bootloader firmware onto the device, and disconnect the debug probe
  8. 8 Snap-on the diffuser top to the enclosure base
  9. 9 With the USB-C cable connected to a computer, flash application firmware over USB w/ USB DFU (integrated in bootloader)

For more details about flashing the firmware, visit the firmware repository.

The Road Ahead

Future plans and expansion for the project

AttentioLight is just the beginning. Future development plans include a CLI tool for advanced configuration and diagnostics, a dedicated Linux application for seamless desktop integration, and an Android application for mobile control. Wireless connectivity through WiFi and Bluetooth Low Energy (BLE) is on the roadmap, along with server integration for centralized management. Additionally, a web UI and server development will enable browser-based control and monitoring, making a more versatile and accessible ecosystem across platforms.

Get in Touch

Interested in working together or have questions about the project?

Whether you're interested in collaboration, need consultation on embedded systems, firmware, or hardware design, or simply have questions about the project — I'd love to hear from you. Feel free to reach out and let's start a conversation.