- Analog Devices, Inc.Embedded sw engineerHIGH TECHoctubre de 2020 - febrero de 2021 (4 meses)Santa Clara, Estados Unidos de América• Working on the BSP of a battery powered medical device based on the NXP i.MX6 SoC with an ARM v7 core. Developing Linux device driver code in C. Modified existing GPIO and USB PHY layer device drivers, created drivers for the LTC4155 battery charger chip and the LTC2942 fuel gauge device. Initial work done using an NXP i.MX6ULL EVK board before porting to a custom device.• Creating Yocto recipes and layers for Linux builds. Creating Python and Bash scripts to ease work flow. Adding files to device tree hierarchy to configure/describe GPIOs, pinmux configurations, WIFI/Bluetooth on SDIO/UART buses, power supplies, and other modules on custom board.• Using Wifi, Bluetooth, schematics, oscilloscopes, Github, Gentoo Linux for build system, Eclipse, Yocto cross development toolchain, Visual Studio Code, GPIO, I2C, SPI.
- BD BiosciencesContract embedded software engineerBIOTECNOLOGÍAmarzo de 2021 - Hoy (3 años y 11 meses)San José, Estados Unidos de América• Working on BD’s next generation of flow cytometers.• Developed bare-metal firmware in C and assembly language to boot up and control a board with an STM32F334 SoC and Peltier thermoelectric cooling modules. Also developed the slave side I2C state machine and protocol to control and monitor the board. Wrote Python and BASH scripts to massage ELF files and to talk to the board.• Created boot and BSP code to bring up a board with an STM32F413 SoC. Ported existing state machine code to new board. Created drivers for pressure, temperature and flow sensors on the I2C and SPI buses.• Developed user space i2c-dev drivers in C++ running on PetaLinux on a Xilinx Zynq Ultrascale+ to control the aforementioned board. Also developed, in C++, drivers for various temperature sensor devices and the Texas Instrument UCD90120A power supply sequencer and monitor chips.• Created drivers and implemented the Standard Commands for Programmable Instruments (SCPI) protocol to talk to various lasers from Coherent, Inc. connected via RS232 and RS485 buses.• Using PetaLinux, Yocto, U-Boot, Eclipse/STM32CubeIDE, Segger J-Link JTAG debuggers, TI Fusion Digital Power Designer, makefiles, BASH scripts, linker command files, UART’s, on and off chip DAC’s and ADC’s, SPI, DMA, Flash, EEPROM, CRC, I2C, STM32 bootloader, GPIO, PMBus, STM32 HAL library, Toradex NXP i.MX8QXP eval board, REST API, oscilloscopes, schematics, datasheets, Git, agile.
- Teledyne ControlsEmbedded SW engineerAERONÁUTICA & AEROESPACIALenero de 2020 - junio de 2020 (5 meses)El Segundo, Estados Unidos de América• Worked on Teledyne’s “GroundLink Evolution” aircraft to ground data link. Developed Linux user-space C++ code running on an NXP LS1046A SoC (quad ARM Cortex-A72).• Used Yocto, embedded Linux, gcc, Eclipse, VirtualBox, Kafka, ZeroMQ, REST API, GPIO, I2C, PMBus, NXP MMA8652FC accelerometers, JSON, XML, Python, udev, multiprocessing, multithreading, Git, schematics.
- PhDUniversidad de Loughborough1990Digital signal processing
- licencia de piloto comercial de helicópterosLa FAA2002