Modern C++ in embedded development: strong types and user-defined literals

I started using Modern C++ in embedded projects two years ago. Even though C is a defacto standard language in embedded development, I see more and...

DDR Signals and FPGA

What is DDR signal/bus In electronics, many synchronous buses use clock line and one and multiple data lines for reliable data transfer. The clock...

Modern C++ in embedded development: using C libraries

Language linkage C++ programs can use C code. The linkage between C++ and software modules written in other programming languages is called language...

Experience with the design of a high-speed interface

As a beginner in the design of electronic devices, one usually works on designs that are less complex. These are usually just simple, 1 or 2-layer...

PCB Design and Development Process

Today, the development process is unimaginable without the appropriate software tools. A few years ago, these tools were much more difficult to...

Modern C++ in embedded development: constexpr

What is constexpr?  Cppreference defines constexpr specifier as follows: “The constexpr specifier declares that it is possible to evaluate the value...

In-house PCB manufacturing

Even as a kid, I’ve shown quite a bit of interest in the matters of technology, and above all, electronics. I’ve been blessed with the good fortune...

Modern C++ in embedded development

C - the only right tool for the job It is a common opinion amongst embedded developers that the only right tool for the job is C. Being an embedded...

Neoden4 PnP experience

Due to the increase in the demand for the production of larger quantities of electronic hardware we had to consider expanding our capacities to the...

Getting started with Zephyr OS using CMake

The goal of this tutorial is to lay out a basic folder structure of Zephyr OS application project, introduce you to a build system based on CMake...
DDR Signals and FPGA

DDR Signals and FPGA

What is DDR signal/bus In electronics, many synchronous buses use clock line and one and multiple data lines for reliable data transfer. The clock line is dictating the timing and period when the data lines should be sampled on the receiving end while the data lines...

Modern C++ in embedded development: using C libraries

Modern C++ in embedded development: using C libraries

Language linkage C++ programs can use C code. The linkage between C++ and software modules written in other programming languages is called language linkage.  extern string-literal {declaration} Standard guarantees only two language linkages: C++ and C. C++ is the...

Experience with the design of a high-speed interface

Experience with the design of a high-speed interface

As a beginner in the design of electronic devices, one usually works on designs that are less complex. These are usually just simple, 1 or 2-layer boards. Not to say that these can’t be complex and used in real devices, but things do get a lot more complicated when...

PCB Design and Development Process

PCB Design and Development Process

Today, the development process is unimaginable without the appropriate software tools. A few years ago, these tools were much more difficult to acquire. We will mainly focus on design considerations in the development of electronic devices, more precisely in the...

Modern C++ in embedded development: constexpr

Modern C++ in embedded development: constexpr

What is constexpr?  Cppreference defines constexpr specifier as follows: “The constexpr specifier declares that it is possible to evaluate the value of the function or variable at compile time. Such variables and functions can then be used where only compile-time...

In-house PCB manufacturing

In-house PCB manufacturing

Even as a kid, I’ve shown quite a bit of interest in the matters of technology, and above all, electronics. I’ve been blessed with the good fortune of having an engineer for a parent. My dad was an engineer experienced in the fields of electronic and control...

Modern C++ in embedded development

Modern C++ in embedded development

C - the only right tool for the job It is a common opinion amongst embedded developers that the only right tool for the job is C. Being an embedded developer you spend a lot of time reading device datasheets. Datasheets describe peripherals in terms of registers that...

Neoden4 PnP experience

Neoden4 PnP experience

Due to the increase in the demand for the production of larger quantities of electronic hardware we had to consider expanding our capacities to the realm of manufacturing. However, this demand was yet to become high enough to justify equipment for mass production. For...

Getting started with Zephyr OS using CMake

Getting started with Zephyr OS using CMake

The goal of this tutorial is to lay out a basic folder structure of Zephyr OS application project, introduce you to a build system based on CMake and run your first "Hello world" using Zephyr OS. Why Zephyr? For the better part of my Embedded Developer career I've...

Lesson 4 – Grouding in PCB design

Lesson 4 – Grouding in PCB design

Today we are going to discuss one of the most important topics in PCB design - GROUNDING While the basic concept of grounding is quite simple, implementation is very sophisticated.   For linear system, ground is the reference against which we base our signals....

Lesson 3 – Resistors in PCB design

Lesson 3 – Resistors in PCB design

In our third iteration of Semblie's school of electronics we are going to discuss about a rather simple component that most of us is quite familiar with - the Resistor. As simple as a Resistor can get, using them in PCB design is a different story. A resistor is a...

Reverse engineering GERBER files

Reverse engineering GERBER files

Reverse engineering Gerber files into PCB layout file   Gerbers? Gerber files are a file format used in the PCB industry for manufacturing of printed circuit boards. It is a standardized file format, no matter which CAD system is used the files will have the same...

Lesson 2 – GERBER files and Logo

Lesson 2 – GERBER files and Logo

Welcome to Semblie's second lesson on electronics and Printed Circuit Boards. Today we are going to show you how to generate gerber and drill files for PCB manufacturing. Here we have a complete PCB for a reflow oven. To generate our files for our project. In the...

How to build a hardware product from an idea

How to build a hardware product from an idea

Get your idea to the market FAST All great products emerge from ideas that solve real-world problems. What problems does your idea solve? What are the benefits for the consumers? If you have answers to these questions, you're almost halfway there. Great. Now, how can...

Lesson 1 – Introduction to ESP32

Lesson 1 – Introduction to ESP32

This article is part of the series of articles called Semblie's little school of electronics done by our apprentice-intern. This series of articles is intended for beginner electric engineering enthusiasts. We hope this will help you lay some foundations in your...

Semblie is a hardware and software development company based in Europe. We believe that great products emerge from ideas that solve real-world problems.