Picking a hardware platform IS picking software

A project log for Omega2P Playground

Learning IoT with the Omega2P platform

Kris KeillorKris Keillor 09/16/2021 at 08:450 Comments

This project is for experimental purposes only. The main topics of interest are communicating with sensors and controlling actuators. In other words, inputs and outputs.

In the project description I already shared some of why I'm excited for the Omega2P platform, but here we will go into more detail.

Goal: Learn modern electronics communication and control, or "Control Engineering" in a name. But that's a fancy name some people pay lots of money to put on their business cards, so this undergrad will call it C&C.

Method: Play with fun IoT projects that use a variety of different communication standards.

The Omega2P platform is perfectly suited for this because it's fun, it's modern, and it's C&C-focused.

I Want to Have Fun!

This is an extracurricular project. If its not enjoyable, its not happening. Orion brings the fun to you with well-written guidance books:

- One specially for the Maker Kit with 15 experiments

- One general project book with 22 experiments

- One detailed hardware and software dive

I'm sure Orion has many more great resources out there, but these are what I found with a quick search. I really like the look of these books; unlike with many other microcomputers oriented towards educational purposes, they aren't thrown at you in a heap to pick and choose, but guided to develop your skills gradually. Again: I want to have fun, not feel lost!

I also really like the look of their documentation. I would wager that its generated through Gitbook or mdBook (hey, the Omega2 supports Rust, so it's possible!). This is a minor personal preference, but ease of navigation is very important when you might be spending hours in the documentation.

As a final note, I specifically avoided any and all microcontrollers when picking out the brains of my project. The ease of development on a Linux-enabled computer - with a real package manager! - vs. on some homebrewed and hardboiled OS of my own devising sounds a lot more fun. Additionally, all common programming languages are executable: C, C++, Python, JS (on NodeJS), Rust, Ruby, PHP, and more. Make it easy on yourself!

I Want to Use Modern Tools!

There are a great deal of modern microcomputers that seem stuck in the past.

While working Quality Assurance for a software company, I was frustrated to learn that we were required to maintain the software's web interface for mobile devices, as well. What technician is going to maintain the commercial-grade data centers we targeted with a smart phone?

As it turns out, a lot of them.

Smartphones are ubiquitous devices these days. I spent a few months restricted to a flip phone in 2020 when mine broke. These aren't the days of 2015, or 2012, when you could get by on that! Knowing this situation, why aren't more IoT-intended SBCs not taking advantage of universally-present user input devices complete with WiFi, Bluetooth, and I/O?

This is exactly what the Omega2P does through OnionOS. It doesn't spend precious resources on HDMI outputs and enough USB ports to connect a keyboard and mouse, twice. It has a simple web-accessible interface, like the ones I used to test. Additionally, it can be accessed through a serial or SSH connection. Thinking about a mobile web interface - and one that has a native code editor and terminal - opens up radical possibilities for portable, reconfigurable computing. And it sounds fun!

I Want to Focus on Communications and Control!

Orion's device is targeting the IoT niche. They are highly focused on enabling not just excellent inputs via the web interface, also encouraging excellent control via a wide variety of buses and interfaces:

Only six standards, but these represent a significant portion of electronics C&C standards. Practicing with I2C and WiFi, in particular, will teach a lot. I2C is how many onboard chips will communicate with the CPU. My experience with I2C is limited and I look forward to the day my experiments can move beyond discrete electronics using the GPIO pins to the I2C big leagues.

There were many expansions that added more functionality to the Omega2S! Sadly, several have been discontinued. However, the RFID-NFC, Ethernet, and protoboard expansions are all still available from Digikey! Fortunately for me, the Maker kit includes the OLED, Relay, and Pulse Width Modulation (PWM) expansions. The latter two enable control of more external electronics, specifically, those with high voltage/current draws or non-binary control signals.

You might be wondering, is this guy some kind of control freak?! He can't get enough inputs and outputs. No, I just think the most interesting jobs in engineering are when you coordinate different processes. Unifying high- and low-level processes is where the real magic happens. It is my goal to be able to control discrete, low-level electronics through a high-level OS, Linux. Doing it on a headless computer through a web browser only makes it more exciting, portable, and fun!

Some Issues I Discovered

The biggest issue is that Orion has discontinued several all of their expansions. I imagine this is due to the IoT market integrating most of the sensors these expansions offered directly into their boards. This is most unfortunate for someone building ad-hoc experimental projects, like me. But again, not all have been discontinued, some that have been still have stock available online, and some other newer expansions recreate the functionalities.

There also might be some technical issues regarding the... Linux OS?! As the voicebox of the project, I would rather not have to tear out OnionOS and forego that lovely web interface. As the package manager OPKG is a keystone component, at the top of the documentation's Software tab, I'll trust that Orion fixed whatever issues this user had (aand double check with them).

Thanks for reading! What projects have you done with the Omega2? Why did you pick it over another microcomputer? Let me know in the comments!