Rafael Martins

Software Engineer

About me

My name is Rafael Goncalves Martins, I'm a Brazilian Software Engineer, based in Ingolstadt, Germany. I currently work on flight simulation tooling for Airbus, in the Manching site, which is part of the Defence division.

My main interests are: C/C++, Golang, Flight Simulation, Control Systems, Electronics and Microcontrollers (AVR, RP2, PIC and ESP families).


I spend part of my free time working on Open Source projects. However, as I don't have a lot of free time these days, I'm not very active in communities, and my personal projects are mostly driven towards my personal needs:

  • blogc — A blog compiler. I use it to develop most of my websites, including this one.
  • balde — A microframework for C based on GLib. It is a proof of concept of a modern web framework for the C Programming Language.
  • myACARS — A personal Virtual Airline using smartCARS. I developed it to be able to keep a public logbook of my flight simulator flights.
  • usbfs — A bare minimum pure-Go implementation of USB control and bulk transfers for Linux.

I also work on a few hardware-related Open Source projects, mostly tooling and libraries for the AVR family of microcontrollers:

  • eurorack — Designing and building an Eurorack synthesizer from scratch at home. This project is under heavy development.
  • usb-u2 — A bare minimum USB stack for atmega{8,16,32}u2.
  • pico-synth — A Raspberry Pi Pico based digital synthesizer, with MIDI support. This project is still under development.
  • dwtk — A debugWIRE toolkit for AVR 8 bit microcontrollers. It supports flashing, erasing and dumping firmware, and includes a GDB server for debugging. The microcontroller is connected to the workstation using a cheap USB-To-Serial adapter (e.g. FT232), or a custom In-Circuit emulator, instead of the expensive ATMEL-ICE device. This project is still under development.
  • attiny-i2c-target — An implementation of I2C target for Attiny microcontrollers, using USI. I developed it to be able to design project's peripherals as I2C-driven devices, to make it easier to integrate in projects that already have an I2C bus implemented.
  • avr-i2c-initiator — An implementation of I2C bit-bang initiator for AVR microcontrollers.

Other projects and repositories can be found in my GitHub profile: @rafaelmartins.


You can find my contact information as a vCard QR code at the top of this page, or download the vCard file by clicking on the QR code. This page also includes JSON-LD-encoded content, which can be parsed by any compatible client.

Some links: GitHub | Twitter | Telegram


Since September 14, 2020, I accept encrypted messages and sign Open Source software releases with the following OpenPGP key: 0x47B8CCD75DBE6358

The public key should be available in most public key servers and can be also downloaded directly from this website, by clicking here: pgp-pubkey.txt

The key fingerprint is: 072E 1977 EB6B 44B9 4D75 AD0A 47B8 CCD7 5DBE 6358.