Is Particle code an open source

Hi,
Can I use Particle code on non Particle hardware (arduino nano 33 ble, Nordic dongle) without any licence? I need a Bootloader plus ble

The device-side code is open source and is in the repository https://github.com/particle-iot/device-os .

The use of the Particle cloud is not free, and requires a valid device ID. Devices manufactured by Particle already have their devices registered on the cloud side and work. If you use different hardware, you won’t be able to make a cloud connection.

If you only need BLE, then in theory that would work. However, this is probably the most difficult way of accomplishing what you are trying to do. Because the Particle code base is designed to run the full stack with cloud connectivity on multiple hardware platforms, it’s big and complex.

And since it does not run on your hardware, it would require porting the hardware interface layer, the HAL. As a ballpark estimate, I’d assume that would take 3 months for someone who is familiar with porting to a new hardware device to bring up the HAL on a new hardware platform. Maybe longer for the Nano 33 because the hardware is so different than any Particle device.

1 Like

@rickkas7 Thank you for your reply and explanation. I have a number of Particle boards to play with Thread mesh. For another project I need a simple BLE device (short range no networking). I could use Xenon, but need something physically smaller like uBlox NINA-B306 module or Particle dongle, all based on nRF52840. All particle boards come with a big pin headers, making them physically bigger, too big to fit into my project box.
My motivation and thinking was to stay within the same environment - ParticleWorkbench for VSCode. Based on your response I have to give up on that idea although I don’t understand why BLE is using cloud.
Cheers,
Jan

Sorry, I didn’t explain that well. The cloud isn’t required, but since it’s so integrated into all of the existing Particle devices it may be hard to remove. A Xenon with BLE can operate standalone (no cloud), but the device still has all of the code so it could connect to the cloud by thread mesh, it’s just turned off.

Porting to new hardware is hard, relatively undocumented, and completely unsupported. I’m sticking with 3-4 months, full time work, by an experienced developer.

@rickkas7 Thanks again. Have to accept the world as it is, not that I wish it to be. Maybe I will convince myself to use a bigger box or maybe one day Particle will decide to use a header-less devices. Btw, on the last Nordic seminar they mention that the soft device will be abandoned and a new library style will be in place. As well I heard that it is possible to use concurrently BLE and mesh. Is it implemented on Particle system?

The two don't exclude eachother as the Particle device OS stands now.

can you show the link to a simple example how to use BLE and Thread mesh at the same time?

Just take one of the BLE samples from the tutorials docs and combine it with any of the mesh examples (e.g. Mesh.publish() and Mesh.subscribe()) :wink: