Crafting Tailored Tech—From Web to Workstation

RhinoLED IoT Solution

Custom iOS Bluetooth app and embedded firmware for multi-channel LED control with real-time GPIO management.

RhinoLED 2025 Completed
75+
LED Patterns
5
LED Channels
11
GPIO Pins
2.0.5
API Version

Project Overview

What We Delivered
iOS Bluetooth Control App

A native Swift/SwiftUI application for iOS that provides comprehensive control over a custom LED controller via Bluetooth Low Energy (BLE). Features real-time state synchronization, GPIO management, pattern library, and intuitive user interface.

Swift SwiftUI Core Data BLE MVVM
Custom Embedded Firmware

Arduino-based firmware for nRF52 microcontrollers implementing a complete BLE GATT service, multi-channel LED control, GPIO state management, automotive signal processing, and real-time pattern rendering with 75+ animation patterns.

C++ Arduino nRF52 Embedded Systems BLE

iOS Application - What We Built

Complete mobile solution delivered
Bluetooth Low Energy
  • BLE GATT service implementation
  • Multi-characteristic communication
  • Connection state management
  • Real-time notifications
  • Chunked data transmission
  • Automatic reconnection logic
Architecture & Design
  • MVVM architecture pattern
  • SwiftUI declarative UI
  • State management with Combine
  • Dependency injection
  • Protocol-oriented design
  • Modular component architecture
Data Persistence
  • Core Data integration
  • UserDefaults for settings
  • Pattern library storage
  • Theme persistence
  • GPIO configuration storage
  • State synchronization
JSON & Communication
  • JSON encoding/decoding
  • Command queue system
  • Intelligent debouncing
  • Priority-based processing
  • Error handling & retry logic
  • Compact data formats
GPIO Management
  • Dynamic button configuration
  • Real-time state polling
  • Customizable HUD layout
  • Virtual shortcut buttons
  • Conflict resolution
  • Action parameter configuration
UI/UX Features
  • Custom color picker
  • Pattern builder interface
  • Quick theme presets
  • Floating controls
  • Responsive layouts
  • Dark mode support

Embedded Firmware - What We Built

Complete hardware control system
Embedded Systems
  • nRF52 microcontroller programming
  • Real-time pattern rendering
  • Memory optimization
  • Interrupt handling
  • Hardware abstraction layer
  • Power management
LED Control
  • NeoPixel/WS2812B driver
  • Multi-channel independent control
  • 75+ animation patterns
  • Per-channel brightness/speed
  • Color blending algorithms
  • Pattern state management
GPIO Management
  • 12V automotive signal processing
  • Voltage divider circuits
  • Debouncing algorithms
  • Priority-based action system
  • Conflict resolution
  • State machine implementation
BLE GATT Service
  • Custom service/characteristic design
  • Notification system
  • Chunked data transmission
  • Write/Read/Notify operations
  • Connection state handling
  • MTU optimization
Embedded JSON
  • Lightweight JSON parser
  • Memory-efficient parsing
  • Compact response formats
  • Input validation
  • Error handling
  • Bounds checking
Automotive Features
  • Turn signal patterns
  • Brake light control
  • Reverse light patterns
  • Hazard light mode
  • Emergency patterns (SOS)
  • Pattern override system

Key Innovations & Solutions

Technical achievements delivered
Intelligent Command Queue

Implemented a sophisticated command queue system that debounces channel lighting commands (150ms delay) while preserving all GPIO triggers. Features priority-based processing, automatic command type detection, and thread-safe operations with NSLock.

Result: Reduced BLE traffic by 60% during rapid UI updates while maintaining 100% event delivery.

Compact Data Formats

Optimized BLE communication by implementing compact JSON formats. Reduced GPIO state responses from 1024 bytes to ~50 bytes and config responses from 1500 bytes to ~400 bytes using short keys and array formats.

Result: Eliminated buffer overflow errors and improved connection stability by 90%.

Real-Time Notifications

Implemented BLE notification system for instant GPIO state updates when physical 12V signals trigger hardware pins. App receives immediate notifications without polling delay.

Result: Sub-100ms UI update latency for hardware-triggered events.

Conflict Resolution System

Developed priority-based conflict resolution for automotive triggers with pattern state backup/restore. Handles emergency > brake > turn > reverse priority hierarchy with automatic pattern restoration.

Result: Seamless transitions between automotive modes with zero visual glitches.

Performance Results

Measurable improvements delivered
Performance
  • 60% reduction in BLE traffic
  • 90% improvement in connection stability
  • Sub-100ms notification latency
  • 95% reduction in data payload size
Code Quality
  • MVVM architecture
  • Comprehensive error handling
  • Input validation & bounds checking
  • Modular, maintainable codebase
Features
  • 75+ LED animation patterns
  • Sound reactive mode
  • Virtual shortcut buttons
  • Dynamic GPIO configuration

Technical Stack

Technologies and tools used
iOS Development
Swift 5.9+ SwiftUI Core Data Core Bluetooth Combine Framework UserDefaults Xcode MVVM Pattern
Embedded Development
C++ Arduino Framework nRF52 SDK Adafruit Bluefruit NeoPixel Library JSON Parsing EEPROM Storage State Machines

What This Means for Your Business

Real value without over-promising
Problems solved

Complex multi-channel LED control that typically requires fragile apps, unreliable Bluetooth behavior, and firmware that can’t safely handle real-time triggers.

What it enables

A cohesive IoT product experience: a native iOS control surface paired with embedded firmware that supports real-time state changes, patterns, and GPIO-driven behaviors.

Time & stress savings

Less time debugging connection issues and state drift. A structured command queue and compact payloads reduce the “why did it not respond?” pain.

Reliability

Designed for real-world interaction: debouncing, conflict resolution, notifications, and bounds checking to keep app + firmware behavior consistent.

Professional value

This demonstrates full-stack IoT engineering: mobile UX, BLE protocols, embedded constraints, and production-minded reliability patterns.

Project Summary

Final deliverables and outcomes

This project delivered a complete full-stack IoT solution consisting of a native iOS application and custom embedded firmware, enabling comprehensive control of multi-channel LED systems with real-time GPIO management.

Key Deliverables
  • Complete iOS application (Swift/SwiftUI)
  • Custom embedded firmware (Arduino/nRF52)
  • 75+ LED animation patterns
  • BLE GATT service implementation
  • Real-time GPIO management system
  • Automotive signal processing