Why to choose us?

All of our trainings are based on hard real-life work of the trainer. Most of the added value comes from our personal experience and corresponds with our previous and present work.


Training materials are provided to you in paper copies. All examples and code snippets are in an electronic form which makes them very easy to use as references and work-base. You also automatically get updates and newer versions whenever they become available.

Lock-in avoidance

Our trainings and corresponding materials are as much vendor-independent as possible. Obviously there are some aspects where the training has to be based on a specific board. In order to give you a perspective and a sense of as many boards and architectures as possible, we are providing a prepared board emulation software. So some hardware-related development and debugging is prepared in universal fashion, in spite of the problems with hardware suppliers.

Learn by practising

Practical exercises are constructed so that they are not like 'un-comment the following line' ones. Instead, instructions indicate precisely the goal you are supposed to achieve. You have to revisit the lecture, sometimes ask the trainer, and think about the ways of achieving the objective yourself. And this means learning by practice! Our proposition of problem solving is always attached to materials.

What will you gain

We believe that an increasing need to deliver products quickly and cost-effectively while still providing a rich human-centered design are critical for contemporary embedded devices in a wide range of application areas which include: medical, industrial control, and consumer-electronic devices. Our trainings provide you, your development team, and your customers with the portfolio of ready-made, experience-based solutions. You gain the ability to develop and manufacture complex embedded Linux hardware and software solutions in a fraction of the time and cost of traditional embedded and real-time os'es development.

Evaluation reports

We provide our evaluation forms or, upon request, your organization's forms can be used instead. If you choose our evaluation, we will provide you a detailed report up to one week after the completed training.

Development board

Each lecture in our course is followed by a practical hands-on exercises, representing about 50% of the whole course time. If possible (and beneficial to the learning process), Labs are performed on a real embedded board, on which you will progressively implement drivers in the Linux kernel.

The development board is a part of training materials. Participants keep the board after the training. This allows them to get back to exercises in their own time and experiment on their own. It is even possible to start a new project using the development board.

SoMLabs SOM and SBC

Utilized in most of our public training sessions.


Single Board Computer parameters:

Vast amount of available documentation, many variants of SoC and variety of SoMs makes this board a great platform to learn skills currently needed in on-going projects.

Virtual Development Board

Offered as a platform for on-site and remote trainings.

Allows participants to fully focus on a training subject. Removes all the hassle of hardware handling (power issues, PC compatibility issues, cables etc.).

Provided as a ready-to-use Docker container image (including build instructions).

Virtual development board is compatible with most of the boards available, including SoMLabs and RaspberryPi. It can be reconfigured on-the fly to test not only a different architecture (ARM, AARCH64, MIPS, RiscV or event x86), but also different amounts of memory, set of devices, number of CPU Cores.

For on-site training, many more hardware platforms can be used in order to fulfill the needs of the team. Including, and not limited to: i.MX8, i.MX6, ST, TI, Wandboard, Compulab, PHYTEC, TQ, BeagleBone Black, SBC8600, Atmel SAMA5-Xplained, RaspbrryPi, Intel, AMD, NVIDIA and many more.

The pace of the training and fine-tuning the agenda

The pace of the training can be adapted to the specific needs of the group. The trainer may omit some sections if requested by the group.

Some topics can be further explored and more time can be spend on them on request.

The on-site training can be fine tuned to fulfill the group's specific needs. Do not hesitate to ask for specific subjects and/or problems to solve. The trainer has an extended experience in all the topics and can share his knowledge!

For participants convenience, the important parts of training - usually milestones that has to be completed for next exercises, are provided in a form of Docker containers (including the full build documentation).


Container can be executed and immediately used on participant's machine, or even in a cloud.


All aspects of Embedded Linux development are included and described thoroughly.

Embedded Linux Technologies

Our trainings cover various methods of debugging (code errors, memory leaks, race conditions and more) while developing kernel as well as user-space code. We focus on open-source solutions (GDB and its frontend).

During training, we will be using standard UNIX text editor as our development environment. Eclipse QT Creator and VSCode will be used for larger projects.

Remote trainings

Some of our trainings are organized as a remote sessions (Google Meets or similar platform).

Remote training session can be organized as a on-demand training for your team!

Usually we have more dates available fot remote trainings than for stationary ones.

Moreover, the remote training can be split into multiple one-day sessions eg. every week, or even during weekend.

Frequently Asked Questions

Q: What is a public training session?

A: Public training session is, quite simply, a course where places ('seats') are open to individuals.

Events are scheduled at training centers in given locations. We provide all training facilities.

We do not provide an accommodation, but we can send you our recommendations regarding various hotel price tags.

If your organization needs flexible timeline and terms, we offer group registration and on-site trainings.

Q: Do I have to pay for the training in advance?

A: No, we just need a formal commitment from you (a purchase order), no advance payment is required.

Q: The session is in just few days, is it too late to register?

A: No, it is not too late. Your commitment can be processed and confirmed very quickly, provided that there are free seats. However, we may ask the participant to bring his/her own laptop for the session, as we may not be able to rent one on time.

Q: How many participants are there in a session?

A: For best quality of training, we try to minimize number of participants in one session. Maximum 12 persons (laptops), typical: 4-8.

Q: What time do the sessions start?

A: Sessions typically start at 9 A.M. and we will keep you busy until 5 P.M. Last hour is usually devoted to lighter topics, Q&A session, and solving individual problems. Agenda ensures that most important topics are covered by 3 p.m. of the last day. We provide you with coffee breaks and dinner during the seminar day.

Q: Will I get lost during the training if I am not an expert in Linux?

A: No. Our courses require basic skills in the UNIX/Linux environment (command line). Some self-training with our Linux introduction slides and video will definitely make you more efficient.

Q: What is a time proportion of lecture to exercises?

A: Every topic is supported with lots of exercises. Most of the programming exercises rely on finding information, debugging problem, discovering, and coding a solution. Boring parts of coding are already typed in (as a clean and commented code snippets), so your energy is spent only on most important parts. We believe that step-by-step exercises are essential part of our training, so typical ratio is about 50% of time spent on lecture and 50% on exercises.

All code snippets are covered by GPL code, so you can use everything, from simple module stubs, to advanced Real-Time application in your own projects.

Q: What is the language of the classes?

A: Materials, exercises and lectures are provided in English. Polish is also available on demand.

Q: Do I get a certificate?

After the training you will receive Certificate of completion.

Your certificate can be added to your LinkedIn profile.


1. Scan QR code printed on your certificate

It encodes validation service link. You will be able to verify authenticity of your certificate.

Certificate validation

2. Certificate validation

Unique ID allows validation.

We do not gather any personal information.

LinkedIn add to profile

3. Add certificate to your LinkedIn profile

You have to enter data manually. LinkedIn does not allow auto-filling.

All the information will be found on our site.

LinkedIn profile

4. Certificate will appear in your LinkedIn profile

Validation link will also be shown.

Modular Training

The Modular training gives you an opportunity to create a seminar which will meet your expectations and fulfil the needs.

You can compile any topic which appears in our standard courses or ask for completely different ones. We will help you to compose a set of subjects which best suit your needs.

Various customizations can be made:

Do not hesitate to: contact us