Rhino LED Lights
Rhino LED Lights had the hardware. What it did not have was the software that turns hardware into a product: the firmware inside the controller, the app in the customer's hand, and the connection that keeps the two in agreement. We built all three.
A lighting controller is only worth what the customer can do with it. Without an app, control is limited to whatever a physical switch can express, and a product that is awkward to use is a product that comes back, or gets reviewed badly.
The product also has to react to the vehicle. Brake, indicate, reverse, hazards - those have to happen immediately and correctly whether or not a phone is anywhere nearby. So this was never only an app project. The intelligence has to live inside the product, the phone has to act as a control surface for it, and the two have to stay in agreement about what is actually switched on.
Tell us what the hardware has to do and we will tell you what it takes to put that control in your customer's hand.
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.
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.
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.
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: The buffer overflow errors that were dropping the connection no longer occur.
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.
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.
A native iOS application and custom embedded firmware, together covering control of multi-channel LED systems with real-time GPIO management.
If any of that sounded like your business, this is the service it falls under.
If the hardware is finished but the app, the firmware or the connection between them is not, that is usually what is holding up the launch. Tell us where it is stuck.