BeagleBone Black HMI

  • girimugundan

    girimugundan - 2020-09-05


    I have been developing the SanCloud beaglebone black enhanced Industrial version to function as a PLC which runs on CoDeSys. I have had success in pushing the code onto the beaglebone and run it as a PLC. To do so I have done the following.

    1. Flashed the latest version of debian onto the eMMC storage.
    2. Rebuilt the kernel with a realtime kernel instead (rt_preempt)
    3. Insalled Codesys runtime onto the board.

    Now, I want to use the same Beaglebone board for HMI applications as it runs the plc script in the background. To do so I will have to run a browser in kiosk mode and it is here that I run into a lot of problems.

    1. I downloaded the latest LXQT GUI image of debian for the board and flashed it to eMMC, but am not able to patch the kernel due to insufficient archive cache storage.
    2. I did have success in patching the kernel by booting off an sd card with the LXQT GUI image as I was able to run a script to increase the root storage, but I was unable to write the OS to the onboard eMMC as the BBB only has a limited 4Gb and the the Image on the SD card was around 7.4Gb after the script to increase the root storage was executed.
    3. I tried installing a graphical server , a window manager and the chromium-browser on an IOT image to avoid the clutter of a desktop that I do not need. I am unable to install them or if I am able to, they do not launch.
    4. I have tried following the instructions in these links to no success:

    My needs are:
    1. rt patched kernel
    2. browser running in kiosk mode for HMI

    Would love the community's help on this issue as I am quite new to the platform.
    Yours sincerely,
    Giri Mugundan Kumar

  • aliazzz

    aliazzz - 2020-09-05

    If you run CODESYS for BBB you won't need special software for an HMI. You can use Webvisu or TargetVisu depending on the license options that the BBB CODESYS Runtime contains. The PLC functionality is compiled, not scripted. Although special HMI software is not needed, especially when using the internal webserver for graphics(Webvisu). You could still opt to do this but it will take you way more effort.

    A tip is to read up on on WebVisu or TargetVisu and search in the BBB runtime package for the target specific webserver settings.

    Kiosk mode can be enabled in a webbrowser like Chromium and is not part of CODESYS software. TargetVisu, which is part of CODESYS does support it too. Search for enabling kiosk mode in your favorite webbrowser via Google. Also, the webbrowser could but does not need to run on the platform itself. As does TargetVisu.

    Hope these hints give you a direction.

    • girimugundan

      girimugundan - 2020-09-05

      Hello aliazzz,

      I am planning to use webvisu from codesys for the HMI.

      I am able to install the packages for xserver(webserver) on the BBB. Do I need to install chromium-browser and a window manager like openbox to view the HMI screens developed in codesys?. Please note that I am using the IOT image of debian for the BBB.

      Thank you for your help.



      Last edit: girimugundan 2020-09-05
  • girimugundan

    girimugundan - 2020-09-23

    Hello aliazz,

    sorry for the late reply. I got it to work. I did the following.

    1. I installed the IoT version of debian.
    2. I patched in the rt kernel.
    3. I installed a gui with LXDE light.
    4. Then I ran a webvisu program using the browser on the BBB.

    Your suggestions helped a lot. Especially the port id of 9090 instead of 8080 as with the RPi. I found the BBB to be rather slow when it came to browser based operations. Do you know of any way to optimize performance?..

    Giri Mugundan Kumar

    • sonnh

      sonnh - 2021-03-02

      Hi Girimugundan
      Could you tell me ho to patch rt kernel for BBB Debian 10 IoT? And I also want to run GUI apps (Not web browser) on BBB, then I need lightest weight package to save more resource of BBB. So, is LXDE the best choice? And could you tell me command to install LXDE right way? Tks

      • girimugundan

        girimugundan - 2021-03-11

        Hi sonnh,

        Sorry for the late reply. You can rt patch the kernel for the BBB using the script that is already written and present on board. Follow the instructions in the link below.

        This is where it gets tricky. The BBB only has 4 gigs of flash storage onboard. This isn't enough to download and install any more applications as the space to download app scripts to temp memory is virtually not present. You can solve this in two ways.

        1. Use an sd card. expand root storage and boot from SD card. This method while functional has you relying on the SD card. So I would suggest the next method.

        2. After installing and patching the rt kernel, purge the old kernel. This frees up just enough space to install other applications. follow the instructions below.

        To answer your following question, LXDE is slow. Though very functional, I found it slow and I do not really know the reason as to why it is slow nor did I spend any more time optimizing it. Please let me know if you have found a way to make it snappier.


        PS: Follow the instructions in the link below to install LXDE:


        Last edit: girimugundan 2021-03-11
  • oymyakon

    oymyakon - 2020-09-24

    Hi, How did you get the beaglebone to retain variables ie persistence on power failure? Cheers Paul.

    • Ingo

      Ingo - 2020-09-25

      The standard is to shut down cleanly on power fail.
      If this is not possible, you can call AppStoreRetains from the CmpApp library at any time.

      • Morberis

        Morberis - 2020-09-25

        To do that would you need to be using either a cape or power supply that has UPS functionality and can has an output indicating that power has been cut?

  • girimugundan

    girimugundan - 2020-09-26


    Oymyakon, currently, I have just been using my BBB industrial for development purposes as it makes for a really portable PLC which runs codesys and needs just one cable. I am planning to use a circuit with a super capacitor and Codesys to perform safe shutdowns on a later date (As Ingo suggested). There will be a constant current to one of the Digital I/O and once cut, the beaglebone will run a scrip to shutdown (The super capacitor will power the BBB till it does). If power is back on, I am planning on using a relay of some sort to power cycle the BBB to switch it on again (after a dwell period of 30seconds or so to account for safe shutdown, if the power is immediately back on). I am not sure about this though, I will only know the problems once I implement it. I will keep you guys posted. Any suggestions or corrections to my idea are most welcome!.

    Giri Mugundan Kumar

    • laruso

      laruso - 2021-05-03

      Anything new on your plan?

      • oymyakon

        oymyakon - 2021-05-04

        <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">


        No, the cost of the beaglebone license is prohibitive. By the
        time you have added the license and a comms license it is more
        expensive than an industrial plc.



        On 03/05/2021 17:36, laruso wrote:

        <meta content="text/html; charset=UTF-8" http-equiv="content-type">

        Anything new on your plan?

        BeagleBone Black HMI

        Sent from because you indicated interest in

        To unsubscribe from further messages, please visit

        <link href="" itemprop="url">
        <meta content="View" itemprop="name">

        <meta content="View" itemprop="description">

        Frostechnic Logo
        Paul Neal
        Technical Director
        Frostechnic Ltd.
        dd: 01295 661237Β Β 
        p: 01295 266500Β Β 
        w: frostechnic.comΒ Β 
        Β Β 

  • oymyakon

    oymyakon - 2020-09-28

    Thanks for your help


Log in to post a comment.