Yio Remote Community

NEEO switcher ready to contribute

Hi, my name is Markus and I am one of those disgruntled NEEO backers. Now I’m enthusiastic about YIO.

I’m still using my two NEEO remotes almost daily and have automated pretty much everything in my flat and home theater setup. But since it all came to a harsh end 8 months ago, I haven’t visited NEEO’s forum nor continued my own driver development (myStrom WiFi switch driver and other unpublished stuff). Mentally I already prepared myself to switch back to Logitech Harmony…
What a mistake! I just discovered @Nklerk brain hacking and even more importantly this truly AWESOME project.
YIO is exactly what I am looking for!!! Thanks a lot @marton for your tremendous efforts, the professional look of your project and the upcoming diy kit. So exciting :grin:

I am ready to jump in and contribute!

Who am I and what can I offer?
I’m a software engineer living in Bern, Switzerland. Besides mountain biking, I like to tinker with electronics, Arduinos and lately ESP32 in my spare time. Even though my apprenticeship was in electronic engineering almost 25 years ago I’m no hardware guy at all. My passion is designing and writing quality software :smiley:

I need some time to wrap my head around C++ & Qt again. My last professional Qt project was over 10 years ago… Whenever possible I stick with Java, which might come handy if I see a need writing a custom openHAB integration driver. My specialty is system integration, backend services, service communication and in the past low-level industrial device integration. So don’t expect fancy GUIs from me :wink:

After quickly glancing over the GitHub sources I see the following possible contributions:

  • Fix initial WiFi setup: doesn’t work with SSIDs containing spaces. I already found what’s wrong and will create a fix & PR in the next few days.
  • Setup & development documentation since I have to start at the beginning and get up and running. Should be helpful for other newcomers.
    The first challenge is creating the RPI image and get it running on my own hardware, minus the special sensors and battery circuit and using my spare Pimoroni’s Hyperpixel 3.5 as alternative display (it’s a similar DPI display with the same resolution used in YIO, now replaced with HyperPixel 4.0 model).
  • Automate the development environment setup. Either with Ansible, Vagrant, Docker, or a combination thereof. Goal: Linux VM or container with all toolchains ready to create an RPI image from GitHub checkout with minimal user interaction.
  • Trying to simplify buildroot: instead of the customized forked buildroot project, separate the yio board and pull in a specific buildroot release. This way we can better work together, create GitHub issues, releases etc. Since I haven’t used buildroot before this might take a while…
  • Introduce unit tests!
  • Modularization / abstraction of hardware devices: simplifies developer setup and opens up future hardware changes / revisions.
  • Support for TV, Receivers, Kodi

Just let me know where I could be of most help. I still need a few days to get my initial development environment up and running.
Now off to hacking…

5 Likes

Your help is appreciated with all of the mentioned topics above and probably anything else as well :smiley:

This morning we had a small chat how we could involve more users and came to the conclusion that a working solution on parts most users have at home would really help. like getting one of those raspberry’s, connect a display, download an image and the minimum is up and running. It’s something that’s currently not there, it’s on the wish list and matches your thoughts. so this would be realy helpfull.

We tend to have some great conversations on Discord. Please join in.

Kind regards,

Niels

P.S. I’ve stopped the NEEO brain hacking projects. currently my focus is on YIO.

Hi @zehnm, welcome to the forum and the project! Glad to have you around here.

As @Nklerk wrote, any help is much appreciated. Getting the project easy to setup and creating hardware abstractions to be able to run on different systems seems like a good idea :slight_smile:

Also having an openHAB integration would make a lot of people happy as well.

If you need help with setting up QT or any just say. The project is lacking a lot of documentation, but we are also working on getting that up to a more useful level.

Please do join our chat, we are also a bit more active over there.

Marton

Welcome @zehnm from my side as well.
Happy to see you and your effort to contribute to YIO. Seems like you can give the Project another good step forward. As you actually have joined the Discord Chat, most of the conversations and planning actually happen over there.
If you have questions or anything else, there is at least one of us online per day. But the most good answers you will get from @marton as he has programmed the whole think by itself mostly.

I am also an original backer and owner of a NEEO and would greatly appreciate any efforts to provide OpenHAB integration.
Tom

Thanks for the warm welcome :smiley:
For now I’ll focus on the development and test hardware setup and missing documentation before I start adding features.

Today I was able to fix the WiFi setup with network names containing spaces. I verified it on my RPI zero with a self-built SD card image (first boot setup procedure as well as WiFi resets). The fixes are still on my forked buildroot repo and will open a PR after some more testing. There were several issues involved, more might pop up…

Working so far:

  • Bash script to prepare a fresh Ubuntu install for buildroot building
  • Creating a SD card image with buildroot.
  • Headless bootup on RPI zero
  • UART console access
  • WiFi setup

Still struggling with:

  • Switching the display to Hyperpixel 3.5. I.e. still using HDMI and serial console

Further details and questions in the chat!

It’s a great start! :slight_smile:

Thanks for fixing the wifi issues.

To use the Hyperpixel I think you need to use framebuffer and when launching the app use that.

First major success: got the HyperPixel 3.5 displaying the remote app with the self-compiled YIO OS image :grin:

Now to the touch driver!
Since the HyperPixel 3.5 is discontinued I’ve just ordered the 4.0 to support it as well. Plus a bunch of sensors :smiley:

There’s still a lot of work ahead but I’m progressing. Slowly but steadily…

6 Likes

@zehnm

Looking forward to your progress on this Markus - I have a HyperPixel 4.0 arriving shortly.

Kevin

I got the touch driver of the HyperPixel 3.5 working!
The HyperPixel 4.0 arrived in the mail and I hope I’ll have some time next week…
You can track my progress in the developer image branch on GitHub: https://github.com/YIO-Remote/remote-os/tree/feature/11-dev_image

2 Likes

that is awesome. Im thinking of these as an option for mini wall switches and instead of wall mounted tablets. Are you trying 5" and 7" varieties?
Great work.

@AdrianLiteAutomation currently th UI is optimised for the current used display. Other resolutions or displays can be made possible, but current target is to get the KIT ready, therefor not yet any attention was made for new hardware types.

@zehnm has made great progress on the deployment for a solution to use the software for his own environment. We will keep such solutions in mind, but current focus is not put onto this, as you may understand.

@AdrianLiteAutomation I’m concentrating on the HyperPixels for now which have the exact same resolution as the screen used in the YIO remote (800x480). These are all DPI displays hooked up on the GPIO ports. Regular HDMI displays already work with minimal configuration changes. But in both cases the layout size is fixed for now and as @Carp3-noctem mentioned not a high priority right now (too many other things to work on).
That means bigger (higher resolution) HDMI screens work, but with black bars and no scaling of the app. Your best bet at the moment is the official Raspberry Pi 7" touchscreen which is also 800x480!
Some configuration tinkering required - no plug and play yet…