Download PDF

About me

I have worked with known software technologies for embedded systems in order to assist different businesses in the overcoming of challenges present in projects that involve software.

I have been involved with different products at their development stage, have collaborated in many different ways from design and implementation to extensive testing and support. Team player and fast learner that loves innovation, quality work and challenges.

Skills/Experience

Work with different chips/architectures:

ARM (e.g DaVinci from TI, iMX from NXP) , DSP, x86_64

Linux kernel:

Configuration, build, install and load

Drivers and patches

Embedded applications:

Data processing, media coding, streaming, multicore, among others

Coding & containing:

H.264, JPEG, MJPEG, MP3, AAC, MP4, MKV, MPEG-TS

RTOS:

Threads, interrupts, process & data sync, events, logging

Debugging:

GDB, valgrind, system tools, UIA

Version control & releasing:

Git, svn, tagging, issue tracking

Testing:

Functional, unit, performance, endurance

Support:

Reports, issue addressing, software maintenance

Projects

Example projects I've contributed to in the past

Framework for embedded dual core applications:

Implement a development framework that permit Engineers to create software solutions for ARM+DSP embedded applications in less time. The framework helped Engineers to focus on their implementation without the worrying of complex arch-dependent code and variables, the framework provided interprocessor procedures so the development of dual core applications was more straight forward.

Medical device network implementation upgrade:

The project consisted on porting a CAN Bus-based communication system to an auxiliary embedded core to address performance issues. One of the implementation goals was to connect multiple devices (up to 26) in a single network and handle continuous communication per-node (acknowledgements, indications, responses, ..) in strict time frames without compromising the network stability.

Stream manipulation & validation for law enforcement product:

Video and audio recordings have a great value when they become part of evidence or any other law enforcement material, for this cases is not affordable to have missing frames or the chance of on purpose alterations. Tasks involved real time media segmentation, stream parsing and alignment, time stamping corrections, among others.

Work History

Feb 2016Present

Embedded Software Engineer / Independent Contractor

Self-Employed


Embedded software solutions to technology businesses
Project specification coverage and solution driving
Embedded software development for custom products
Product support. Status reporting, maintenance, issue covering, feature implementation, enhancements
Product testing. Unit, functional, endurance testing and others

Aug 2013Jan 2016

Embedded Software Engineer

RidgeRun LLC

Embedded Linux:

Develop software under Linux environments for embedded systems
Integrate software development utilities like toolchains, libraries, VCSs, scripts and others to cover different target needs
Implement solutions for embedded Linux-running devices such as ARM processors
Work with known system-on-chips: Texas Instruments DaVinci Media and  NXP iMX6 series
Generate solutions for GStreamer-based applications that involves audio/video encoding, decoding, containing and others

DSP/RTOS:

DSP firmware developer. Applications design and implementation
Use of DSP Kernel/RTOS resources; work under threaded and interrupt contexts, process and data synchronization, device handling
Development of ARM+DSP middleware
Integration and usage of firmwares, codecs, device drivers, interprocessor routines and user space applications in a single environment


Education

20072012

Electronics Engineering

Tecnologico de Costa Rica

Logic design, FPGA programming, microcontrollers