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 more people switching to C++. Embedded developers are often biased and still think you can’t use C++ without dynamic...
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
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
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
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
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
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
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
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
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
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
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 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
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
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
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...
S