Particle vs Onion Omega

Can you please compare (pros/cons) Particle with Omega Onion?

I’ve not read too deep into the Omega, but I’d rather compare it to a RasPi and not a Particle - two different worlds.
One thing that might get forgotten in comparison between Particles and others is that :particle: Particle is not only about the hard- and firmware but also a big deal about the cloud that comes with it - which most of the others don’t offer :sunglasses:

Thanks for reply.

It seems Onion Omega also offers cloud and it seems you can program in Python, Node.JS, PHP, and other High-Level Programming Languages…

But still in the world of IoT :slight_smile:

Then let’s call it ‘continents’? Raspberry Pi / Arduino devices might live in the same world, but they fulfill different purposes. Micro-controllers are very good at controlling things (timing specific), whereas microprocessors have more power to do some more intensive things, albeit not so critical. That’s not to say one’s better than the other, but rather that they compliment each other. Pi/arduino projects work great together; look at the local cloud which you can host on a Pi to drive your Particle devices. You wouldn’t want to use a Pi directly for many things that the Particle devices are better suited for. It’s true the other way around as well. I wouldn’t try to use a Particle device as a media center, since that’s not what it’s made for.
So they do share the same world, but they each have their own place in it. That also means it’s hard to compare them, since they’re not meant to do the same thing. Both cars and airplanes are transportation vehicles, but comparing the two might not be ideal, if you’re looking for an analogy :stuck_out_tongue:



How about regarding my another post regarding Vehicle GPS tracking Is your project related to Asset Tracker? ? Can you compare Onion Omega and Particle for this particular case?

look at the local cloud which you can host on a Pi to drive your Particle devices

Which local cloud do you mean?

Technically, no. The Onion Omega is a product, and Particle is the entire company. That said, I’m assuming you’d like to know if you could use the Omega instead of a Particle product. If so, then you’re correct. You could do that. It probably won’t be easy, since the Omega hasn’t got a cellular connection, but ‘only’ wifi.
For the project you have in mind (GPS tracker), you’d really have to find some form of cellular connection. If you really want to compare the Omega to a Particle product, and I’m not convinced you should, you’d have to compare it to the Photon. Seeing as you wouldn’t use a Photon for your tracker, due to lack of connectivity, it makes till sense to use a different board with the same ‘limitation’.

A comparison for the GPS tracker: Particle Electron should work out-of-the-box, the Onion Omega wont; not without some sort of added cellular, which doesn’t make sense if you can get it on-board.

The Local Cloud is a version of the Particle cloud which you can install locally. Doesn’t really have much to do with this topic other than to illustrate the different use-cases of a Pi vs an Arduino (or Arduino-like) device.


Yes, I was meaning to compare the products :wink:

As @Moors7 said, one of the main differences is that with a micro-controller based platform, you are generally programming “close to the metal”. In the case of a generic Arduino type board, your code is the only thing running on the chip. With something like Particle’s Core, Photon, and Electron, there’s a really lightweight sort of Operating System in place, but you still get a lot of control over interrupts, timing, and such. When you move up to micro-processor systems like RasPi or Onion, then you get a full-blown Linux OS, and your code runs under that context.

So with something like Onion, the pro might be that you can run code written in a variety of languages: Python, JavaScript, Perl, etc. But on the flip-side, your code is multitasking with all of the other system services that an OS has – managing device drivers, memory, file systems, task scheduling, etc. These extra levels of abstraction and competition for resources mean that your code will not run as fast as it could if it was closer to the metal. It also makes it harder to integrate certain add-on sensors and devices that might require very strict control of signal timing. One easy example is WS2812 LED strips, which require fairly strict timing. Yes, there are ways to make them work on a RasPi, but it’s not as simple as in the microcontroller world.


So, in general this is a comparison between micro-controller based platform and micro-processor systems…

Hi @askar

I would not say “micro-controller based platform” and “micro-processor systems” are different things, but you seem to be implying that you think they are. To my way of thinking, both Photon and Onion Omega fit both of those categories.

I think you already got the best answer from @dougal above: higher level of abstraction systems programmed in high-level languages (like Omega) are further from the hardware and have the potential to have much lower performance on hardware-related tasks. Lower-level systems like Photon require more programming effort but the payback is in more control over the lower level details such as timing and performance.

There is a whole spectrum of ideas here and any particular point in that spectrum might fit your needs, so only you can decide if you want ease-of-programming or more control and then understand how that decision affects your end goals.