S0E0: The Project of My Life.

Introduction
In my previous post (the introduction to the Dyno16 project), I mentioned the most important — though not all — projects in my life. I also promised to describe the third one. So, welcome to the 2Tecu series.
Project origins
This project didn’t start as a simple idea that randomly appeared in my head. The concept has been with me since my teenage years. Over time, it evolved significantly — mainly as my knowledge and engineering experience grew. Back then, I struggled with choosing the right tools and even understanding how to use them properly. The actual development has been going on for almost three years (with breaks), and there is still a lot of work ahead.
This project is… crazy.
The level of complexity is enormous and difficult to describe. Unlike my previous projects, which were purely software-based, this one covers a full range of engineering areas — from software development, through 3D modeling, to electronic circuit design.
Main goal
The origins don’t fully explain the goal of the project, so let me clarify it here. The main idea is to convert an old motorcycle engine control system into a fully ECU-controlled setup.
In practice, this means:
- replacing the carburetor with fuel injection,
- replacing mechanical ignition timing with ECU-controlled ignition timing,
- introducing dynamic (variable) control characteristics.
It may sound simple — but honestly, it’s not. Especially when you start considering how many systems and dependencies are involved.
Firmware aspect
Most of my programming experience comes from high-level software engineering. With this project, I’ve been diving much deeper into low-level programming. I wasn’t starting from zero — my first programming language was C++, and I had some experience with Arduino projects. But that was just the beginning. In this project, my environment feels like a sandbox where my best friends are: interrupts, RTOS, binary operations, and all the other low-level concepts.
Software aspect
Firmware is the brain of the ECU, but it still needs a human-readable interface. An application is required to communicate with the ECU, allowing configuration and management of key elements such as fuel maps and ignition maps. Compared to the firmware side, this part is more familiar to me. It aligns much more with my main software engineering experience. Low-level work is rare here and high-level languages offer a huge ecosystem of tools and libraries (for example, USB serial communication handling).
Electronics aspect
The previous areas were challenging, but at least familiar. This one is a different story. I’m not very experienced in electronic circuit design. My knowledge is limited, and I’m fully aware of it. I’ve made a few attempts (I plan to describe them in future posts), but I still feel like I’m figuring things out from scratch.
Modeling aspect
This is a custom project — but “custom” doesn’t mean everything is built from scratch. That would be unrealistic without unlimited time and money. To keep the project manageable, I decided to use some ready-made components from other motorcycles (for example, throttle bodies or crankshaft sensors). The problem is that almost nothing fits perfectly. One of my key rules is to make modifications cleanly and professionally. Because of that, I decided to buy a 3D printer and design my own mounts, cases, and other required parts. 3D printing itself has become another interesting chapter in my life — definitely something worth a separate post.
Outro
I’m really excited that I started this blog and finally have a place to share this kind of work. I hope I’ll have enough consistency to keep writing, sharing updates and documenting the current state of the project. If this introduction feels a bit chaotic — don’t worry. I’ll go deeper into each part of the project in future posts.