# Truly offline IDE?

**URL:** https://community.particle.io/t/truly-offline-ide/17334
**Category:** General
**Created:** [November 10, 2015, 11:29pm UTC](https://community.particle.io/t/truly-offline-ide/17334 "2015-11-10T23:29:42Z")
**Posts on this page:** 18
**Page:** 1

<div class="post-metadata">

### Author: ![Bun-Bun](https://avatars.discourse-cdn.com/v4/letter/b/9d8465/32.png) [@Bun-Bun](https://community.particle.io/u/Bun-Bun)
#### Post date: [November 10, 2015, 11:29pm UTC](https://community.particle.io/t/truly-offline-ide/17334/1 "2015-11-10T23:29:42Z")

</div>

In fear of turning into a rant… I hate cloud.

I see the desktop IDE, but its not truly offline, “yet”. Does that mean it is actually in the works to go offline?

And yes I see there is the toolchain that can be installed by my understanding is that is completely CLI based. I prefer GUI as I get easily lost in CLI beyond scripting.

What I’m getting at, is before I purchase and support Particle I want to know if a truly offline solution is being worked on that works seamlessly as the cloud stuff advertises.

---

<div class="post-metadata">

### Author: ![Hootie81](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/hootie81/32/2879_2.png) [@Hootie81](https://community.particle.io/u/Hootie81)
#### Post date: [November 11, 2015, 3:27am UTC](https://community.particle.io/t/truly-offline-ide/17334/2 "2015-11-11T03:27:24Z")

</div>

Yeah there is an option to use netbeans. its totally offline and i use it to develop when i have no internet for weeks at sea.

search the forums there is an old video for setting it up for the core, and i think someone wrote a little utility to set up all the particle goodness including netbeans, set up for both photon and core.

---

<div class="post-metadata">

### Author: ![ScruffR](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/scruffr/32/6952_2.png) [@ScruffR](https://community.particle.io/u/ScruffR)
#### Post date: [November 11, 2015, 7:44am UTC](https://community.particle.io/t/truly-offline-ide/17334/3 "2015-11-11T07:44:32Z")

</div>

**_And_** there already has some work been done on an local build package for Dev - it’s looking promising.

---

<div class="post-metadata">

### Author: ![Bun-Bun](https://avatars.discourse-cdn.com/v4/letter/b/9d8465/32.png) [@Bun-Bun](https://community.particle.io/u/Bun-Bun)
#### Post date: [November 12, 2015, 5:11pm UTC](https://community.particle.io/t/truly-offline-ide/17334/4 "2015-11-12T17:11:58Z")

</div>

Well I spent several hours tuesday night trying to follow this and get it to work

> [@Toolchain for Windows Installer](https://community.particle.io/t/toolchain-for-windows-installer/13217):
>
> So, in an effort to make local building easier for people, I put together a basic installer for the Toolchain for Windows. It should download and install GCC Arm, GNU make, and the necessary components of the MinGW toolkit, and add them appropriately to the path. I generally followed @kennethlimcp’s guide [here](https://community.particle.io/t/toolchain-windows/11635). I tested it on Win 7, so if something doesn’t work, let me know and I’ll try to fix it! This should decrease the number of steps necessary to get up and running with building locally…

After solving a bunch of path issues and installing VS2010 Express... I still can't get the node.js modules to install (particle-cli and the server one).

So with that toolchain I can compile the code but then I need to run my own cloud to send it to the photon? And that would be all CLI based at that point?

Is there somewhere that development on Particle Dev (for offline development) is being tracked? I want to be able to compile and flash the unit wireless from a nice interface.

---

<div class="post-metadata">

### Author: ![ScruffR](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/scruffr/32/6952_2.png) [@ScruffR](https://community.particle.io/u/ScruffR)
#### Post date: [November 12, 2015, 5:25pm UTC](https://community.particle.io/t/truly-offline-ide/17334/5 "2015-11-12T17:25:12Z")

</div>

It’s alpha, but you can follow the progress here  
[https://github.com/spark/particle-dev-local-compiler#installation-steps](https://github.com/spark/particle-dev-local-compiler#installation-steps)

---

<div class="post-metadata">

### Author: ![suda](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/suda/32/18449_2.png) [@suda](https://community.particle.io/u/suda)
#### Post date: [November 12, 2015, 5:40pm UTC](https://community.particle.io/t/truly-offline-ide/17334/6 "2015-11-12T17:40:43Z")

</div>

We’re definitely working on making this happen and package that @ScruffR mentioned is a big step towards this.

I must warn that this is still an **early alpha** and requires about 10GB of disk space at least.

---

<div class="post-metadata">

### Author: ![jakeypoo](https://avatars.discourse-cdn.com/v4/letter/j/a9adbd/32.png) [@jakeypoo](https://community.particle.io/u/jakeypoo)
#### Post date: [November 12, 2015, 7:19pm UTC](https://community.particle.io/t/truly-offline-ide/17334/7 "2015-11-12T19:19:05Z")

</div>

You can download all the source files and use gcc to compile your code locally, and dfu-util to program your device over USB.  
You need a connection to manage your devices’ behaviour with the particle servers, but you can develop totally offline.

---

<div class="post-metadata">

### Author: ![Kabron](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/kabron/32/7760_2.png) [@Kabron](https://community.particle.io/u/Kabron)
#### Post date: [November 22, 2015, 10:41am UTC](https://community.particle.io/t/truly-offline-ide/17334/8 "2015-11-22T10:41:27Z")

</div>

Well, I did everything according instructions.  
BUT! No success.  
Here my pray to Atom:

> <https://github.com/atom/atom/issues/9734#issuecomment-158680245>

---

<div class="post-metadata">

### Author: ![Bun-Bun](https://avatars.discourse-cdn.com/v4/letter/b/9d8465/32.png) [@Bun-Bun](https://community.particle.io/u/Bun-Bun)
#### Post date: [November 7, 2016, 4:49am UTC](https://community.particle.io/t/truly-offline-ide/17334/9 "2016-11-07T04:49:27Z")

</div>

Checking in on the github, [https://github.com/spark/particle-dev-local-compiler](https://github.com/spark/particle-dev-local-compiler)

Hasn’t been updated in a year.

But I see [https://www.particle.io/products/development-tools/particle-local-ide](https://www.particle.io/products/development-tools/particle-local-ide) mentions offline compiling and flashing.

Is this truly an offline method of using the particle?

---

<div class="post-metadata">

### Author: ![ScruffR](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/scruffr/32/6952_2.png) [@ScruffR](https://community.particle.io/u/ScruffR)
#### Post date: [November 7, 2016, 10:10am UTC](https://community.particle.io/t/truly-offline-ide/17334/10 "2016-11-07T10:10:58Z")

</div>

I've looked over the second link your provided, but I can't see an explicit statement about offline compiling - although _offline development_ might suggest that (unfortunately).

This does in fact seem a bit misleading to me

> [@](#):
>
> The Web and Local IDEs share the same icons and Cloud-connected features, so it’s easy to transition between them. The hundreds of libraries and firmware examples you’re used to online in Build are compatible with the _Local IDE_, and you can also manage your Particle devices, _compile firmware_, and flash over the air firmware updates.

You can compile, just not locally.

---

<div class="post-metadata">

### Author: ![Bun-Bun](https://avatars.discourse-cdn.com/v4/letter/b/9d8465/32.png) [@Bun-Bun](https://community.particle.io/u/Bun-Bun)
#### Post date: [November 7, 2016, 2:36pm UTC](https://community.particle.io/t/truly-offline-ide/17334/11 "2016-11-07T14:36:22Z")

</div>

Yes the wording on that page is very confusing and misleading.

Are there any efforts being made to make particle usable truly offline? Or should I be selling my particles?

Other cloud solutions I use have options to use 100% offline. ex. Bitdefender security software gives you a VM image to run their cloud stuff locally. I don’t understand why particle refuses to do something similar.

---

<div class="post-metadata">

### Author: ![bko](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bko/32/20704_2.png) [@bko](https://community.particle.io/u/bko)
#### Post date: [November 7, 2016, 3:15pm UTC](https://community.particle.io/t/truly-offline-ide/17334/12 "2016-11-07T15:15:44Z")

</div>

You mention offline compilation above and then talk about other cloud solutions. These are two different things. You can run a local cloud on your own computer–this has been available for quite some time. It is not the same as the commercial cloud, but still works great. [https://docs.particle.io/guide/getting-started/contributing/photon/#local-cloud](https://docs.particle.io/guide/getting-started/contributing/photon/#local-cloud)

You can program your device to not require the Particle cloud, or to add the Particle cloud when you need it, or use the default which is full cloud at startup time. See here for details: [https://docs.particle.io/support/troubleshooting/mode-switching/photon/](https://docs.particle.io/support/troubleshooting/mode-switching/photon/)

Offline compilation has also always been available, it is just an advanced maneuver since you need to download and setup the ARM gcc toolchain. Many of us use this flow all the time (although I find the web IDE “build” to be fast and convenient). If you are a Windows user, it will be more difficult since the gcc based tools assume a Linux-like environment, but you can provide such an environment without too much extra work. Linux and Mac development are both dead simple to set up.

> <https://github.com/particle-iot/firmware/blob/develop/docs/dependencies.md>

---

<div class="post-metadata">

### Author: ![ScruffR](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/scruffr/32/6952_2.png) [@ScruffR](https://community.particle.io/u/ScruffR)
#### Post date: [November 7, 2016, 3:45pm UTC](https://community.particle.io/t/truly-offline-ide/17334/13 "2016-11-07T15:45:30Z")

</div>

To add to @bko’s points, even though the project you linked is marked experimental (and not recently updated) why not just try it out?

> **[particle-iot/particle-dev-local-compiler](https://github.com/particle-iot/particle-dev-local-compiler)**
>
> particle-dev-local-compiler - Package providing local compilation for Particle devices in Particle Dev

If you find anything unsupported there, Particle will appreciate all feedback.

And finally Particle is currently throwing manpower into the IDEs, so there will be news sometime soon.

BTW, what’s wrong with the online build tools?

---

<div class="post-metadata">

### Author: ![Bun-Bun](https://avatars.discourse-cdn.com/v4/letter/b/9d8465/32.png) [@Bun-Bun](https://community.particle.io/u/Bun-Bun)
#### Post date: [November 7, 2016, 5:06pm UTC](https://community.particle.io/t/truly-offline-ide/17334/14 "2016-11-07T17:06:32Z")

</div>

You mention the web IDE is fast and convenient, and that’s just the thing; the other solutions you mention are not fast and convenient. In fact they are quite the opposite. To my knowledge the local cloud is all CLI based and flashing to the devices is done solely via USB. Further, like you mentioned, getting the offline compilation working under windows is more difficult to the point I have yet to be able to get it to work.

I talk about other cloud solutions in that they can be run 100% locally. Bitdefender as the example I download the VM image and start it up in the hypervisor of my choice and then have full access to all the tools within minutes, exactly the same as their cloud but local.

What’s wrong with the online tools? I am against the cloud in principal. I do not want to be reliant on a third party for any part of the process. From the moment I open the device I do not want to have to connect it to the internet for any purpose. Everything should be able to be done locally, preferably within a single GUI interface. I wanted particle for its integrated wifi, not cloud.

I would try out the dev-local-compiler but it doesn’t get me to flashing the devices. How do I get to that next step? All the guides show using the cloud stuff which I do not want to use.

---

<div class="post-metadata">

### Author: ![nrobinson2000](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/nrobinson2000/32/15624_2.png) [@nrobinson2000](https://community.particle.io/u/nrobinson2000)
#### Post date: [November 7, 2016, 5:25pm UTC](https://community.particle.io/t/truly-offline-ide/17334/15 "2016-11-07T17:25:51Z")

</div>

[po-util](http://nrobinson2000.github.io/po-util) is a script that I created to simplify offline Particle development for MacOS and Linux. You mentioned that you are on Windows, and unfortunately Windows is not well suited for Particle development.

I would recommend trying po-util on Linux in a virtual machine at the least.

---

<div class="post-metadata">

### Author: ![Bun-Bun](https://avatars.discourse-cdn.com/v4/letter/b/9d8465/32.png) [@Bun-Bun](https://community.particle.io/u/Bun-Bun)
#### Post date: [November 7, 2016, 6:21pm UTC](https://community.particle.io/t/truly-offline-ide/17334/16 "2016-11-07T18:21:43Z")

</div>

That looks helpful, thanks.

Is there is a step by step guide somewhere to get started with particle using the offline tools? I find bits and pieces scattered and its hard to make sense of it all.

It seems in addition to po-util I would need particle server, not sure how to go about doing that. Also will need to connect via USB initially? Not sure how I pass the particle USB over to a VM.

---

<div class="post-metadata">

### Author: ![nrobinson2000](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/nrobinson2000/32/15624_2.png) [@nrobinson2000](https://community.particle.io/u/nrobinson2000)
#### Post date: [November 7, 2016, 6:41pm UTC](https://community.particle.io/t/truly-offline-ide/17334/17 "2016-11-07T18:41:36Z")

</div>

> [@Bun-Bun](#):
>
> Is there is a step by step guide somewhere to get started with particle using the offline tools? I find bits and pieces scattered and its hard to make sense of it all.

Not really. The documentation is kind of sparse, but this could help. [https://github.com/spark/firmware/blob/develop/docs/gettingstarted.md](https://github.com/spark/firmware/blob/develop/docs/gettingstarted.md)

I made po-util take care of this on its own.

UPDATE:  
I just released a huge update to po-util's library manager.

> [@How to use po-util's library manager](http://community.particle.io/t/how-to-use-po-utils-library-manager/26735):
>
> One of po-util's new features is its library manager. The library manager makes it easy to use Particle libraries when developing with po-util locally. The library manager does this by using git to download Particle libraries hosted on GitHub and save them to a ~/.po-util/lib directory so that they make be linked inside of projects later. Here are all of the commands for the library manager: "po library": The Particle Library manager for po-util. Libraries are kept i…

---

<div class="post-metadata">

### Author: ![nrobinson2000](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/nrobinson2000/32/15624_2.png) [@nrobinson2000](https://community.particle.io/u/nrobinson2000)
#### Post date: [November 7, 2016, 6:43pm UTC](https://community.particle.io/t/truly-offline-ide/17334/18 "2016-11-07T18:43:37Z")

</div>

> [@Bun-Bun](#):
>
> Also will need to connect via USB initially? Not sure how I pass the particle USB over to a VM.

Depending on what you are using to manage your VM this can be done in multiple ways. Google is your best friend here.
