Download in PDF Format: Summary | Full

Sr. Embedded Systems Engineer
Edwin R. López, Northglenn CO 80234, edwin.r.lopez@comcast.net

OBJECTIVE
Seasoned engineer seeks position in a team responsible for developing embedded hardware and software solutions including BSPs, SDK APIs, and documentation.
SUMMARY
  • 18+ years of experience in the Professional Field
  • Programs in bare-metal, RTOS, or Embedded Linux
  • Develops device drivers and bootloaders
  • Embedded User Interface Design GUI, HMI, M2M
  • Study reference designs, app notes, datasheets
  • Full-stack engineer: Hardware, Firmware, and Applications
  • Client/Server programming TCP/IP, Wi-Fi, Bluetooth LE
  • Performs cross-compile builds, debugging, testing
  • Schematic & PCB Layout Design, prototyping, soldering
     
KEY SKILLS
Embedded
Development
C/C++ bare-metal firmware programming (no-OS), interrupts, DMA, timers, cross-compiler toolchain, linker scripts, bootloaders, device drivers, system calls porting, file systems, embedded UI designI2C, I2S, SPI, UART (RS-232), PWM, DAC, ADC, 8080/6800 parallel bus (memory mapped devices), Bluetooth (Classic/GATT), ZigBee, Wi-Fi, wireless mesh networks, GSM/GPRS/GPS (AT commands), TCP/UDP/IP, HTTP, USB (HID, MSC, CDC, Vendor); Embedded Linux board bring-up, Yocto, bitbake, Buildroot, BusyBox, U-Boot, TFTP/NFS network boot setup; RTOS, FreeRTOS, VxWorks.
Linux System
Programming
Client/server and multithreaded programming using POSIX queues, signals, pthreads, mutexes, shared memory, pipes, stream sockets; familiar with use of USB (libUSB, hidapi, hidraw), Video4Linux (V4L), ALSA, LAME, ffmpeg (MPEG2, ASP/H264, VP8/VP9), WebM, bluez, GTK/Cairo, CUDA, bash/shell scripting.
Application
Development
WebSockets, TCP/IP, UDP, HTTP, SSL/TLS, MQTT, AWS IoT, Google Maps, Cross-browser UI Design, HTML, CSS, DOM, JavaScript, AJAX, XML, JSON, RESTful web services, Object-Oriented Design, Java, Android, Struts, JSP/Servlets, python, PHP, SQL, PL/SQL, Oracle, SQLite, MySQL, Tomcat, WebLogic.
Hardware
Development
Uses Schematic Capture and PCB Layout software to design Single Board Computers (SBC) and peripherals involving ARM Cortex-M SoC, ARM926, AVR, PIC, 8051, SRAM, SDRAM, NOR, NAND, Serial Flash, MMC, CompactFlash/SD Cards, Smart Card (SIM/ISO7816), Graphic Displays, CMOS Cameras, Audio CODECs, wireless modules, Ethernet PHY, PMIC, SPLD, I/O drivers, and sensors; creates Gerber and BOM files.
Prototyping
& Testing
Familiar with use of DMMs, oscilloscopes, protocol/logic analyzers, JTAG flashers & debuggers, signal generators, microscopes, SMT prototype assembly, PCB rework, hot air and iron soldering.
Software
Tools
Eclipse CDT, AtmelStudio (ASF), Visual Studio, EAGLE, IntelliJ, WindRiver vxWorks Workbench, Segger JLink JTAG tools, GCC ARM cross-compiler toolchains, GNU make, GNU binutils, GDB Server, VirtualBox, Linux, Windows, Cygwin, Jira, Git/GitHub, SVN, CVS, Photoshop, Adobe Premiere Pro, MS Office.
EDUCATION

2002 - Master of Science in Information Technology - Rochester Institute of Technology (RIT)
1995 - Bachelor of Science in Computer Engineering - University of Puerto Rico (UPR Mayagüez)

PROFESSIONAL TRAINING

2015 - Embedded Systems Engineering Certificate (9cr/hr.) - University of Colorado (CU Boulder)
2013 - Embedded Android Boot Camp – Barr Group
2003 - J2EE WEB COMPONENT DEVEVELOPER Certification (SCWCD) - Sun Microsystems
2003 - JAVA PROGRAMMER Certification (SCJP) - Sun Microsystems
2002 - Advanced Interactive Multimedia Development Certificate (24cr/hr.) - Rochester Institute of Technology (RIT)

Bilingual
: Fluent on both English and Spanish.

EXPERIENCE

(05/17 - Present) Sr. Embedded Systems Engineer, Panasonic Automotive
Forms part of a R&D team created by Panasonic and the Colorado Department of Transportation (CDOT) to implement a smart road-safety infrastructure for the I70 corridor. Worked with DSRC/CV2X wireless systems, On-Board-Equipment (OBE), and Road-Side-Units (RSU) to implement Vehicle-to-Vehicle (V2V) accident detection as well as Infrastructure-to-Vehicle (I2V) delivery of Traveler-Information-Messages (TIM/SAE J2540 standard) to alert drivers about changing road conditions using custom HMI displays. Assisted in design of proprietary ARM Cortex hardware and board bring-up tasks using Embedded Linux, Yocto, bitbake and applications using C/C++, python, SNMP, TCP/UDP, protobufs, MQTT, HTML5, JavaScript, WebSockets, Google Maps API, collaborating through Git/GitHub, AWS CodeCommit, JIRA, and Slack tools.

(01/15 – 04/17) Embedded Systems Engineer, Self-Employed
Completed the Embedded Systems Engineering Certificate at the University of Colorado at Boulder. Used and studied numerous off-the-shelf evaluation kits, reference designs, schematics, and datasheets. Performed comprehensive studies of embedded design topics including Schematic Design, PCB Layout, and Signal Integrity (stack-up planning, decoupling, bypass, signal propagation, termination, ground bounce, EMI/EMC). Designed and built custom PCB boards using ARM9 and Cortex-M System-on-Chip (SoC) MCUs. Acquired hands-on experience in SMT assembly, PCB rework, prototyping, and use of lab test equipment and measuring tools. Configured cross-compiler toolchains, IDEs, SDKs, debuggers, and JTAG flashing tools to develop bootloaders, drivers, and firmware. Interfaced USB devices, graphic displays, audio codecs, NAND and serial flash memories, SD cards, and wireless modules based on Bluetooth, ZigBee, Wi-Fi, GSM/GPRS, and proprietary mesh networks. Ported open-source libraries such as FATFS, YAFFS2, libJPEG, libPNG, libZ, libMAD to the Cortex-M platform and also rolled up custom libraries to build user interfaces with custom graphics, fonts, and sound. Performed development in VxWorks, FreeRTOS, Embedded Linux, bare-metal firmware, drivers to interface hardware, and board bring-up tasks: kernel configuration using Buildroot and BusyBox, customizing the root file system, and setting U-boot to load and boot the kernel either from an onboard NAND UBIFS partition or over the network using TFTP and NFS servers.

(05/11– 12/14)  Sr. Software Engineer, Cardinal Peak
Developed web service components that enabled apps running on Samsung SMART TVs, blue-ray DVD players, and Facebook connect to Blockbuster's video-on-demand back-end servers, enabling subscribers to search, purchase, and watch movies; worked with Samsung’s embedded maple browser, Google's Widevine plugin, JavaScript, OAuth, Java, and Struts2. Wrote a digital forensics Android app for OTG-capable mobile devices that uses the USB Host API to connect to an external SmartCard (SIM) reader and extract call records, SMS, contacts names and addresses to be used as evidence. Collaborated in the development of a "nanny-cam" embedded uCLinux application that used the PJNATH library to stream video packets from a closed home network to an internet monitoring server through an UDP hole-punched NAT tunnel. Provided periodic releases for Cardinal Peak's CaseCracker Linux product; worked with HTML, PHP, JavaScript, C/C++, GTKmm/Glade, ALSA, FFMPEG, Video4Linux (V4L), MPEG2 DVD authoring, RTSP/RTP streaming, VLC, CVS, SVN, Git, Jira, and Bugzilla.

(08/10 – 05/11) Sr. Software Engineer, Self-Employed
Created Raster, a cross-browser UI JavaScript Library used to build rich desktop-like web applications. The UI library includes reusable UI controls that can be customized via CSS. Raster is open-source software released under the LGPL license. This project is available on GitHub at https://github.com/erlopez/raster.

(2008 – 08/10) Sr. Software Engineer, Comcast Cable
Provided periodic support to intranet applications; task included Java development, front-end UI development, Oracle PL/SQL programming. Development tools included JDeveloper, Eclipse, Weblogic, Spring JDBC-Templates, Hibernate/JPA, Beehive, XMLBeans web-services, Struts2, Oracle ADF, Java Server Faces (JSF), CVS, SVN, and DOORS for bug tracking. 

(2005 – 2008) Sr. Software Engineer, ASG Software Solutions
Developed tachyon, a lightweight MVC framework based on Java and JSP/Servlet technologies designed specifically for building AJAX applications. The framework included a comprehensive set of cross-browser UI widgets that enabled developers to quickly assemble rich desktop-like web application front-ends.

(2004 – 2005) Product Engineer, GUSDEX LLC.
Developed the GUSDex's Personal Business Center, a Software-as-a-Service (SaaS) solution to provide small business owners with tools to market their businesses online, publish their websites, track accounting expenses, create invoices, and use email. Worked as lead Java developer, graphic designer, and collaborated with content creation for marketing materials.

(2003 – 2004) Java Consultant Contract, Generation21
Provided development and support for Generation21's line of e-learning products. Performed code refactoring of their existing web-based product and migrated it from using a JSP-only design to use a scalable Model-view-Controller (MVC) approach. Enhanced application code and back-end database schemas to support UTF8 international character sets.

(1998 – 2003) Product Development Engineer, PaeTec Corporation
Created PL/SQL and Java libraries to ease development of web-based applications using the Apache mod_plsql  Oracle (OWA) technology. Developed reusable APIs to support PaeTec's E-Commerce Portal applications: shopping carts, webmail apps, website publishers, chat rooms, discussion groups, administration pages, perform file uploads, and generate PDF reports.

(1996 - 1998) System Analyst, XEROX
Developed CGI-BIN web apps in C to support systems administration tasks; configured of UNIX and NT servers with NFS, NIS, DNS, SMTP, Oracle, SQL*Net, Java, CORBA, JDBC, IIS, ASP/ADO, SQL-Server, and ODBC. Configured Netscape Enterprise and RealAudio servers to deliver multimedia streaming content for corporate presentations and online training courses.

Home | Embedded Design | Application Development | Graphic Design | Live Demos | Resume | Contact     /     Raster API
© 2018 Edwin R. Lopez