Frank Buss
Verified Expert in Engineering
Software Developer
Cologne, North Rhine-Westphalia, Germany
Toptal member since June 24, 2022
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
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
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
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++.
Java Programmer
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.
Microcontroller Developer
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.
Microcontroller Developer (PIC12F683)
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.
Programmer
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.
Developer
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.
Programmer
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.
Hardware and Software Developer
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.
Developer
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.
Back-end Programmer
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.
Programmer
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.
Programmer
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.
Experience
Qt, Linux Driver and FPGA Development for Professional Audio Broadcast Embedded System Equipment
https://www.rtw.com• 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
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/FrankBussRackPluginSkills
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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring