Crafting Tailored Tech—From Web to Workstation

Rhino Light Controller

Automotive Embedded Firmware for Safety Lighting

Custom embedded controller that adds automotive safety lighting (turn signals, brake lights, reverse lights) to vehicle whip lights using addressable LED strips with real-time state machine architecture

RhinoLED Featured Production
550
LEDs per Channel
3
Concurrent State Machines
25
FPS Frame Rate
0ms
Blocking Delays

Project Overview

Challenge and solution delivered
The Challenge

Vehicle whip lights (decorative LED strips on vehicle antennas) lacked automotive safety lighting functionality. Owners wanted to add turn signals, brake lights, and reverse lights to these decorative systems while maintaining smooth, professional animations that integrate seamlessly with existing vehicle electrical systems.

What We Delivered

A production-ready embedded firmware solution featuring non-blocking state machine architecture with three concurrent state machines (reverse, brake, turn signals), priority-based mode system for safety-critical operation, and smooth LED animations supporting 550 addressable pixels per channel. The system demonstrates real-time embedded systems expertise with zero blocking delays and fully responsive operation.

Core Technical Skills Demonstrated

Expertise delivered on this project
Real-Time State Machines

Implemented non-blocking state machine architecture with three concurrent state machines operating simultaneously. Replaced blocking delays with millis-based timing for fully responsive system that never misses vehicle signals.

  • Non-blocking architecture
  • Concurrent state machines
  • Priority-based system design
LED Animation Systems

Developed smooth animation algorithms with linear interpolation for fade effects, supporting 550 addressable LEDs per channel with 25 FPS frame rate control. Implemented dual-channel independent control for left/right LED strips.

  • Smooth fade algorithms
  • Multi-channel synchronization
  • Timing-critical control
Vehicle Electronics Integration

Integrated with standard vehicle signals (brake, turn signals, reverse) using GPIO configuration with pull-up resistors and active LOW signal processing. Implemented dual-mode turn signal support for flexible vehicle integration.

  • GPIO configuration
  • Signal processing
  • PCB integration
Safety-Critical Design

Implemented priority hierarchy: Reverse (highest) → Turn Signals → Brake → Nominal. Ensures safety-critical reverse lights are always visible while allowing turn signals to override brake lights for clarity.

  • Priority-based modes
  • Safety-first architecture
  • State persistence
Hardware Abstraction

Designed clean separation between hardware I/O and application logic with modular function design. Comprehensive pin definition system with comments for hardware revisions and maintainable architecture.

  • HAL design
  • Modular functions
  • Configuration management
Code Evolution & Optimization

Demonstrated iterative refinement from early blocking implementations to sophisticated non-blocking state machines. Memory-efficient state representation with minimal CPU overhead and efficient LED update batching.

  • Refactoring expertise
  • Performance optimization
  • Production-ready code

Technical Highlights

Key implementation details
State Machine Architecture

Non-Blocking Design: Replaced blocking delay() calls with state machine-based timing using millis() timestamps. This maintains system responsiveness and allows concurrent animations while preventing missed vehicle signals.

Concurrent Operations: Three independent state machines (reverse, brake, turn signals) operating simultaneously with proper state persistence during transitions and clean state transitions with appropriate cleanup.

Animation System

Smooth Algorithms: Linear interpolation for smooth fade effects, non-blocking blink sequences with configurable timing, and 25 FPS frame rate control (40ms frame timer) for smooth visual performance.

Dual-Mode Support: External trigger mode (for vehicles with external turn signal kits) and auto-blink mode (internal timing control) providing flexibility for different vehicle integration scenarios.

Priority System

Safety-Critical Hierarchy: Reverse (highest) → Turn Signals → Brake → Nominal. Ensures safety-critical reverse lights are always visible while allowing turn signals to override brake lights for clarity.

Timeout Handling: 500ms threshold to distinguish between brief off-periods (during blinking) and actual turn signal completion for external signal integration.

Hardware Integration

Vehicle Signals: GPIO configuration for vehicle signal inputs (active LOW, pull-up resistors), NeoPixel LED strip control (GRB color order, up to 550 pixels per channel), and output switch control for external relay/device integration.

Development Tools: Cross-compilation toolchain (ARM GCC), Atmel Studio project configuration, debugging infrastructure (Atmel-ICE, SWD interface), and build system configuration for Debug/Release targets.

Key Achievements

Results delivered
Zero Blocking Delays

Fully responsive system with non-blocking architecture—never misses vehicle signals or animation transitions.

550 LEDs per Channel

Dual-channel independent control supporting 1,100 total addressable pixels with smooth animations.

Safety-Critical Design

Priority-based system ensures safety-critical reverse lights are always visible—production-ready reliability.

Concurrent Animations

Multiple animation modes can transition smoothly with proper state persistence—professional appearance.

Technologies & Tools

Technical stack used
ARM Cortex-M0+ (ATSAMD21G18A) Embedded C/C++ Arduino Framework NeoPixel LEDs State Machines Real-Time Systems Vehicle Electronics GPIO Control PCB Integration Atmel Studio Atmel-ICE Debugging ARM GCC Toolchain

What This Means for Your Business

Real value without over-promising
Problems solved

Decorative whip lights that looked great but didn’t provide safety lighting behavior (turn, brake, reverse), and firmware approaches that caused lag or missed state changes.

What it enables

Automotive-style safety lighting behavior layered onto addressable LED strips with smooth transitions and predictable state handling.

Time & stress savings

Less debugging and fewer “why did it glitch?” edge cases. A clean state-machine approach reduces complexity when adding new modes or behaviors.

Reliability

Non-blocking, priority-aware firmware design intended to remain responsive under real-world input changes and animation workloads.

Professional value

This project demonstrates production-minded embedded systems engineering: real-time state machines, safety-focused priorities, and hardware integration.

Project Summary

Final deliverables and outcomes

This project successfully integrated automotive safety lighting into decorative LED whip lights with smooth, professional animations that enhance vehicle appearance. The system demonstrates production-ready embedded firmware with comprehensive error handling, zero blocking delays, and reliable operation under all vehicle operating conditions.

What This Demonstrates
  • Real-time embedded systems expertise
  • State machine architecture design
  • Hardware integration capabilities
  • Animation and visual systems programming
  • Safety-critical system design
  • Production-ready code quality