Michael L Mehr
Verified Expert in Engineering
Embedded Systems Developer
Mountain View, CA, United States
Toptal member since February 8, 2016
Forty years after receiving his Stanford MSc and Carnegie-Mellon BSc degrees, Michael still gets up in the morning with the same excitement to lead and create. His solid grounding in the fundamentals, experience in both front- and back-end, and familiarity with best practices in use around the industry will enhance your development team. He looks forward to contributing valuable skills to your next project.
Portfolio
Experience
- Microsoft Visual C++ - 20 years
- Embedded Systems - 20 years
- Design Patterns - 20 years
- C - 20 years
- Object-oriented Programming (OOP) - 20 years
- Embedded C++ - 15 years
- iOS - 5 years
- Swift - 4 years
Availability
Preferred Environment
MacOS, Xcode, Windows, Visual Studio
The most amazing...
...project I've worked on is a set of apps that adapted principles of astronomy to market data analysis.
Work Experience
General Manager, Lead Software Engineer
AzuResults, LLC
- Created a business to support my efforts at finding work as an independent software developer.
- Completed two projects for TauMetrix, a startup in the semiconductor test equipment industry.
- Replaced TauMetrix' custom computer vision system for wafer alignment with a more industry-standard one using Cognex technologies.
- Created a simple oscilloscope-like front-end for a custom testing tool for TauMetrix.
- Worked with TauMetrix to assure proper bug-free operation and prompt fixes to any discovered issues. The client showed their satisfaction by hiring me back for the second project after the first was properly completed.
- Completed three projects for a private software contract with an individual in London working on market trading software using unique concepts and algorithms involving applications of astronomy to modern market trading.
- Developed custom tooling for a private WAMP stack server for London client, including some unusual security features.
- Won an award co-coding a project at the iOS Dev Camp 2015 hackathon. (See project in the portfolio section.).
Software Developer
ECS Video Systems
- Developed a remote-control feature using PubNub IoT platform to replace the obsolete GoogleTalk implementation while maintaining minimum latency.
- Researched various alternatives to provide real-time text/graphics scrolling performance across the internet.
- Developed a basic file transfer protocol for the PubNub platform (none currently provided). Latency issues were particularly challenging. Legacy code (2010-level) required certain compromises, which I was able to code around, to varying success.
- Worked with client to get code on a Git repo and better build system.
- Added runtime features to system, including event logging to Windows Event Tracing subsystem.
Senior Sofrware Engineer
KLA-Tencor Corporation
- Continued work from Prometrix and Tencor (as the company continued growth and mergers).
- Developed wafer alignment software subsystems for the Summit software platform, evolving it to adapt to new product lines.
- Programmed primarily on the wafer alignment vision systems, based on Cognex vision technology.
- Helped lead the team to adopt CMM level 3 quality standards, passing audit successfully.
- Set up systems for regular integration (CI) using best technologies available at the time.
Software Engineer
Tencor Instruments, Prometrix Corp.
- Developed a Windows-based embedded machine control system (hardware and software).
- Built the application for the Cognex vision system technologies to a camera-based fully automated user-trainable wafer alignment mechanism on several tools.
- Evolved all developed technologies through their product life cycles from inception through production and maintenance.
- Set up automated build systems for continuous integration under Windows SCCS and related VCS systems.
- Worked with Tech Support, QA, and Sales teams to directly support customers in solving issues that came up. This included trips to customer clean rooms to observe and analyze tools in their production environment.
- Awarded several appreciation awards by the company for extra efforts to keep customers satisfied.
Founder, Software Technical Lead
VoiceWare
- Co-founded the company with some friends to provide innovative solutions to business and consumer problems using voice technologies.
- Led the technical team (initially three engineers, up to six at the largest) to set up software as a toolkit for writing different products.
- Implemented the first of five planned products (the voice mail system) using the developed SDK. Two systems were eventually sold.
- Learned a lot about startups and voice technology, perhaps many years ahead of its time.
Electrical Engineer and Software Engineer
Tencor Instruments
- Hired as the first software engineer at Tencor (employee #25). Initial work was hardware-based (Alpha-Step Digital Interface project, SonoGage sorting system).
- Developed the first computer-based embedded system around a Z80 processor on 8-bit STD bus computer cards. Programmed the machine control system to move the wafers from cassettes to the measurement subsystem and back.
- Evolved the system to use Forth language (for more compact memory footprint). Included language training at Forth, Inc.
- Moved system design onto embedded computer platform using IBM-compatible PC from Victor Corp.
- Moved software design to a team-based approach with the hiring of another software engineer in 1982. Switched the language to C for better team communication, design standard practices, and better alignment with corporate goals.
- Performed as a key member of the team, the only person on staff who knew how to write firmware to control the embedded test systems for the company.
Experience
X42 Weather Station
https://github.com/mmehr2/X42WeatherStationThe main website was designed to display the results of "weather" samples taken from my computer room (or wherever the device is located) - temperature, pressure, humidity, and light levels are reported. Samples are taken automatically every five minutes. Can also take a sample at the press of a button, change the state of an LED, and take a picture of the LED and text display of the device. The picture and last day's worth of data samples are displayed beneath the command and status buttons. In addition, RESTful Web APIs are provided for all functions. Added update automation.
API for X42WS weather station access
(UPDATE: Site taken down 2/2018)
Web Server: http://d48f7d79.ngrok.io
REST API Server: http://7c422863.ngrok.io/weather/api
Measurement: /sensors
Latest data: /sensors/latest
Last 15 minutes of data: /sensors/latest/15
Relay ON: /led/0/1
Relay OFF: /led/0/0
Take picture: /camera/0/3
Final Project RTOS Course
https://github.com/mmehr2/FinalProject5381I chose to implement all the requested features and add a few of my own. The code may be of particular interest, in that I had to port an entire library of code from C++ to C to drive the Adafruit SSD1306 graphics display.
The project link includes all documentation, including demo videos of the operation of the device and a detailed PowerPoint slide presentation of the project as presented to the class.
Certificate in Embedded Systems (Honors)
1 - Intro to Real Time Embedded Systems Programming (5381: A+)
2 - Developing Applications for Android Mobile Devices (29156: A)
3 - Internet of Things: System Design and Prototyping (30402: A)
4 - Internet of Things: Sensors, Platforms, Communications, and Applications (30402*)
5 - Linux Device Drivers (2470: A)
6 - Internet of Things: Big Data Processing and Analytics (30454: A)
Some of the final projects are posted on my GitHub page, including presentations.
* (This course was part of a restructuring of the UC certificate curriculum. While I did not receive a grade, I did do all the work and adapted the final project of a Raspberry Pi Weather Station for use in the Big Data course I was taking at the same time.)
iOS Project Showcase
https://github.com/mmehr2Generalized Square of Nine
The code is in C++, as was the project. The client needed a large list of tools and capabilities in the code, all of which I implemented and debugged to their satisfaction. We evolved this family of tools from a Windows research app, to a client-server web app, to an automated data-producing app, for various business needs.
Golden Pythag
Phase 2: Some code was adapted for use on a private WAMP server. Initially used Dojo JavaScript framework for the UI, but went with pure HTML to keep project simple. I used Uniserver to provide the basic server WAMP framework and wrote custom PHP and MySQL code to link the user front-end and database, which would run the proprietary C++ app on command. I took into account OWASP app security standards and added a small Forth front-end to obfuscate the site a bit from hackers. However, ultimately the client scrapped plans for the site before deployment.
Summit Software (KLA-Tencor)
Automated Wafer Alignment (KLA-Tencor, Prometrix)
Education
Certificate with Honors in Embedded Systems
University of California, Santa Cruz - Silicon Valley Extension, Santa Clara, CA
Master of Science Degree in Electrical Engineering and Computer Science
Stanford University - Stanford, California, USA
Bachelor of Science Degree in Electrical Engineering
Carnegie Mellon University - Pittsburgh, Pennsylvania, USA
Skills
Libraries/APIs
Cognex CVL, Microsoft Foundation Class (MFC) Library, Microsoft Foundation Classes (MFC), PubNub
Tools
Eclipse IDE, Xcode, Microsoft Visual C++, Visual Studio, Apache, PhpStorm, Git
Languages
Embedded C++, Embedded C, C++, C, Python, Forth, Swift, Assembler, JavaScript, Java, Bash, Objective-C, PHP
Paradigms
Object-oriented Programming (OOP), Design Patterns, REST
Platforms
Windows, Raspberry Pi, Arduino, Eclipse, OS X, Docker, STM32, iOS, MacOS, Linux
Frameworks
Laravel, Dojo, Core Data
Storage
JSON, MySQL
Other
Debugging, ARM Embedded, Internet of Things (IoT), Embedded Systems, Writing & Editing, ARM, Matrox Video, Speech Recognition, Broadcom Networking Devices, Scientific Computing, Mathematical Finance, Mathematics, Software, Web Applications
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