<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=504731893395981&amp;ev=PageView&amp;noscript=1">
leef-technologies-Back

Mass Storage Device Implementation

A Flash drive for Apple devices and PCs
leef-white

The client designs and develops flash memory-based consumer electronics. They had an idea for a mass storage device that connects to Apple devices.

Project Information
Technology
Engagement model

T&M

Methodology

Agile

Team
2

Software Engineers

1

Electrical Engineer

1

Project Manager

More Details

Problem

The customer planned to create a mass storage device—an external flash drive that connects to Apple devices. They turned to Softeq to create an iOS application for device management.

Our team was also tasked with the device’s hardware overhaul and driver development.

Solution

ibridge-new-web-03

iBridge, the first mass storage device that connects to mobile phones, tablets and computers, has 16 — 256 GB memory storage capacity. The device provides the following:

  • Operates as a USB flash drive allowing to backup, share, and transfer pictures, movies, and music from MAC or PC’s memory storage to iOS devices’ one and vice versa
  • Captures photos directly to the user drive saving the device storage space
  • Enables users to watch video, view images and docs, and play back audio on an Apple device connected to iBridge

iBridge is designed:

  • to be as narrow as possible not to interfere with the ports around it and to ergonomically fit with this natural pinky finger positioning
  • to fit in the smallest case access holes available on the market
  • to be flexible and fit on cases of different thicknesses
  • to enable a unique 180° “u” turn, the size of which is calculated to fit the variable size of different iOS devices and cases
  • to reduce the risk of damage to the iOS device’s Lightning port and/or drive

The major part of the accessory’s code is written in C with the rest of the functionality covered by Assembler for 8051 microcontroller. The team also created several auxiliary utilities in Python.

From the architecture perspective, the solution is part of firmware which leverages Apple’s proprietary iAP2 protocol over USB. The solution is based on firmware of an existing USB mass storage device.

Development Phases

iOS Application

The Softeq team used the External Accessory Framework to develop a component that enables the app to communicate with iBridge. The team also implemented the library that uses SCSI commands level to interact with the firmware level, as well as ported a 3d party library to work with the FAT32 file system.

From the app perspective, apart from user functionality (file view and navigation, video playback, etc.) and file system abstraction layer (file opening, writing, reading, etc.) developed before Softeq jumped in the project, the following levels were implemented:

  • FAT32 library porting
  • SCSI commands level
  • Device communication level

Hardware Design

The team designed a PCB enabling iBridge to function as a USB flash drive with Apple’s Lightning connector integrated on the opposite end. The PCB automatically identifies the connector type and commutates the power supply and USB lines. The board also has all the necessary protection mechanisms in place to support simultaneous iPhone (iPad, iPod) to iBridge to PC connection.

Prototyping

The iAP2 protocol was rolled out on Linux using USB Mass Storage Gadget — g_mass_storage. The team also developed an I2C driver for the Apple authentication coprocessor, which is critical for the iBridge to iPhone connection. PandaBoard ES was used as a hardware platform.

Besides, the Softeq engineers developed an iOS POC app with the basic communication level and file system.

Navigating Data Storage Challenges?

See if our experience in SSD, MMC, NAND flash memory solutions, and visualization and testing tools are the right fit for your needs Learn more
Igor-K
Igor Account Manager