Post Job Free

Resume

Sign in

Software Developer Embedded

Location:
Waterloo, ON, Canada
Posted:
April 04, 2024

Contact this candidate

Resume:

Seasoned Software Developer bringing over ** years of experience in fast-paced settings delivering exceptional systems. Effectively using a wide range of skills to produce innovative designs. Highly organized, performance-oriented and customer-driven.

Work History

2021-08 - current

Senior Software Developer

Nuvation Research Inc., Waterloo, ON

Writing device drivers for energy storage equipment (Inverters, Charge Controllers, Energy storage controllers)

Writing unit tests and HIL tests

Designing, implementing, and maintaining SunSpec interfaces for energy equipment

participating in peer code reviews

Git lab code management software, Docker and Redis

OOP coding in Python

Documenting processes and creating manuals

Debugging and solving code design issues (Wire Shark)

Algorithm and software design for drivers and controls

Ethernet, TCP, Modbus and serial comms protocols

2021-04 - 2021-08

Embedded Software Designer

PV-Labs, Burlington, ON

Developing embedded software solutions in C/C++, Python for Linux

Creating Makefiles for software builds

Creating APIs to extract and expose system information

Generate HTML based interface applications for relaying system information using Angular

Participate in daily review/update meetings

Maintain software version control with GIT

Documenting processes on Confluence pages

Creating and updating daily JIRA tickets for task tracking

2014-01 - 2021-04

Software Developer

Toyota, Cambridge, ON

Designed/Created Real Time Locating System for tracking company assets (lift trucks, 'tow motors', Production Vehicles)

Architected RTLS custom hardware and embedded software (C and C++). SAME70 xPlained Dev board SPI interface to RTLS transceiver, Arm Processor, FreeRTOS Real time OS.

KiCAD for designing and laying out new circuits

Writing REST APIs using C#, Node JS and Node-Red w/ JavaScript

XML parsing and integration into applications and APIs

Automating processes and APIs with Node-Red

Linux server configuration and development

MySQL database design

Mechanical design with Solid Works 2008 - 2018

Python and Power Shell for code updates, admin tasks, production scripts

Refactoring and rewriting inefficient and broken business applications in VBA

Designing and coding new business applications to suit a wide variety of company requirements. SharePoint, MS Access, MS Excel

Creating and interpreting SQL queries for various applications and systems

SharePoint workflows to automate company processes

Writing C# console & GUI apps using MS Visual Studio

Test apps/scripts written in C#, Python and HTML/CSS/JavaScript web pages

Designing and implementing new innovative test fixtures

Use of CAN Bus, LIN Bus, Ethernet, TCP communication protocols in applications and test fixture interfacing.

3D Printing of test and production

2008-06 - 2014-01

President

MTW, Kitchener, ON

Electrical/Mechanical/SW designs for all products including new CNC mills, retrofit CNC kits, Enclosed machine stands and various part/brackets/assemblies using Solid Works and OrCAD/KiCAD

General Machining, Welding

CNC programming with Master CAM X6, Bob CAD

Construction and testing of all prototypes

Integration of servo systems and motor controls

Sourcing parts for new product designs

Procurement and communication with factories in China

Website Maintenance and development

Customer support and service

2007-03 - 2009-10

Embedded Software Developer

Blue Coat Systems, Waterloo, ON

Developed and supported Virtual machine debugging system in C++ for field system crashes.

Kernel modules to dump current processor context and memory, and respond to GDB commands

Separate application to reformat the context and memory to be used by the emulator

Customized x86 emulator to execute context and memory as though it were a live system

Customized GDB to connect to the emulated system and debug the problem

Working with x86 processors (C++ and x86 Assembly)

Developing Kernel components and embedded test applications using C++

Assembly level coding and bug fixes

Triaging of system bugs

2004-07 - 2007-03

Embedded Software Developer

L3/Wescam, Burlington, ON

RTEMS and VX Works API programming in ‘C'

Camera drivers

System peripheral communications drivers

Desktop and Pocket PC Serial Communication apps

Desktop systems test applications

System level debugging and trouble shooting

PID Control loop coding

Compiling and Releasing system software builds

1998-04 - 2004-07

Programmer Analyst

L3/Wescam, Burlington, ON

Multi-tier Application design and development using Visual Basic 6

Database administration and design

Report writing for both desktop and web applications (Crystal Reports)

Extensive use of VBA for MS Access and MS Excel for data imports and conversions

App and Network communications via Ethernet/TCP protocol

Writing of technical documents for user support

Multiple successful projects

Customer Service application for tracking all aspects of customer service activities

Part non conformance tracking application

Barcoding system for MRP based Work Order updates, tracking and control

Intranet based application for referencing MRP Data

Multi-user data entry application for yearly inventory

Maintaining company payroll application

XML parsing and integration into apps and APIs (SOAP)

Education

1991-09 - 1995-04

Electronics Engineering Technology Diploma: Digital Circuits and Micro Processors

Mohawk College of Applied Arts and Technology - Hamilton, ON

Hobbies

AI and Deep Learning (https://www.linkedin.com/in/pat-o-banion-60492b3/details/certifications/)

Self-taught CNC and manual machinist

15 years of CAD design experience w/ SolidWorks

Designing/building CNC machines (Mills, plasma cutter).

Designing/building my own linear motors for the next generation of my CNC milling design

3D Printing

Continuing Education

Contact

Address

Kitchener, ON, N2P 2H1

Phone

519-***-****

E-mail

ad4sg1@r.postjobfree.com

Skills

System Design & Programming

Trouble shooting/Problem Solving

Debugging

Critical Thinking

Time Management

Algorithm Design

.

Patrick O'Banion

Software Developer



Contact this candidate