Federico Martiniau

Software Engineer based in San Carlos de Bariloche, Argentina.
Specializing in embedded systems, satellite EGSE, and scientific software development.

Federico Martiniau

About me

Based in San Carlos de Bariloche, Argentina. Born November 1981.

I've been working in computing since university, moving from IT support and quality testing into analysis, design, and software development. I like challenges and try to improve day by day. I'm patient and find real satisfaction in explaining things clearly — I've taught everyone from 4-year-olds to adults in their 60s.

On the personal side, I've been in a relationship since 2013. Our daughter Zoe joined the family in 2019.

Skills

Python
Git
HTML
CSS
JavaScript
GitLab
Docker
Conda
Grafana
LabVIEW
Influx
MySQL
C++
SQL
PHP

Jobs

INVAP S.A.U.

Software Engineer Mar 2013 – present
  • Python, LabVIEW, and C++ application development and maintenance (QT / Eclipse)
  • Grafana dashboard UI design
  • PHP scripts for large-volume data processing
  • Performance optimization in high-volume data management and storage systems

Instituto Superior Capacitas

Teacher Mar 2017 – Mar 2019
  • Professor: Networks and Computers, Databases, Software Engineering

Maker

Customer Support / Technical Reference Oct 2010 – Mar 2013
  • After Sales: technical reference, resolution of complex and critical incidents
  • Analysis, design, and development of internal tooling to improve department efficiency
  • Test planning, execution, and auditing for hardware and software products
  • Coordination of DAC Maps development cycle and client infrastructure deployments
  • Internal and external product training nationwide

Colegio San Esteban

Computer Laboratory Manager 2005 – 2007
  • Computer repair and lab maintenance
  • Teaching support for preschool through 7th grade
  • Training and advice to administrative and teaching staff

Universidad FASTA

Computer Laboratory Manager 2003 – 2005
  • Student instruction and training in lab use
  • Computer repair, assembly, and network configuration

Education

University

Computer Engineer
Universidad FASTA
IT Analyst
Universidad FASTA

Secondary

Bachelor
Escuela No. 1 OF 3 Bernardino Rivadavia

Courses & Conferences

  • LabVIEW Core 1 & 2 NI
  • Python for Engineering and Physics 45h · Balseiro Institute · 2017
  • Executive UX Clinic 20h · Univ. de Palermo · 2016
  • Software Quality Course 90h · FASTA · 2010
  • Real Time Systems Course 90h · FASTA · 2010
  • 38th Argentine Computer Science Conference Mar del Plata · 2009
  • SEPG Latin America SEI · Buenos Aires · 2008
  • Knowledge Management FASTA · 2008
  • Systems of Systems, SOA and Software as a Service FASTA · 2008

My Work

In this section I describe some software product development projects in which I was part of the development team or was responsible for that development.
Throughout my career I participated in multiple projects, mostly related to the development of EGSEs used in the construction of satellites. And on some other occasions I participated in other projects for the development of software products used in the nuclear area or in the radar area of INVAP S.E.
In this section I leave a variety of different types of products in which I participated.

Power Board Handler

graph LR SCT["System Control Testing"] ---|"JsonRPC / ZMQ"| PMDU["PMDU — Python"] PMDU ---|"VISA"| EL["Electronic Load"] PMDU ---|"VISA"| ES["Electronic Source"] PMDU ---|"VISA"| MF["Mainframe SAS"] PMDU ---|"ZMQ"| BH["Board Handler — LabVIEW"] BH ---|"PXI"| D["NI PXI-6528"] BH ---|"PXI"| AO["NI PXI-4322"] BH ---|"PXI"| AI["NI PXI-4300"] BH ---|"PXI"| RL["Pickering 40-151-002"] EL --- HW["Spacecraft components under test"] ES --- HW MF --- HW D --- HW AO --- HW AI --- HW RL --- HW

Description

This software is used to test satellite components and boards during the construction phase. The software is divided into two components.
A component (Board Handler) developed in LabVIEW is responsible for the command and control of boards connected to a PXI bus (digital I/O, analog inputs, analog outputs, relays).
The other component (PMDU) developed in Python is the master, responsible for providing a command server and publishing telemetry of all SW and systems involved. It also commands and controls: Electronic Loads, Electronic Sources, Mainframe SAS, and the LabVIEW module.

My participation

Full autonomy — requirements analysis and definition, design, development, and user support. This product was originally required for one satellite project, but its design allowed it to be adapted and used in 2 more satellite projects.

Skills required

  • Requirements identification and capture
  • Software design and time estimation
  • Analysis of third-party products
  • Risk management and client negotiation
  • Software development and documentation
  • User support and training

Technologies

  • Python
  • LabVIEW

Environment

  • Docker
  • Conda
  • Windows 7
  • Jenkins (CI)
  • Git

Battery Simulator

graph LR SCT["System Control Testing"] ---|"JsonRPC / ZMQ"| BS["BATSim — Python"] BS ---|"VISA"| EL["Electronic Load"] BS ---|"VISA"| ES["Electronic Source"] BS ---|"Serial RS422"| BPB["BPB"] EL --- HW["Spacecraft components under test"] ES --- HW BPB --- HW

Description

An EGSE used for tests and operations related to satellite batteries — mainly controlling energy charging and discharge processes from the satellite.
The most critical deployment was during the satellite launch, where the software ran under the launch pad, operated remotely, controlling that energy reached the satellite and kept the batteries charged. Any failure would have caused delays in the rocket launch.
I had full ownership of the requirements survey, design, development, documentation and user support.

Technologies

  • Python
  • VISA
  • CSPI
  • GPIB
  • Serial communication
  • ZMQ
  • JSONRPC

Environment

  • CentOS
  • Conda
  • Git

Command and Telemetry Bridge

graph LR SCT["System Control Testing"] ---|"JsonRPC"| CTU["CTU — Python"] CTU ---|"ZMQ"| SVF["Software Validation Facility"] CTU ---|"TC/TM-Frames - TCP/IP"| CRT["Cortex CRT"] CRT --- SC["Spacecraft"] CRT --- SS["Spacecraft Simulator"]

Description

The CTU (Command and Telemetry Unit) is responsible for sending telecommand frames (TC-Frames) and receiving telemetry frames (TM-Frames). It serves as the interface between the command and control system and the hardware responsible for issuing and receiving communications via Cortex CRT.
TM-Frames arriving from the satellite through Cortex CRT are received by the CTU, which unpacks and processes them so the user can view the telemetry.
The CTU is a critical product used throughout the entire satellite lifecycle — from construction through the full mission flight.
Full ownership of requirements gathering, design and development.

Technologies

  • Python
  • Cortex CRT
  • ZMQ
  • JSONRPC
  • Socket

Environment

  • Docker
  • Conda
  • Ubuntu
  • GitLab CI
  • Git

Solar Array Simulator

graph LR SCT["System Control Testing"] ---|"JsonRPC / ZMQ"| SAS["SAS — Python"] SAS ---|"VISA"| SASS["Solar Array Simulator System"] SAS ---|"VISA"| SIM["Solar Array Simulators"] SASS ---|"VISA"| SIM SIM --- SPU["Spacecraft Power Unit"]

Description (v1)

Developed in a two-person team — I built the frontend, my partner built the backend. The product commands and controls a Solar Matrix Simulator system and Modular Solar Array Simulators.
Different scenarios can be simulated with varying quantities of solar panels and their configurations, including spacecraft movement with changes in the angle of incidence of the sun.

Technologies (v1)

  • C++
  • QT5
  • Ajax
  • CSS
  • HTML
  • Javascript
  • jQuery

Environment (v1)

  • Windows 7
  • SVN
  • Jenkins (CI)
graph LR WB["Web Browser"] ---|"Ajax"| SAS2["SAS"] SAS2 ---|"VISA"| SASS2["Solar Array Simulator System"] SASS2 ---|"VISA"| SIM2["Solar Array Simulators"] SIM2 --- SPU2["Spacecraft Power Unit"]

Description (v2 — in development)

A 6-person team project. I'm involved in requirements gathering, product design and development.
Controls a Solar Array Simulator System. Using scripts, different energy generation scenarios can be simulated based on the spacecraft's solar panel angle.

Technologies (v2)

  • Python
  • VISA
  • CSPI
  • JSONRPC
  • ZMQ

Environment (v2)

  • Docker
  • Conda
  • Ubuntu
  • GitLab CI
  • Git

Panel Simulator

graph LR SPA["SPA"] ---|"VISA"| EL["Electronic Load"] SPA ---|"VISA"| ES["Electronic Source"] EL --- HW["Spacecraft components under test"] ES --- HW

Description

Simulates the consumption of half a radar panel of the SAOCOM satellite antenna through commands and control of electronic sources and loads. Full ownership of requirements survey, design, documentation and development.

Technologies

  • Visual Basic 6.0
  • VISA

Environment

  • Windows XP
  • SVN

PIC Writer

graph LR EM["EIMI MALEN"] -->|"firmware"| PW["PIC Writer"] PW -->|"ICSP"| PIC["PIC Microcontroller"]

Description

C++ application used to load parameters and configurations to be sent to a PIC Microcontroller recording board used in the manufacture of radar components.

Technologies

  • C++

Environment

  • Windows XP
  • SVN

Intelligent Gas Effluent Monitor

graph LR AEMI["AEMI"] ---|"EPP"| GD["GAS Detector"] AEMI ---|"EPP"| EV["Electro Valves"] GD --- NR["Nuclear reactor gas pipes circuit"] EV --- NR

Description

Developed in a two-person team — I built the frontend, my partner built the backend.
Used in a specific ventilation piping circuit in a nuclear power plant. Its objective is to record radiation readings within the plumbing circuit, activate solenoid valves to change routes within the piping circuits, and make measurements of different types of radioactive elements to maintain records that must be presented to international control organizations.
Readings are stored in a database.

Technologies

  • C++
  • MySQL

Environment

  • QT5
  • Windows 7
  • MySQL Workbench
  • SVN

Remote Server Status

graph LR WB["Web Browser"] ---|"HTTP"| SCA["SCA"] SDC["Server Data Collector"] -->|"TCP/IP"| SCA

Description

Designed and developed for a company whose clients ran their system on servers at their own facilities. I designed and developed a C++ daemon that ran on each client computer and collected: start date and time, hard drive space, hardware component temperatures, RAM memory usage, and database status information.
Each daemon connected daily to a central MS-SQL server at headquarters. I also designed and developed a PHP website for viewing statistics and alerts based on the status of remote equipment.

Technologies

  • C++
  • PHP
  • JavaScript
  • CSS
  • MS-SQL Server 2008

Environment

  • Windows XP

Radar Rotary Joint Test Bench

graph LR ARD["Arduino"] -->|"Step / Dir"| DRV["Stepper Driver"] DRV -->|"Phase current"| MOT["NEMA Stepper Motor"] MOT -->|"Mechanical drive"| RJ["Rotary Joint"]

Description

A hardware test bench designed to validate the mechanical behavior of rotary joints used in meteorological radar antennas. The rotary joint is mounted on the shaft of a NEMA stepper motor, which drives it at a nominal speed of 6 RPM to replicate real operating conditions.
An Arduino microcontroller manages all motor control logic: it generates step and direction signals to a stepper driver, enabling operators to adjust rotation speed, reverse direction, and issue start/stop commands. Speed adjustment and command input are handled directly from the Arduino.

My participation

Full design and development: embedded software, hardware assembly, and integration with the rotary joint under test.

Technologies

  • C++ (Arduino)
  • NEMA stepper motor
  • Stepper driver

Environment

  • Arduino IDE

Radar Antenna Module Diagnostic System

graph LR WB["Web Browser"] ---|"HTTP / REST"| FLASK["Flask App — Arty Z7"] FLASK ---|"UART"| SYNTH["SynthNV PRO (RF)"] FLASK -->|"UART"| DISP["4×20 Display"] KBD["4×4 Keyboard"] -->|"UART"| FLASK FLASK ---|"REST"| DMN["System Daemons"]

Description

A Python/Flask web application for configuring and diagnosing the emission/reception modules of a radar antenna. The system runs on an Arty Z7 board (Zynq-7000 SoC), which acts as the central controller and hosts all peripheral connections.
A Windfreak SynthNV PRO board handles RF signal generation and reception, controlled via UART commands. A 4-line × 20-character display and a 4×4 keyboard provide on-device interaction, both connected via UART.
Configuration and diagnostic actions triggered from the web interface are dispatched as REST calls to the Flask backend, which coordinates with other system daemons running on the platform.

Technologies

  • Python
  • Flask
  • UART
  • REST
  • SynthNV PRO
  • Arty Z7 (Zynq-7000)

Environment

  • Linux (Zynq PS)
  • Git

Exploring with Code

This section showcases personal projects, experiments and libraries I've built outside of professional work — things I explore out of curiosity or to learn new tools.

Content coming soon.

My Libraries

Coming soon.

Functional Products

Coming soon.

Web UI Products

Coming soon.

Examples

Coming soon.

Contact me

fedemartiniau at gmail dot com

LinkedIn linkedin.com/in/fedemartiniau