Konsulko Group
  • Home
  • Software
    • Edge AI
      • Edge AI Services
      • Konsulko Orca OS
    • Embedded Linux
    • Yocto Project
    • Security
    • Software Update
    • Automotive
    • RTOS and Bare Metal
  • Hardware
    • Electronics Design
    • Sensor Integration
    • Low Power
    • Wireless Communication
    • System Architecture
    • Manufacturing
  • Industries
    • Healthcare
    • Industrial and Heavy Equipment
    • Telecommunications Industry
    • Transportation Industry
  • About
    • Meet the Team
    • Careers
    • Resources
      • Embedded Systems Design
  • Showcase
  • Contact
  • Blogs & News
    • Technical Blog
    • News
  • Click to open the search input field Click to open the search input field Search
  • Menu Menu

Konsulko Group speaks at EOSS North America 2024 in Seattle

April 14, 2024/by Konsulko Group

Vitaly Wool and Tim Orling, both Principal Software Engineers at Konsulko Group are presenting at the Embedded Open Source Summit (EOSS) North America in Seattle Washington, April 15-18, 2024.

EOSS (which incorporates the Embedded Linux Conference) is an umbrella event for open source embedded projects and developer communities to come together under one roof for important collaboration, discussions and education.

Vitaly Wool

Vitaly, who is also general manager of Konsulko AB in Lund, Sweden, will give a technical talk on “Rusty Swapping: Rewriting a zswap Backend in Rust.”

Rust has gained popularity as the “second” Linux kernel high-level language. There’s been discussions about its applicability in various kernel subsystems which yielded tentative conclusions. Engineers have been advised by kernel gurus to use Rust for subsystem implementations rather than for drivers.

Vitaly will explain how he rewrote a zswap backend called zblock in Rust, then compare the performance and complexity of the two implementations.

Tim Orling

Tim, who serves on the board of directors of OpenEmbedded, will speak at the Yocto Project half-day mini-summit “Journey to Scarthgap 5.0” on Monday, April 15. With other YP community leaders, he will deep dive into upcoming features and improvements in the upcoming LTS release.

The rest of the week, you may find Tim in and around the Yocto Project booth in the exhibition hall. Please stop by with all your Yocto questions.

Balena: Running Containerized Applications on phyBOARD-AM62x

April 6, 2024/by Konsulko Group

This article was prepared by Atanas Bunchev.

Balena.io, commonly known as Balena, is a platform simplifying IoT device deployment and management. It uses Docker containers for easy application deployment across various embedded Linux devices, offers centralized device management for monitoring and updates, and supports scalability from prototypes to large-scale projects. With over-the-air (OTA) updates and monitoring tools, Balena streamlines IoT application development and management. Balena supports over a 100 device types with robust and resilient remote updates, combined with a powerful toolset for monitoring, maintaining and debugging.

Recently PHYTEC took interest into having their AM62x-based development board added to the list of Balena-supported devices and Konsulko was on the task. The process of bringing Balena support for a new board consists of creating a custom Yocto-based Board Support Repository and having it pass an automated testing procedure run on the actual hardware.

At the heart of the phyBOARD-AM62x is the industrial PHYTEC phyCORE-AM62x. This versatile System-on-Module (SoM) is powered by Texas Instruments AM62x Sitara processor and is equipped with Ethernet, CAN, UART, I2C, SPI, dual display, MIPI CSI-2 camera and audio. The phyBOARD-AM62x offers a modern FTDI interface allowing software download and debugging, perfect for development. Paired alongside the M.2 connectorized WiFi and Bluetooth module extensions makes a perfect product for IoT devices.

balena1

Konsulko engineers created balena-phytec git repository which is currently publicly available at the BalenaOS GitHub organization. It is based on the Yocto/OpenEmbedded board support package (BSP) layers meta-ti and meta-phytec. The repository provides all necessary modifications to run BalenaOS (Balena’s specific Linux distribution) on the phyBOARD-AM62x, including a new Yocto/OpenEmbedded integration layer meta-balena-phytec that extends the recipes for the U-Boot bootloader and Linux kernel.

Texas Instruments AM62x SoCs come with a RTI/WWDT Windowed Watchdog Timer which would turn off the board when not serviced within a specific time interval. RTI only supports a windowed mode, where the watchdog can only be petted during the open window; not too early or not too late. However, due to the nature of systemd utilized by BalenaOS, it is unable to ping the watchdog within the designated open window period, as it attempts to ping at watchdog_timeout/2 ticks. Therefore the systemd watchdog has been disabled by a BitBake append file for systemd in layer meta-balena-phytec.

To finish the task Konsulko and Balena engineers ran a special test suite on the board using the Balena AutoKit. Shortened from Automation Kit, the AutoKit is a complete hardware solution for automated interaction with embedded Linux device. It features SD card multiplexing, Ethernet and power control, serial communication, HDMI capture and support for other USB peripherals.

balena2

The rest of the article covers a step-by-step guide for connecting the phyBOARD-AM62x to BalenaCloud and deploying a simple containerized application on it, as well as demonstration of some of the basic features provided by BalenaCloud’s Dashboard.

Downloading an Image

The first thing you have to do is to register at https://dashboard.balena-cloud.com/signup. Every user is allowed to have up to 10 devices with all features enabled for free. While the software that Balena develops is open source, the usage of their cloud infrastructure with more than 10 connected IoT devices requires a plan subscription, with better plans coming with more devices and better support response time.

balenaCloud

Once you register and confirm your e-mail you’ll be welcomed with a screen providing an introduction to Balena and inviting you to create a fleet.

balena4

A fleet is a group of devices with identical configuration and with the same applications deployed on them. Create a new fleet and set the device type to phyBOARD-AM62x.

balena5
balenaCloud

Once your fleet is created click the “Add device” button. Select the Development edition, as it includes a few quality of life modifications for developers, such as passwordless ssh access as root on port 22222.

instructions on adding new device

Once you have picked the configuration for the new image you can download it by selecting the Download balenaOS option from the menu next to the Flash button and pressing on that button after that.

balena8

Alternatively if you have balenaEtcher installed you can directly click on the Flash button. That way balenaEtcher will start up with the correct URL for the image already selected, leaving only the output device selection to you.

The third option – downloading a configuration file – is applicable when having a custom BalenaOS image that you want to configure for a given fleet.

Flashing the Installation media

Once the image is downloaded you need to flash it on a microSD card. There are several ways of flashing an image. One way is to use a graphical tool for the task, such as balenaEtcher or Rufus (keep in mind that some of these will expect you to unzip the image in advance).

Another way to do is to use the Linux shell. Replace <your_image>.img.zip with the compressed image you downloaded and <your_image>.img with the extracted file. Replace /dev/sdX with the path to the microSD card.

unzip <your_image>.img.zip
umount /dev/sdX*
dd if=<your_image>.img of=/dev/sdX bs=128k status=progress
sync

Keep in mind that flashing an image on a microSD card will delete all data stored on the microSD card.

Installing Balena on the phyBOARD-AM62x

Note: The following procedure will delete all data on the internal eMMC storage of your phyBOARD-AM62x.

Plug in the newly-flashed microSD card into the phyBOARD-AM62x board. Make sure the boot switches are set to SD card mode. Power on the board and wait for the installation to the internal eMMC to finish.

Boot Switches

Once the installation is complete the board will turn off. This is indicated by LEDs D11 and D12 turning off.

balena10

As the installation on the internal eMMC has finished, set the boot mode to eMMC. Disconnect the microSD card, connect phyBOARD-AM62x to Ethernet and power it on.

Boost Switches

In few moments the board will show up on the fleet page at the Dashboard.

balena12

Clicking on phyBOARD-AM62x in the table will open a dedicated page for the board that shows details and current status information.

balenaCloud

On the left you can see the fleet containing the phyBOARD-AM62x, its online status, its unique UUID, the Host OS and Balena Supervisor versions, the local and public IP address of the board. You can enable or disable the Public Device URL of the board, as well as use the Actions menu to manage the board.

weathered-cloud

The Identify action will make a specific LED on phyBOARD-AM62x blink for half a minute to make identifying the exact board easier – a very useful feature when having a bunch of similar boards lying around. On phyBOARD-AM62x this is User LED 1, a bright red LED at the left edge of the carrier board.

balena15

At the upper-right corner you can see the current resource usage on the board, as well as the temperature and free persistent storage space.

balena15

Below them are the Logs and Terminal sections, which can be used for advanced remote debugging and troubleshooting of the board.

balena16

Lastly, at the currently empty space at the bottom-left part of the screen we’ll be able to see the status of the containerized applications currently deployed on the board.

Pushing a hello-world application to phyBOARD-AM62x

The last section of this article contains a quick example of how to push a containerized application to a board that runs Balena. The example application that will be deployed is a Docker container consisting of a simple web page hosted with NodeJS Express.

Download Balena CLI tool, a Command Line Interface for balenaCloud or openBalena. Select the standalone binary for your workstation – the machine you’re going to use to deploy the application, not the board you’re going to deploy to.

As of the time of writing, the most recent version is balena-cli-v18.1.5-linux-x64-standalone.zip. If you are utilizing a newer release or a different operating system, kindly substitute the filename accordingly.

unzip balena-cli-v18.1.5-linux-x64-standalone.zip
cd balena-cli

You need to login in your profile from the CLI before you can push anything to your devices. For that task you can use the ./balena login command:

./balena login
 _            _
| |__   __ _ | |  ____  _ __    __ _
| '_ \ / _` || | / __ \| '_ \  / _` |
| |_) | (_) || ||  ___/| | | || (_) |
|_.__/ \__,_||_| \____/|_| |_| \__,_|


Logging in to balena-cloud.com
? How would you like to login? (Use arrow keys)
❯ Web authorization (recommended)
  Credentials
  Authentication token
  I don't have a balena account!

Press Enter to select Web authorization and confirm the authentication request on the web page that opens:

Balena CLI

Alternatively, select the Credentials option and insert your username and password.

Once authentication is successful, clone the Hello World sample from https://github.com/balena-io-examples/balena-nodejs-hello-world and push it to your fleet. Replace <fleet name> with the actual name of the fleet that the phyBOARD-AM62x is part of.

git clone https://github.com/balena-io-examples/balena-nodejs-hello-world.git
cd balena-nodejs-hello-world
../balena push <fleet name>

Once the application is uploaded you can see it on the board’s page at the web dashboard.

balena18

The Hello World example is a web server hosting a single web page. To check it out, you can either visit the board’s local IP address if you’re in the same local network as phyBOARD-AM62x, or enable the PUBLIC DEVICE URL and open the hyperlink that appears next to the switch once enabled.

balena19

This article demonstrates how to setup and use the PHYTEC phyBOARD-AM62x development board with Balena, a container-based distribution designed for easy and rapid development of embedded applications, packed with useful device management and troubleshooting features as well as sophisticated monitoring and automation-oriented ones. Get in touch with us to discuss additional features. Our team is ready to help in development of new or already existing Linux embedded projects.

About Konsulko Group

From the earliest days of OpenEmbedded and the Yocto Project, Konsulko engineers have actively contributed upstream and participated in the community, offering their expertise and guidance in developing high-quality commercial products. Our proficiency extends to Balena, RAUC, Mender, and other open-source solutions, ensuring seamless and reliable over-the-air updates. Contact us to explore how Konsulko engineers can contribute to the advancement of your embedded Linux product development.

___

Konsulko Group extends its hardware services business

April 5, 2024/by Konsulko Group

Konsulko Group welcomes three veteran hardware developers to our growing team. Alexandar Kalaydjiev will serve as Konsulko Hardware Director. Joining as Principal Hardware Engineers are Marin Balkandjiev and Tsvetan Mudrov, PhD.

Customers can now leverage their technical expertise and extensive experience to create comprehensive products and solutions tailored to their specific requirements.

Konsulko hardware engineers can manage and facilitate the production of the developed products, ensuring their successful realization. We can provide deployment support as required, ensuring a smooth transition for the end-customer.

Meet the new members of the Konsulko team

Alexandar Kalaydjiev (middle photo) was an integral member of a team that developed a DVD writer in the early 2001, focusing on the control mechanisms for the semiconductor laser during the writing process. His contributions extended to the mechatronic design of both pneumatic and electrical robotic manipulators, specifically tailored for critical procedures in the manufacturing of DVD discs. Over the last 15 years, he has dedicated himself to comprehensive product design encompassing electrical design, PCB layout, CAD modeling, and production management.

Marin Balkandjiev (left photo) has spent over 8 years in the Telecom industry working with access multiplexers, data link converters and other key hardware. He has 10 years experience in the Automotive industry developing automotive interior products, and 10 years building consumer and industrial products, IoT, and sensors. He worked previously for Johnson Controls Automotive Electronics.

Tsvetan Mudrov (right photo) has 20 years of experience in development of Medical Electronics including external defibrillators, biomedical signals acquisition and processing (including ECG, EEG, PPG, bio impedance), medical telemetry and long-term monitoring. His expertise includes development of hardware and software for embedded systems, PCB layout routing, production management and final testing. He is experienced with ISO9001, ISO13485, MDR and other quality management procedures and certification. Tsvetan wrote his PhD dissertation on “HV generators for external defibrillators.”

Hardware Design and Development

Konsulko Group offers complete hardware services including design, integration, validation and certification, rapid prototyping, biometric signals, sensors, wireless communications, low power applications and manufacturing test/support. Please visit our Hardware Design Services page or contact us for more information.

___

Recent Posts

  • Konsulko Group extends Edge AI practice on Jetson, joins NPN
  • Konsulko Group: The Year in Review 2025
  • Introducing Konsulko Orca OS, the Platform for the Edge
  • Cybersecurity on NVIDIA: Why Embedded Lags Enterprise Linux
  • Integration and troubleshooting: Sterling LWB+ radio module
Konsulko Logo

Helping companies around the world develop successful products, offering consulting, product engineering, support and capability building at every stage of the engagement.

Connect with us

Software

  • Edge AI
  • Konsulko Orca OS
  • Embedded Linux
  • Yocto Project
  • Security
  • Software Update
  • Automotive
  • RTOS and Bare Metal

Hardware

  • Electronics Design
  • Sensor Integration
  • Low Power
  • Wireless Communication
  • System Architecture
  • Manufacturing

Information Hub

  • Technical Blog
  • Company News
  • Press Releases
  • Showcase

Company

  • About Us
  • Contact Us
  • Meet the Team
  • Careers
© 2012-2026, Konsulko Group. All Rights Reserved
  • Privacy Policy
  • Cookie Settings
Scroll to top Scroll to top Scroll to top