Bluetooth/IoT Workshop for iOS Developers

Bluetooth™/IoT workshop for iOS Developers

A one-day workshop for iOS developers who would like to develop a detailed understanding of Bluetooth™ and the world of embedded development.

This workshop offers a front-to-back design and implementation experience covering the development of a Bluetooth™-enabled iOS application that connects to two applications running on an ARM Cortex™-M3 embedded device.

iOS-Embedded-Devices

Working in a real-time OS environment, workshop attendees will develop driver code for a string of individually addressable SK6812 RGB LEDs and for an ambient light sensor that can be used to turn the LEDs on or off dependent on prevailing lighting conditions. The design process is "complete" in that it starts from the SK6812 datasheet and works up to the driver code; no pre-supplied driver packages that hide the underlying implementation are used in the workshop.

The iOS application implements controls to adjust colour, fade rate, off/on light threshold and more. All coding for iOS is in Swift 4.x and in 'C' for the embedded device. Workshop attendees are expected to have a functional Xcode development environment (Swift 4.x) with the ability to download applications to a Bluetooth™-capable iOS device and reasonable proficiency in 'C'.

The hardware kit comprising one CC2640R2F LaunchPad from Texas Instruments and an SK6812 adapter module is provided as part of the workshop. Workshop attendees are free to take the hardware kit home and continue with the workshop material or to develop new ideas.

The Workshop comprises a number of Learning modules with interleaved hands-on Labs. Learning topics include:

  • iOS
    • Core Bluetooth
    • "Pure data" State Machines
    • Signals
    • Custom Operation Queues
  • LaunchPad
    • Bluetooth
      • Advertising
      • Scanning
      • Connecting
      • GATT, GAP
      • Service architecture
      • Characteristics, Attributes
      • Configuration for Apple interoperability
    • Real-Time Operating System
      • Multi-threading
      • Pre-emptive scheduling
      • Interrupt Service Routines (Hardware & Software)
      • Queues, Mailboxes, Semaphores
    • CC2640R2F
      • Register-level programming
      • Synchronous Serial Interface programming
      • Direct Memory Access (DMA)
      • Analog-to-Digital Converter (ADC)
      • True Random Number Generator (TRNG)

Workshop Requirements:

  • Functional Xcode/Swift 4x development environment
  • iOS device (Bluetooth Low Energy capable)
  • LightBlue iOS app (free download from AppStore)
  • Code Composer Studio 8.3 (CCS) (free download from Texas Instruments)
  • Bluetooth 4.1 stack (free download from Texas Instruments)
  • Sample embedded applications (free download from Texas Instruments)