Embedded Bytes has the opportunity of designing 100% of the firmware for the QuadJoy and the Command and Control Center. These devices quadriplegics interact with the world. The QuadJoy is a highly configurable Sip-n-Puff Device that converts gestures into actions. The QuadJoy can act as a mouse, keyboard, and joystick. It can operate wired through USB or wirelessly through Bluetooth. The Command and Control Center is a separate module which allows interfacing with infrared devices, additional Bluetooth devices, and environmental controls. The QuadJoy interfaces with the Command and Control Center over a mini-DIN connection using a custom UART protocol.

Firmware (C Language)

  • USB HID; Vender Specific, Mouse, Keyboard, Joystick
  • USB communications to PC app for configuration and firmware updates
  • Infrared Pronto Format for Smart TV and other IR devices
  • Data compression for flash pool storage
  • Bluetooth interface for HID; connections to PC, Mac, Android, and iOS
  • Bluetooth HID over GATT Profile
  • Custom UART protocol using CAN transceiver
  • Hash keys to support software unlocked features

Bootloader (C Language)

  • USB HID; Vender Specific, minimal USB stack
  • Custom UART protocol using CAN transceiver
  • Integrity checking of Firmware at boot
  • Common bootloader to support multiple devices


  • Hardware debugging and schematic adjustments
  • Onsite development and support
  • Modification of PC App (C++ Language)

Technical Info

  • NXP/Freescale 8-bit MCU
  • USB 2.0
  • Bluetooth Classic and Low Energy; Roving Networks, Bluegiga, Silicon Labs
  • Serial, I2C, Bit Banging UART
  • LED Drivers

Tools Used

  • CodeWarrior IDE; 10.x, 11.x
  • Visual Studios; 2015, 2017, 2019
  • Bluegiga
  • Saleae Logic Analyzer