• I don't think so, I've tried having everything else turned off to reduce the various BLE options in the room, from what I can see the iPhone just doesn't accept unsolicited connections.

    Over the weekend I got ANCS working on an Arduino with an nRF 8001 board as there are some pre-built libraries for that (also the contest I'm working on is Arduino centered so I need to use that!)

    It looks as if the Arduino is advertising some other services (battery etc) which the iPhone then sees in the Bluetooth devices and I can initiate the connection from the iPhone at which point the Arduino requests pairing (bonding)

    I'll need to go back and take a look at the services it advertises to see if I can re-create these on the Puck.
    This is the xml file that the nRF uses to expose services, I'm guessing this might make sense to you?

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE AttributeServer>
    <Profile Version="1.3">
        <SetupId>1</SetupId>
        <Device>nRF8001_Dx</Device>
        <Service Type="local" PrimaryService="true">
            <Name>TX Power</Name>
            <Uuid>1804</Uuid>
            <Characteristic>
                <Name>TX Power Level</Name>
                <Uuid>2a07</Uuid>
                <DefaultValue>0</DefaultValue>
                <UsePresentationFormat>0</UsePresentatio­nFormat>
                <MaxDataLength>1</MaxDataLength>
                <AttributeLenType>1</AttributeLenType>
                <ForceOpen>false</ForceOpen>
                <Properties>
                    <WriteWithoutResponse>false</WriteWithou­tResponse>
                    <Write>false</Write>
                    <Notify>false</Notify>
                    <Indicate>false</Indicate>
                    <Broadcast>false</Broadcast>
                </Properties>
                <SetPipe>true</SetPipe>
                <AckIsAuto>true</AckIsAuto>
                <PresentationFormatDescriptor Value="0000" Exponent="0" Format="1" NameSpace="01" Unit="0000"/>
                <PeriodForReadingThisCharacteristic>0</P­eriodForReadingThisCharacteristic>
                <PeriodForProperties/>
            </Characteristic>
        </Service>
        <Service Type="local" PrimaryService="true">
            <Name>Immediate Alert</Name>
            <Uuid>1802</Uuid>
            <Characteristic>
                <Name>Alert Level</Name>
                <Uuid>2a06</Uuid>
                <DefaultValue></DefaultValue>
                <UsePresentationFormat>0</UsePresentatio­nFormat>
                <MaxDataLength>1</MaxDataLength>
                <AttributeLenType>1</AttributeLenType>
                <ForceOpen>false</ForceOpen>
                <Properties>
                    <WriteWithoutResponse>true</WriteWithout­Response>
                    <Write>false</Write>
                    <Notify>false</Notify>
                    <Indicate>false</Indicate>
                    <Broadcast>false</Broadcast>
                </Properties>
                <SetPipe>false</SetPipe>
                <AckIsAuto>true</AckIsAuto>
                <PresentationFormatDescriptor Value="0000" Exponent="0" Format="1" NameSpace="01" Unit="0000"/>
                <PeriodForReadingThisCharacteristic>0</P­eriodForReadingThisCharacteristic>
                <PeriodForProperties/>
            </Characteristic>
        </Service>
        <Service Type="local" PrimaryService="true">
            <Name>Link Loss Alert</Name>
            <Uuid>1803</Uuid>
            <Characteristic>
                <Name>Alert Level</Name>
                <Uuid>2a06</Uuid>
                <DefaultValue>0</DefaultValue>
                <UsePresentationFormat>0</UsePresentatio­nFormat>
                <MaxDataLength>1</MaxDataLength>
                <AttributeLenType>1</AttributeLenType>
                <ForceOpen>false</ForceOpen>
                <Properties>
                    <WriteWithoutResponse>false</WriteWithou­tResponse>
                    <Write>true</Write>
                    <Notify>false</Notify>
                    <Indicate>false</Indicate>
                    <Broadcast>false</Broadcast>
                </Properties>
                <SetPipe>false</SetPipe>
                <AckIsAuto>true</AckIsAuto>
                <PresentationFormatDescriptor Value="0000" Exponent="0" Format="1" NameSpace="01" Unit="0000"/>
                <PeriodForReadingThisCharacteristic>0</P­eriodForReadingThisCharacteristic>
                <PeriodForProperties/>
            </Characteristic>
        </Service>
        <Service Type="local" PrimaryService="true">
            <Name>Battery</Name>
            <Uuid>180f</Uuid>
            <Characteristic>
                <Name>Battery Level</Name>
                <Uuid>2a19</Uuid>
                <DefaultValue>64</DefaultValue>
                <UsePresentationFormat>0</UsePresentatio­nFormat>
                <MaxDataLength>1</MaxDataLength>
                <AttributeLenType>1</AttributeLenType>
                <ForceOpen>false</ForceOpen>
                <Properties>
                    <WriteWithoutResponse>false</WriteWithou­tResponse>
                    <Write>false</Write>
                    <Notify>true</Notify>
                    <Indicate>false</Indicate>
                    <Broadcast>false</Broadcast>
                </Properties>
                <SetPipe>true</SetPipe>
                <AckIsAuto>false</AckIsAuto>
                <PresentationFormatDescriptor Value="0000" Exponent="0" Format="4" NameSpace="01" Unit="27AD"/>
                <PeriodForReadingThisCharacteristic>0</P­eriodForReadingThisCharacteristic>
                <PeriodForProperties/>
            </Characteristic>
        </Service>
        <Service Type="remote" PrimaryService="true">
            <Name>Immediate Alert</Name>
            <Uuid>1802</Uuid>
            <Characteristic>
                <Name>Alert Level</Name>
                <Uuid>2a06</Uuid>
                <DefaultValue>0</DefaultValue>
                <UsePresentationFormat>0</UsePresentatio­nFormat>
                <MaxDataLength>1</MaxDataLength>
                <AttributeLenType>1</AttributeLenType>
                <ForceOpen>false</ForceOpen>
                <Properties>
                    <Read>false</Read>
                    <WriteWithoutResponse>true</WriteWithout­Response>
                    <Write>false</Write>
                    <Notify>false</Notify>
                    <Indicate>false</Indicate>
                    <Broadcast>false</Broadcast>
                </Properties>
                <AckIsAuto>true</AckIsAuto>
                <PresentationFormatDescriptor Value="0000" Exponent="0" Format="1" NameSpace="01" Unit="0000"/>
                <PeriodForReadingThisCharacteristic>0</P­eriodForReadingThisCharacteristic>
                <PeriodForProperties/>
            </Characteristic>
        </Service>
        <Service Type="local" PrimaryService="true">
            <Name>Device Information</Name>
            <Uuid>180a</Uuid>
            <Characteristic>
                <Name>Hardware Revision String</Name>
                <Uuid>2a27</Uuid>
                <DefaultValue></DefaultValue>
                <UsePresentationFormat>0</UsePresentatio­nFormat>
                <MaxDataLength>9</MaxDataLength>
                <AttributeLenType>2</AttributeLenType>
                <ForceOpen>false</ForceOpen>
                <Properties>
                    <WriteWithoutResponse>false</WriteWithou­tResponse>
                    <Write>false</Write>
                    <Notify>false</Notify>
                    <Indicate>false</Indicate>
                    <Broadcast>false</Broadcast>
                </Properties>
                <SetPipe>true</SetPipe>
                <AckIsAuto>false</AckIsAuto>
                <PresentationFormatDescriptor Value="0000" Exponent="0" Format="25" NameSpace="01" Unit="0000"/>
                <PeriodForReadingThisCharacteristic>0</P­eriodForReadingThisCharacteristic>
                <PeriodForProperties/>
            </Characteristic>
        </Service>
        <Service Type="remote" PrimaryService="true">
            <Name>ANCS</Name>
            <Uuid BaseUUID="79050000B5CE4E99A40F4B1E122D00­D0" BaseUUIDName="ANCS">f431</Uuid>
            <Characteristic>
                <Name>Notification Source</Name>
                <Uuid BaseUUID="9fbf0000630142d98c5825e699A21D­BD" BaseUUIDName="ANCS Notification Source">120d</Uuid>
                <DefaultValue></DefaultValue>
                <UsePresentationFormat>0</UsePresentatio­nFormat>
                <MaxDataLength>20</MaxDataLength>
                <AttributeLenType>1</AttributeLenType>
                <ForceOpen>false</ForceOpen>
                <Properties>
                    <Read>false</Read>
                    <WriteWithoutResponse>false</WriteWithou­tResponse>
                    <Write>false</Write>
                    <Notify>true</Notify>
                    <Indicate>false</Indicate>
                    <Broadcast>false</Broadcast>
                </Properties>
                <AckIsAuto>false</AckIsAuto>
                <PresentationFormatDescriptor Value="0000" Exponent="0" Format="1" NameSpace="01" Unit="0000"/>
                <PeriodForReadingThisCharacteristic>0</P­eriodForReadingThisCharacteristic>
                <PeriodForProperties/>
            </Characteristic>
            <Characteristic>
                <Name>Control Point</Name>
                <Uuid BaseUUID="69D1000045E149A898219BBDFDAAD9­D9" BaseUUIDName="ANCS Control Point">d8f3</Uuid>
                <DefaultValue></DefaultValue>
                <UsePresentationFormat>0</UsePresentatio­nFormat>
                <MaxDataLength>20</MaxDataLength>
                <AttributeLenType>1</AttributeLenType>
                <ForceOpen>false</ForceOpen>
                <Properties>
                    <Read>false</Read>
                    <WriteWithoutResponse>false</WriteWithou­tResponse>
                    <Write>true</Write>
                    <Notify>false</Notify>
                    <Indicate>false</Indicate>
                    <Broadcast>false</Broadcast>
                </Properties>
                <AckIsAuto>false</AckIsAuto>
                <PresentationFormatDescriptor Value="0000" Exponent="0" Format="1" NameSpace="01" Unit="0000"/>
                <PeriodForReadingThisCharacteristic>0</P­eriodForReadingThisCharacteristic>
                <PeriodForProperties/>
            </Characteristic>
            <Characteristic>
                <Name>Data Source</Name>
                <Uuid BaseUUID="22EA000024D64BB5BE44B36ACE7C7B­FB" BaseUUIDName="ANCS Data Source">c6e9</Uuid>
                <DefaultValue></DefaultValue>
                <UsePresentationFormat>0</UsePresentatio­nFormat>
                <MaxDataLength>20</MaxDataLength>
                <AttributeLenType>1</AttributeLenType>
                <ForceOpen>false</ForceOpen>
                <Properties>
                    <Read>false</Read>
                    <WriteWithoutResponse>false</WriteWithou­tResponse>
                    <Write>false</Write>
                    <Notify>true</Notify>
                    <Indicate>false</Indicate>
                    <Broadcast>false</Broadcast>
                </Properties>
                <AckIsAuto>false</AckIsAuto>
                <PresentationFormatDescriptor Value="0000" Exponent="0" Format="1" NameSpace="01" Unit="0000"/>
                <PeriodForReadingThisCharacteristic>0</P­eriodForReadingThisCharacteristic>
                <PeriodForProperties/>
            </Characteristic>
        </Service>
        <Gapsettings>
            <Name>ANCS Rusk</Name>
            <DeviceNameWriteLength>0</DeviceNameWrit­eLength>
            <LocalPipeOnDeviceName>false</LocalPipeO­nDeviceName>
            <DeviceNameShortLength>3</DeviceNameShor­tLength>
            <Apperance>0240</Apperance>
            <SecurityLevel>1</SecurityLevel>
            <AuthenticationReq>0</AuthenticationReq>­
            <IoCapabilities>0</IoCapabilities>
            <BondTimeout>600</BondTimeout>
            <SecurityRequestDelay>99</SecurityReques­tDelay>
            <MinimumKeySize>7</MinimumKeySize>
            <MaximumKeySize>16</MaximumKeySize>
            <AdvertisingDataBondedBitmap>10</Adverti­singDataBondedBitmap>
            <AdvertisingDataGeneralBitmap>10</Advert­isingDataGeneralBitmap>
            <AdvertisingDataBrodcastBitmap>0</Advert­isingDataBrodcastBitmap>
            <AdvertisingDataBondedScanResponseBitmap­>2c40</AdvertisingDataBondedScanResponse­Bitmap>
            <AdvertisingDataGeneralScanResponseBitma­p>2c40</AdvertisingDataGeneralScanRespon­seBitmap>
            <AdvertisingDataBrodcastScanResponseBitm­ap>0</AdvertisingDataBrodcastScanRespons­eBitmap>
            <AdvertisingDataBondedBitmapCustom>1</Ad­vertisingDataBondedBitmapCustom>
            <AdvertisingDataGeneralBitmapCustom>1</A­dvertisingDataGeneralBitmapCustom>
            <AdvertisingDataBrodcastBitmapCustom>0</­AdvertisingDataBrodcastBitmapCustom>
            <AdvertisingDataBondedScanResponseBitmap­Custom>0</AdvertisingDataBondedScanRespo­nseBitmapCustom>
            <AdvertisingDataGeneralScanResponseBitma­pCustom>0</AdvertisingDataGeneralScanRes­ponseBitmapCustom>
            <AdvertisingDataBrodcastScanResponseBitm­apCustom>0</AdvertisingDataBrodcastScanR­esponseBitmapCustom>
            <TxPowerLevelOffset>0</TxPowerLevelOffse­t>
            <MinimumConnectionInterval>400</MinimumC­onnectionInterval>
            <MaximumConnectionInterval>800</MaximumC­onnectionInterval>
            <SlaveLatency>0</SlaveLatency>
            <TimeoutMultipler>600</TimeoutMultipler>­
            <AddServiceUpdateCharacteristic>true</Ad­dServiceUpdateCharacteristic>
            <AddServiceUpdateCharacteristicPipe>true­</AddServiceUpdateCharacteristicPipe>
            <SercieToSolicitate>
                <Uuid BaseUUID="79050000B5CE4E99A40F4B1E122D00­D0" BaseUUIDName="ANCS">f431</Uuid>
            </SercieToSolicitate>
            <CustomAdTypes>
                <AdType index="1">
                    <Type>19</Type>
                    <Value>4002</Value>
                </AdType>
                <AdType index="2">
                    <Type>18</Type>
                    <Value></Value>
                </AdType>
            </CustomAdTypes>
        </Gapsettings>
        <Hardwaresettings>
            <Clocksource>1</Clocksource>
            <ClockAccuracy>1</ClockAccuracy>
            <InitialTxPower>3</InitialTxPower>
            <HfClkSource>0</HfClkSource>
            <DcDcConverter>0</DcDcConverter>
            <ActiveSignalModeIndex>0</ActiveSignalMo­deIndex>
            <ActiveSignalToTickDistance>0</ActiveSig­nalToTickDistance>
            <DynamicWindowLimitingEnabled>true</Dyna­micWindowLimitingEnabled>
        </Hardwaresettings>
        <CurrentInput>
            <BatteryCharge>220</BatteryCharge>
            <Master32KhzClockAccuracy>10</Master32Kh­zClockAccuracy>
            <ConnectionInterval>1000</ConnectionInte­rval>
            <PercentOfTimeSleeping>0</PercentOfTimeS­leeping>
            <PercentOfTimeAdvertising>0</PercentOfTi­meAdvertising>
            <AdvertisingInterval>1280</AdvertisingIn­terval>
        </CurrentInput>
    </Profile>
    
About

Avatar for sammachin @sammachin started