Bare metal applications: time-critical applications, with very intensive parallel use of peripherals (timers, PWM, AD converters, UART, CAN, etc.) and multilevel interrupts.
Embedded Linux systems: direct customization of the Linux Kernel (e.g., Debian) or using Yocto or Buildroot, Linux kernel drivers, Networking, VPNs, Firewalls.
Main Software languages: assembly, C, C++, Python, Visual Studio C/C++, LabVIEW.
GUI Tools: use of advanced GUI tools like: Qt6 and PyQt6, Qt Creator, Qt Designer.
Custom algorithms: custom encryption algorithms, CRCs, communication, DSP, PID, linear and no-linear custom control algorithms, fuzzy logic control, digital filtering.
Certified software: extensive experience in delivering certified software, e.g., using the SDLC (Software Development Life Cycle) V-Model.
Hardware design: Bare Metal and Embedded Linux systems, accurate measurement of very low voltage, current and time signals (nV, pA, ps), high-power systems (3,000V, 50,000A), ultra-low power consumption circuits, very miniaturized circuits (Chip On Board, Flip Chip bonding), custom DAQ systems, National Instruments DAQ systems, ….
FPGA design: e.g., using AMD FPGA (Vivado, Vitis), Lattice FPGA (Propel SDK and Builder, Radiant, Diamond), Verilog, VHDL, SoC (System-on-Chip), HLS (High-Level Synthesis), hardware accelerators, open sources solutions.
PCB Design: the first CAD we used to develop PCBs was P-CAD (later Altium) in the 80s, since then, over the years, we have also used many other CADs, like: OrCad, KiCad, etc.
2D and 3D Design: e.g., using CADs like 3D FreeCAD and AutoCAD.
Automation, energy and process control: custom linear and no-linear control algorithms, also managing a significant pure delay on the feedback (e.g., syngas production via pyrolysis), use of commercial and high-performance custom solutions.
Power Electronics: DC-DC and DC-AC converters, motor drivers (three phases, servo, BLDC, step, …), high power solutions (IGBTs, Thyristors, MOSFETs, Triacs) etc.
Industrial busses: Can Open, RS485, Modbus, Ethernet, RF wireless communication, custom algorithms, etc.
High volume products: extensive experience in developing and managing very high-volume products.
Debugging and Troubleshooting: very extensive experience, in performing effective activities of debugging and troubleshooting, on hardware and software solutions, with oscilloscope, digital analyzer, lab equipment, etc.