Seasoned engineer seeks position in a team responsible for developing embedded hardware and software solutions including BSPs, SDK APIs, and documentation.
|
|
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 design, I2C, 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, Cairo, CUDA, bash shell scripting, Systemd/System-V init. |
Application Development |
WebSockets, TCP/IP, UDP, HTTP, SSL/TLS, 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, AWS EC2, PfSense/OpenVPN. |
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 |
IntelliJ/CLion, 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, Docker, Cygwin, Jira, Git/GitHub, SVN, CVS, Photoshop, Adobe Premiere Pro, MS Office. |
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)
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.
(05/17 - Present) Sr. Embedded Systems Engineer, Panasonic Automotive
Forms part of a R&D V2X team implementing smart road-safety and connected intersection architectures for USDOTs. Worked with DSRC/CV2X wireless embedded systems including On-Board-Equipment (OBE) and Road-Side-Units (RSU) to implement Vehicle-to-Vehicle (V2V) accident detection as well as Infrastructure-to-Vehicle (I2V) to deliver Traveler Information Messages using J2735/J2540 standards. Developed parsers/generators for debugging and testing of BSM, TIM, MAP, SPaT, SSM, SRM, RTCM, and GPS/NMEA communication protocols. Implemented in-vehicle systems to alert drivers about changing road conditions using custom HMI displays. Participated in design of proprietary ARM Cortex hardware and board bring-up tasks using Embedded Linux, Yocto/bitbake as well as building embedded and back-end tools/applications using bash shell, C/C++, SNMP, HTTP, TCP/UDP, HTML/JavaScript, WebSockets, Google Maps API, pfSense, OpenVPN, docker, embedded Android, Java/Struts, SQLite, AWS EC2 instances, Commsignia V2X SDK. Collaborated remotely with the team through GitHub, AWS CodeCommit, JIRA, Confluence, Slack, and Zoom.(01/15 – 04/17) Embedded Systems Engineer, Sabbatical
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, Sabbatical
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.