Frank Buss, Developer in Cologne, North Rhine-Westphalia, Germany
Frank is available for hire
Hire Frank

Frank Buss

Verified Expert  in Engineering

Software Developer

Cologne, North Rhine-Westphalia, Germany

Toptal member since June 24, 2022

Bio

Frank is a professional programmer and electronic circuits designer with industry experience since 1996. He contributed to many projects, including developing back-end software in Java, FPGA programming in VHDL, and C++ programming for desktop applications. Frank also developed circuits for IoT and medical devices and implemented the firmware.

Portfolio

Self-employed
C, C++, Programming, Git, KiCad, Circuit Design, Circuit Board Design...
Self-employed
Java, Eclipse, MySQL, Programming, SQL, Cron
Power Adhesives Ltd
Assembler, Software, Microcontrollers, Microcontroller Programming

Experience

  • Linux - 20 years
  • Programming - 20 years
  • C++ - 20 years
  • Java - 20 years
  • Circuit Design - 10 years
  • Qt - 10 years
  • VHDL - 8 years
  • KiCad - 3 years

Availability

Part-time

Preferred Environment

Qt Creator, KiCad, Windows, Linux, Visual Studio Code (VS Code), Eclipse

The most amazing...

...product I've developed is the Kerberos cartridge, including the circuit board and Qt C++ program.

Work Experience

Hardware and Firmware Developer

2015 - PRESENT
Self-employed
  • Developed various circuits for industrial and commercial applications.
  • Helped with the manufacturing process, testing, and developing PC software for the circuits.
  • Developed the firmware for the circuits in C and C++.
Technologies: C, C++, Programming, Git, KiCad, Circuit Design, Circuit Board Design, Microcontrollers, Microcontroller Programming, GitHub

Java Programmer

2003 - PRESENT
Self-employed
  • Implemented accountancy, document management, and other customer-specific tasks in the software.
  • Developed an in-house application in Java with client and server architecture and a desktop application with Swing.
  • Installed and managed the Debian Linux back-end server.
Technologies: Java, Eclipse, MySQL, Programming, SQL, Cron

Microcontroller Developer

2023 - 2023
Power Adhesives Ltd
  • Analyzed the existing assembler software for a PIC microcontroller.
  • Implemented the required changes for temperature control.
  • Tested and documented the changes and recorded a temperature profile.
Technologies: Assembler, Software, Microcontrollers, Microcontroller Programming

Microcontroller Developer (PIC12F683)

2022 - 2022
Power Adhesives Ltd
  • Analyzed the assembler code for the project and reproduced the bug.
  • Proposed a solution for the problem and implemented and tested it.
  • Wrote a detailed manual on how to flash and test the existing product for testing.
Technologies: Assembler, C, Software, Microcontrollers, Microcontroller Programming

Programmer

2021 - 2021
Self-employed
  • Implemented a scanner for the Ethereum blockchain, which communicated over RPC with a Geth full node to analyze USDT transactions.
  • Learned the web3 interface of Rust to interact with the Ethereum blockchain.
  • Learned details about how smart contract transactions are stored in the blockchain.
Technologies: Rust, Ethereum, Blockchain, RPC, Web3.js, Git

Developer

2015 - 2021
ESTEC
  • Researched and developed a concept to calculate the magnetic flux in 3D for a set of wires with given currents.
  • Applied the magnetic field calculation with CUDA acceleration.
  • Implemented a C++ program with Qt to read a model of the wire configuration and interactively visualize the magnetic field with OpenGL.
Technologies: Qt, Qt 5, C++, Windows, NVIDIA CUDA, Physics, OpenGL, Qt Creator, Git

Programmer

2019 - 2019
Self-employed
  • Designed and implemented a VCV Rack plugin, which is now part of the official VCV Rack store. VCV Rack is a Eurorack simulator for music production.
  • Designed the interface with Inkscape with placeholders for the button elements, for which I then wrote a Python script to use in the plugin.
  • Implemented a formula library in C++ for real-time parsing and evaluating a formula string for control and audio voltage output.
Technologies: C++, Python, Audio, Realtime, Graphical User Interface (GUI), Inkscape

Hardware and Software Developer

2014 - 2016
Self-employed
  • Developed the circuit board for a MIDI interface of Commodore 64.
  • Wrote the VHDL program for the CPLD on the circuit board.
  • Developed the C and assembler program for Commodore 64.
  • Wrote a Qt program for Linux, Windows, and Mac in C++ for transferring data to and from the device and configuring it.
Technologies: VHDL, C, C++, Qt, Assembler, Circuit Design, Programming

Developer

2004 - 2014
RTW
  • Introduced the CVS source code versioning system to a development department and taught the employees about it.
  • Planned and implemented VHDL code for the FPGA with Altera Quartus to route 256 input channels to 256 in real-time (single sample delay) with 24 bit / 96 kHz, in parallel with other tasks.
  • Implemented a multithreaded GUI application on an embedded Linux system with Qt and C++ to control and configure the device and display real-time audio measurements.
  • Wrote drivers for Linux devices to communicate with FPGA and custom programs on DSP via high-speed serial and parallel interfaces.
  • Ported the CVS source code system to subversion and trained the employees.
  • Implemented the build and release management for the embedded system firmware.
  • Designed and implemented a licensing system for unlocking paid features with a public and private key cryptographic system.
Technologies: VHDL, C++, Qt, Linux Kernel Drivers, Linux, Programming, Linux Kernel, GNU Debugger (GDB), CVS, Subversion (SVN), Cryptography, Altera Quartus, Qt 5, Multithreading

Back-end Programmer

2003 - 2008
Supreme NewMedia GmbH
  • Designed and implemented the Java Servlet-based back end for the Supreme Auction templates.
  • Contributed to the user management, PDF file generation, HTML template system, and API for the JavaScript front end.
  • Designed the offline version of the template-based Auction.
  • Set up and configured the Linux server, Apache Tomcat, and the MySQL database.
Technologies: Java, Apache Tomcat, Eclipse, Programming, SQL, Cron, REST APIs, MySQL

Programmer

2001 - 2002
DATA BECKER GmbH & Co. KG / Powerflasher
  • Implemented the desktop application product "Web Fresh Pro," where users could customize Macromedia Flash templates for their websites.
  • Analyzed the Flash format to implement a template system, which could be used without the Macromedia Flash authoring tool.
  • Integrated the Flash Com component in an MFC application for the template preview function.
  • Implemented the customization GUI and export functions for the website files.
Technologies: Microsoft Foundation Class (MFC) Library, Microsoft Foundation Classes (MFC), C++, Flash, Windows, Desktop App Development, Desktop App Design, Reverse Engineering, COM

Programmer

1997 - 1999
COSA GmbH/Baan
  • Maintained a C++ application for displaying workflow tasks and Petri nets for a workflow management system.
  • Implemented a new Java version with a web browser integration.
  • Maintained the build process for the Windows and Unix versions of the software.
Technologies: C++, Workflow, Business to Business (B2B), BPM, Business Processes, Business Process Flow (BPF), Java, Swing, CVS

Qt, Linux Driver and FPGA Development for Professional Audio Broadcast Embedded System Equipment

https://www.rtw.com
TASKS ACCOMPLISHED:
• Planned and implemented VHDL code for the FPGA to route 256 input channels to 256 in real-time (single sample delay) with 24 bit /96 kHz, in parallel with other tasks.
• Implemented a GUI application on an embedded Linux system with Qt and C++ to control and configure the device and display real-time audio measurements.
• Wrote the drivers for Linux devices to communicate with FPGA and custom programs on DSP via high-speed serial and parallel interfaces.
• Implemented the build and release management for the embedded system firmware.
• Designed and implemented a licensing system for unlocking paid features with a public/private key cryptographic system.
• Ported the CVS source code system to subversion and trained the employees.

Programmer Training Java Book

As the main author, I wrote the Java learning book called Programmer Training Java with another author.

The book introduces the basics of Java step-by-step, explains how to install JDK and create simple applets, and presents many examples, such as games, graphics programs, or modern information systems. It also contains advanced techniques, such as threads or the AWT.

The book was translated into multiple languages for the European market, its ISBN is 9783815813034, and it can be purchased at the link below.

• https://www.amazon.de/Programmier-Training-Java-Frank-Buß/dp/3815813034/

VCV Rack Plugin for Using Formulas for Signal Generation

https://github.com/FrankBuss/FrankBussRackPlugin
A plugin written in C++ for VCV Rack is a platform-independent Eurorack emulator for Linux, Windows, and Mac. With it, a formula can be used to generate audio and control signals. The plugin is available for free from the official VCV Rack plugin site and is used to create patches and teach audio basics.

Libraries/APIs

OpenGL, REST APIs, AWT, Web3.js, Microsoft Foundation Class (MFC) Library, Microsoft Foundation Classes (MFC)

Tools

Altera Quartus, Qt Creator, KiCad, Apache Tomcat, GitHub, GNU Debugger (GDB), Inkscape, Flash, CVS, Git, Subversion (SVN), Cron

Languages

Java, C++, C, Embedded C, VHDL, Assembler, Python, Rust, Ruby, SQL

Frameworks

Qt, Realtime, Swing, Qt 5

Paradigms

Desktop App Development

Platforms

Linux, Eclipse, Windows, NVIDIA CUDA, ARM Linux, Visual Studio Code (VS Code), Ethereum, Blockchain

Storage

MySQL

Other

Linux Kernel Drivers, Circuit Design, Programming, Audio, Desktop App Design, Workflow, Circuit Board Design, Microcontrollers, Microcontroller Programming, Physics, Multithreading, ARM, Education, Linux Kernel, Graphical User Interface (GUI), RPC, Reverse Engineering, COM, Business to Business (B2B), BPM, Business Processes, Business Process Flow (BPF), Cryptography, Software

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring