omi-firmware-patterns

Guide firmware engineers implementing BLE services and audio codecs for Omi devices.

13.1k|2.2k|Updated Mar 22, 2024
One-click install
npx skills add https://github.com/BasedHardware/omi --skill omi-firmware-patterns
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: omi-firmware-patterns
Source: https://github.com/BasedHardware/omi/tree/main/.cursor/skills/omi-firmware-patterns
Command: npx skills add https://github.com/BasedHardware/omi --skill omi-firmware-patterns

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill provides authoritative guidance for building and debugging Omi firmware, including BLE services, audio codecs, and device communication patterns.

Core Features & Use Cases

  • Guides for implementing BLE services and characteristics in Omi firmware (nRF ESP32 Zephyr and ESP32-S3 Arduino).
  • Covers audio codecs such as Opus, PCM, and Mu-law, along with packet construction and fragmentation across BLE.
  • Use Case: When starting a firmware project for Omi devices, use this skill to set up robust BLE communication, codec integration, and cross-platform firmware patterns.

Quick Start

Apply this skill when starting firmware work on omi/ omiGlass projects to understand patterns and approaches for BLE services, codecs, and device communication.

Frequently Asked Questions about omi-firmware-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement BLE services and audio codecs for Omi firmware on Zephyr?

To implement Omi firmware BLE services on Zephyr, apply specific patterns for BLE service design, packet formats, and codec integration. This skill provides blueprints for robust BLE communication, integrating Opus, PCM, or Mu-law codecs, and handling cross-platform device communication.

How do I handle BLE packet fragmentation for audio codecs like Opus and Mu-law?

Handling BLE packet fragmentation for audio codecs requires following specific fragmentation rules and packet construction patterns. This skill specifies BLE packet formats and fragmentation rules for integrating Opus, PCM, and Mu-law audio codecs across BLE connections.

Does the Omi firmware support BLE communication on both Zephyr and Arduino ESP32 platforms?

Yes, Omi firmware supports BLE communication on both Zephyr (nRF ESP32) and Arduino (ESP32-S3) platforms. This skill provides cross-platform firmware patterns and guides for implementing BLE services, characteristics, and device communication across these environments.

What is the best way to set up cross-platform device communication for Omi firmware projects?

The best way to set up cross-platform device communication for Omi firmware is to use established patterns for BLE service design and packet construction. This skill outlines cross-reference resources and cross-platform firmware patterns for nRF ESP32 Zephyr and ESP32-S3 Arduino devices.

When do I need to use specific audio codec integration patterns in Omi firmware?

You need specific audio codec integration patterns in Omi firmware when implementing audio transmission over BLE. This skill covers integration approaches for Opus, PCM, and Mu-law codecs, including packet construction and fragmentation rules required for robust audio communication.