David Steinberg

Staff Firmware Engineer at Freelance / Autónomo

Barcelona, Catalonia, Spain
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts

Summary

👤
Senior
David Steinberg is a Staff Firmware Engineer with 11+ years building microcontroller firmware and embedded Linux platform software, specialising in C/C++, assembly, and Linux kernel/BSP work across ARM, RISC‑V, PIC and Atmel. He has shipped boot ROMs, secure boot, drivers and USB integration for AI and vision processors and led Linux bring‑ups and resilient boot systems for product-grade devices. A reliable technical advisor, he’s frequently called on to learn new platforms quickly and solve cross-disciplinary hardware‑software problems, and he prefers remote work from Barcelona with occasional onsite visits. An active contributor to MicroPython, he has improved float‑to‑int conversion in its arbitrary‑precision integer implementation—demonstrating attention to numerical edge cases in constrained systems.
code11 years of coding experience
job25 years of employment as a software developer
github-logo-circle

Github Skills (17)

float3210
py10
python10
c1110
microcontroller10
c1710
sys10
micropython10
adafruit-circuit-python10
floating-point10
embedded10
data-structure9
algorithm9
unit-testing9
algorithms9

Programming languages (3)

CJavaScriptPython

Github contributions (5)

github-logo-circle
micropython/micropython

Jan 2015 - Jan 2015

MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems
Role in this project:
userBack-end Developer
Contributions:7 commits, 7 PRs, 33 comments in 23 days
Contributions summary:David's contributions primarily focus on improving the conversion of floating-point numbers to integers within the MicroPython environment. They implemented and refined functions to handle float-to-int conversions, addressing edge cases related to large exponents, infinity, and NaN values. Their work included modifications to `mpz.c`, `mpz.h`, and `objint.c` and associated test files, specifically introducing functionality to handle float values within the MicroPython integer representation (MPZ) which supports arbitrary precision. These changes demonstrate a focus on ensuring accurate numerical behavior within the microcontroller-focused Python implementation.
pythonpython-implementationmicrocontrollerconstrainedembedded
doogle/Journey3Dg

Aug 2022 - Aug 2022

Contributions:1 release, 16 commits, 3 pushes in 24 days
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.
Request Free Trial
David Steinberg - Staff Firmware Engineer at Freelance / Autónomo