# Where is the docu on how you provide WiFi details etc via BLE?

**URL:** <https://community.particle.io/t/where-is-the-docu-on-how-you-provide-wifi-details-etc-via-ble/45092>\
**Category:** BLE // NFC\
**Created:** [November 8, 2018, 11:54pm UTC](https://community.particle.io/t/where-is-the-docu-on-how-you-provide-wifi-details-etc-via-ble/45092 "2018-11-08T23:54:53Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![mterrill](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/mterrill/32/5149_2.png) [@mterrill](https://community.particle.io/u/mterrill)\
**Post date:** [November 8, 2018, 11:54pm UTC](https://community.particle.io/t/where-is-the-docu-on-how-you-provide-wifi-details-etc-via-ble/45092/1 "2018-11-08T23:54:53Z")

</div>

I’m trawling through the docu and I can’t find how you provide an Argon it’s wifi details via BLE. Can someone point me in the right direction? The simple use case being what UUID do you connect to, the format for wifi creds, how you potentially get the scan results back like the javascript facility on P1/Photon.

What I’m also really surprised by is the posts I tripped over that I hadn’t previously seen saying BT functions like services/characteristics isn’t supported. A BT device with no BT. That’s surprising, absolutely useless for the next generation of my main product but happy enough to use it for another project if BLE setup is easy and integrated on the same chip.

---

<div class="post-metadata">

**Author:** ![mterrill](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/mterrill/32/5149_2.png) [@mterrill](https://community.particle.io/u/mterrill)\
**Post date:** [November 8, 2018, 11:57pm UTC](https://community.particle.io/t/where-is-the-docu-on-how-you-provide-wifi-details-etc-via-ble/45092/2 "2018-11-08T23:57:18Z")

</div>

ps, the only reference to BT setup is via [https://docs.particle.io/reference/device-os/firmware/argon/#listen-](https://docs.particle.io/reference/device-os/firmware/argon/#listen-)

and even that doesn’t call out specifically if it will listen for the main wifi creds, or how to do it. which is curious to say the least.

---

<div class="post-metadata">

**Author:** ![rickkas7](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/rickkas7/32/8681_2.png) [@rickkas7](https://community.particle.io/u/rickkas7)\
**Post date:** [November 9, 2018, 1:58pm UTC](https://community.particle.io/t/where-is-the-docu-on-how-you-provide-wifi-details-etc-via-ble/45092/3 "2018-11-09T13:58:33Z")

</div>

The BLE setup API is not currently documented. The best way is probably to look from the mobile app and device SDK implementations, but it’s not really intended to be used by anything other than the device setup SDK.

> **[particle-iot/photon-tinker-ios](https://github.com/particle-iot/photon-tinker-ios)**
>
> iOS Particle Tinker app for Core/Photon/Electron. Contribute to particle-iot/photon-tinker-ios development by creating an account on GitHub.

  

> **[particle-iot/photon-tinker-android](https://github.com/particle-iot/photon-tinker-android)**
>
> Photon Tinker app for Android. Contribute to particle-iot/photon-tinker-android development by creating an account on GitHub.

What you’re probably most interested in is the generic BLE API. It does not yet exist, but it is being planned.

---

<div class="post-metadata">

**Author:** ![mterrill](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/mterrill/32/5149_2.png) [@mterrill](https://community.particle.io/u/mterrill)\
**Post date:** [November 11, 2018, 3:49am UTC](https://community.particle.io/t/where-is-the-docu-on-how-you-provide-wifi-details-etc-via-ble/45092/4 "2018-11-11T03:49:20Z")

</div>

Thanks Rick.

I know its not your department, but I’m a little frustrated with this new platform as I have no idea who its designed to help. You’d presume a BLE enabled device would ship from day 1 with setup interfaces so people don’t need to face north and switch between their devices wifi screen and an app to provide the device basic wifi setup info. its 2018, nearly 2019 after all.

i’ve wasted my clients time suggesting we delay for this platform. i’ll go back to my older solution of P1 + Microchip BLE. it’s not perfect because of how Particle blocks when doing particle connect, but its better than the beer coaster that the argon box will become.

---

<div class="post-metadata">

**Author:** ![mterrill](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/mterrill/32/5149_2.png) [@mterrill](https://community.particle.io/u/mterrill)\
**Post date:** [November 11, 2018, 3:55am UTC](https://community.particle.io/t/where-is-the-docu-on-how-you-provide-wifi-details-etc-via-ble/45092/5 "2018-11-11T03:55:09Z")

</div>

For others:

```auto
static let particleMeshServiceUUID: CBUUID = CBUUID(string: "6FA90001-5C4E-48A8-94F4-8030546F36FC")

static let particleMeshRXCharacterisiticUUID: CBUUID = CBUUID(string: "6FA90004-5C4E-48A8-94F4-8030546F36FC")
 let particleMeshTXCharacterisiticUUID: CBUUID = CBUUID(string: "6FA90003-5C4E-48A8-94F4-8030546F36FC")

```

---

<div class="post-metadata">

**Author:** ![mterrill](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/mterrill/32/5149_2.png) [@mterrill](https://community.particle.io/u/mterrill)\
**Post date:** [November 11, 2018, 4:09am UTC](https://community.particle.io/t/where-is-the-docu-on-how-you-provide-wifi-details-etc-via-ble/45092/6 "2018-11-11T04:09:33Z")

</div>

i’ll clone the repo later, but jumping around it seems like it’s not as trivial as you may expect, ie the multiple rounds of handshake in [https://github.com/particle-iot/photon-tinker-ios/blob/master/Photon-Tinker/Mesh/MeshSetupBluetoothConnectionHandshakeManager.swift](https://github.com/particle-iot/photon-tinker-ios/blob/master/Photon-Tinker/Mesh/MeshSetupBluetoothConnectionHandshakeManager.swift)

It’s actually not clear if the code exists to scan the wifi for networks and provide joining info. i may have missed it, but seems like its just to create a mesh network and setup its encryption etc.

i’m genuinely surprised how providing wifi connection info wasn’t the first item on the todo list for the BLE integration. You’d anticipate connect to characteristics, issue a json or CBOR with parameters and a possible hash with a secret salt you can specify via firmware, returning array of hashes from scan, reply with chosen network and passwords, success/failure notification. you know, the first thing a customer in the field requires.
