Element Green, Developer in Montrose, CO, United States
Element is available for hire
Hire Element

Element Green

Verified Expert  in Engineering

Embedded Systems Developer

Montrose, CO, United States

Toptal member since April 21, 2021

Bio

Element has over 18 years of software development experience, including Linux and embedded systems, as well as a wide range of other technical and creative skills: SQL, VHDL on FPGAs, schematic capture, PCB layout, website development, Django, 3D CAD, GUI development, Android development, and more. His strength lies in C and Python. Element is highly self-motivated, enjoys learning new tech, has exemplary communication skills, and prides himself on delivering quality work.

Portfolio

Anjuna - Main
Intel SGX, C, C++, Go, Rust, Python, Pytest, Docker, Kubernetes, Helm...
Kymorphia
D, GTK+, C, Audio, Music, XML, JSON
Spin (Tier Mobility) - Main
C++, Embedded C++, Linux, Real-time Operating System (RTOS), Raspberry Pi...

Experience

  • Linux - 18 years
  • C - 18 years
  • SQL - 18 years
  • ARM Embedded - 16 years
  • Python - 12 years
  • JSON - 8 years
  • VHDL - 6 years
  • Django - 6 years

Availability

Part-time

Preferred Environment

Linux, Python, D, C, GTK+, Audio, OpenGL, FPGA, Embedded Systems, Graphical User Interface (GUI)

The most amazing...

...project I've developed is a 1024 input by 128 output analog video router that is currently deployed by Los Angeles DOT.

Work Experience

Senior Software Developer

2022 - 2025
Anjuna - Main
  • Developed several confidential computing products running in Linux VMs and utilizing C, Go, and Rust. Confidential computing platforms included SGX, SEV, and AWS Nitro.
  • Utilized cloud platforms for API development, deployment, and testing, including GCP, Azure, and AWS.
  • I used Docker and Podman to create and deploy VM images.
  • Implemented Python test frameworks for Jenkins CI/CD pipelines.
  • Worked with a team of distributed developers in a highly agile environment for rapid development, testing, and releases.
  • Documented features and procedures for internal and customer-facing documentation.
  • Collaborated and worked with several tools, including Jira, Confluence, Bitbucket, Snyk, Antora, Helm, Terraform, and Vault.
Technologies: Intel SGX, C, C++, Go, Rust, Python, Pytest, Docker, Kubernetes, Helm, Terraform, Vault, OpenShift, SEV, Google Cloud Platform (GCP), Azure, Amazon Web Services (AWS), Jenkins, Linux, Jira, Allure Report, Snyk

Senior Software Developer

2018 - 2022
Kymorphia
  • Developed an advanced modular real-time audio synthesizer utilizing Bezier curve waveforms with multi-threading support, SIMD optimizations, a GTK GUI interface, and MIDI control. Originally written in C and now ported to D.
  • Created a free D language binding generation utility named gidgen for GObject Introspection libraries, making several libraries available to the D language, including the GTK4 graphics toolkit.
  • Created a free repository named giD (pronounced giddy) for D language binding packages generated by gidgen from GObject Introspection API GIR XML API description files.
Technologies: D, GTK+, C, Audio, Music, XML, JSON

Firmware Engineer | Micromobility Vehicles (C/C++)

2021 - 2021
Spin (Tier Mobility) - Main
  • Developed a C program to run on a Raspberry Pi, which utilized GStreamer to process video from a camera, which was then processed using an AI model to identify objects in view and interfaced with electronic controls and indicators.
  • Designed electronics controls and indicators to interface with the Raspberry Pi platform, specified components, and assembled them into a working prototype.
  • Researched AI chips and assisted with selection based on project requirements. Collaborated with Ford software engineers to tune an AI model for use with the project.
Technologies: C++, Embedded C++, Linux, Real-time Operating System (RTOS), Raspberry Pi, Artificial Intelligence (AI)

C/C++ Engineer

2021 - 2021
Anjuna - Main
  • Developed a high-performance remote procedure call client/server in C for the NVIDIA CUDA API.
  • Created a Python C header parser to auto-generate the protocol that was used for serializing and deserializing the CUDA API calls with minimal overhead.
  • Implemented a comprehensive test suite to test the CUDA API client/server with benchmarking.
Technologies: C++, C, NVIDIA CUDA, Device Drivers, GPU Computing

Chief Technology Officer

2011 - 2020
Matrix Switch
  • Developed 100% of the company software for a manufacturer of professional broadcast video and audio routing products. Engineered hardware on several products for schematic capture and PCB layout using KiCad.
  • Created embedded systems firmware for video/audio routing products using Linux, FreeRTOS, and C main() (no operating system). Firmware was written in C and primarily on ARM-based microcontrollers. Ported FreeRTOS to custom STM32-based ARM controllers.
  • Engineered PCB hardware and developed VHDL logic on a Xilinx FPGA for a 48x48 digital audio router utilized in sports stadiums throughout the USA.
  • Engineered hardware for video crosspoint/controller and developed embedded FreeRTOS firmware for a 64x64 SDI digital video/audio router using a dense BGA component footprint.
  • Developed and maintained the company Django website, including the Python logic and templates, graphics with Inkscape and Gimp, 3D product illustrations with Blender 3D, product manuals from a template system, and an advanced product search interface.
  • Built an Android app for controlling video and audio routers over a TCP/IP port.
  • Developed an SDI video/audio test application with a Black Magic Decklink card and a C++ API. A test 12G-SDI video signal was generated and looped back through the device under test that was then displayed on a monitor with data error detection.
  • Engineered several 3D CAD chassis components for metal fabrication for product enclosures.
  • Constructed all firmware, engineered most PCB hardware, and several mechanical components of a large 1024 input by 128 output composite analog video router, deployed by Los Angeles DOT to monitor traffic cameras throughout the city.
  • Implemented an MRP/ERP system using Python-based Odoo (previously OpenERP) and customized for the company's manufacturing, purchasing, and sales operations.
Technologies: C, Linux, Python, GCC, GNU Make, KiCad, Odoo, Django, FreeCAD, Git, JavaScript, MySQL, PostgreSQL, VHDL, ARM Linux, ARM Embedded, XML, JSON, SQL, Apache, TCP/IP, Blender, jQuery, GNU Debugger (GDB), Networking, Inkscape, FreeRTOS, C++, Device Drivers, Linux Device Driver, APIs, REST APIs

Software Developer

2003 - 2010
SoftwareFlair, Inc.
  • Developed an embedded Linux GUI for an award-winning HD Radio Exciter product, a central control daemon with custom protocol, and a Linux kernel driver interfacing with an FPGA in a Linux-based HD Radio Encoder companion product.
  • Built a serial to an ethernet bridge product on an embedded system for bridging IP networks over a long-distance serial link.
  • Created embedded firmware for a USB-controlled gambling machine button interface with RGB spectrum LEDs on an ARM-based microcontroller.
  • Constructed a Linux daemon for a network gateway product for collecting gambling machine statistics wirelessly over Zigbee interfaces.
  • Developed an embedded systems control interface for a medical laser and defined a text-based command protocol for it.
  • Built the application firmware and Linux distribution for a 2-rack unit control panel with LCD for controlling video and audio routers.
Technologies: C, Linux, ARM Embedded, Networking, SQL, Python, GCC, GNU Debugger (GDB), ARM Linux, TCP/IP, GTK+, MySQL, GNU Make, XML, Device Drivers, Linux Device Driver, APIs

Computer Programmer | Systems Analyst

1998 - 2001
Horizon Instructional Systems
  • Deployed Internet and network services on Linux servers, including web, email, file sharing, and databases for this charter school, which was, at that time, the largest charter school in California.
  • Implemented and maintained a Gmail email list server for organization-wide administrative communications.
  • Developed interactive PHP web interfaces connected to SQL databases.
  • Handled technical support calls from administration concerning Internet services.
Technologies: Linux, Networking, Qmail, PHP, Apache, SQL

Software Developer

1997 - 1998
Sophrosyne Systems
  • Developed 2D graphics routines in C for a medical patient-monitoring device.
  • Optimized C graphics routines by directly accessing graphic card memory.
  • Cleaned up and simplified C code written by other team members.
Technologies: C, 2D Graphics

Experience

Alkimiya

A software synthesizer and instrument designer for computer music composition. It utilizes an advanced Bézier curve vector synthesis architecture for defining instrument sounds with the ability to morph between waveforms by animating curve control points in response to other waveforms or input controllers. It also utilizes the GTK toolkit for the cross-platform GUI (Linux, Windows, and Mac). It was programmed in C with highly optimized multi-threaded design.

I am the creator and currently sole developer of this application and the Kymorphia Vector Instrument format.

Kymorphia Website

A Django and Wagtail-based website with accounts, signup, forums, profiles, and PayPal product payments.

I implemented custom Wagtail content types and a file download app that protects paid file downloads and tracks file download statistics. I am the sole developer of this website and deployed it on an Ubuntu Linux VPS using an Nginx web server and MySQL.

Swami

http://www.swamiproject.org
A SoundFont instrument editor for computer MIDI music composition. It utilizes the GTK toolkit to provide a cross-platform GUI interface. It is a highly object-oriented open-source project using the GObject library in C with supporting shared libraries.

I am the creator of this project and the primary developer.

Matrix Switch Corporation Website

http://www.matrixswitchcorp.com
A website for Matrix Switch Corporation, a manufacturer of professional video and audio broadcast routers. This website is based on Django and has a flexible product search interface using the Datatables jQuery plug-in. It is not a showcase of a responsive website, however.

I was the sole creator of this website, graphics content, and product manuals. 3D product illustrations were created with Blender and Inkscape. This website also has a custom product-information import/export Python script to maintain the information on hundreds of products and export it for synchronization with third-party resellers.

FluidSynth

http://www.fluidsynth.org
FluidSynth is a real-time software synthesizer based on the SoundFont 2 specifications and has reached widespread distribution. FluidSynth itself does not have a graphical user interface. Still, due to its powerful API, several applications utilize it, and it has even found its way onto embedded systems and is used in some mobile apps. This library is even found in Tesla's electric vehicle entertainment system and is utilized by the Beatz app.

I was one of the early developers and maintainers of this audio synthesis library. I contributed C code for loading SoundFont files that I had created for Swami and helped the original author create an API for utilizing this library in other applications.

Blitzer File Search

A file indexer and advanced search engine. It utilizes SQLite to recursively index file information in one or more directories on a computer file system. The core indexer was written in C with SQLite API. I then created a web interface with Python for quick interactive searching by file name with boolean logic operators and sorting by file name, date, or size.

I am the sole creator and developer of this project.

KVMR Audio Archiver

I developed an application for the KVMR community radio station to record, archive, and stream audio. The application was written in C and recorded high-quality 24-bit audio of the live radio station feed, archived it in multiple compressed formats, and streamed it over the Shoutcast protocol at several bitrates to an Icecast server also running on Linux.

Skills

Libraries/APIs

jQuery, Pthreads, REST APIs, OpenGL, Intel SGX

Tools

GCC, GNU Debugger (GDB), KiCad, Odoo, GTK+, Apache, Inkscape, PCB Layout, CMake, GNU Make, Git, GNU Autoconf, Blender, FreeCAD, NGINX, SHOUTcast, Pytest, Helm, Terraform, Vault, Jenkins, Jira, Allure Report

Languages

Python, C, XML, SQL, Embedded C, JavaScript, VHDL, C++, PHP, D, Go, Rust, Embedded C++

Frameworks

Django

Platforms

Linux, ARM Linux, Embedded Linux, NVIDIA CUDA, Docker, Kubernetes, OpenShift, Google Cloud Platform (GCP), Azure, Amazon Web Services (AWS), Raspberry Pi

Storage

MySQL, PostgreSQL, JSON, SQLite

Other

gedit, ARM Embedded, Networking, TCP/IP, FreeRTOS, APIs, PCB Design, Real-time Operating System (RTOS), Embedded Systems, MCU, Embedded Hardware, Algorithms, Embedded Software, Firmware, Embedded Development, Wagtail CMS, 2D Graphics, Device Drivers, Linux Device Driver, Icecast, Audio Streaming, Schematics, TouchGFX, OpenCL/GPU, Qmail, GPU Computing, Audio, FPGA, Graphical User Interface (GUI), SEV, Snyk, Music, Artificial Intelligence (AI)

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