Miguel Cubillas

Consultant at Incando Therapeutics
  • Claim this Profile
Contact Information
us****@****om
(386) 825-5501
Location
US

Topline Score

Topline score feature will be out soon.

Bio

Generated by
Topline AI

5.0

/5.0
/ Based on 2 ratings
  • (2)
  • (0)
  • (0)
  • (0)
  • (0)

Filter reviews by:

Ron Grater

Miguel truly understands Real Time Threads and C++. He is also an expert at fixing hardware issues. A pleasure to work with and always available to help people with questions or go over ideas. Great Team Players.

Tina Phan

I've know Miguel throughout entire time at Grid2Home, and can attest he is one of the most productive and efficient engineers I've known. He is not only technically talented in SW & Zigbee driver development, he is also a team player. Miguel has the unique ability to both coaching cross-functional and cultural teams. I learned allot when working with Miguel.

You need to have a working account to view this content.
You need to have a working account to view this content.

Experience

    • Medical Equipment Manufacturing
    • 1 - 100 Employee
    • Consultant
      • Mar 2022 - Present

      Working on the firmware for both a power delivery system module and a wireless powered brain implant module. Communications between the power delivery system module and the brain implant module is to be done by modulating/demodulating the wireless power sinewave. Used a magnetic-field loop probe connected to my oscilloscope to observe and make measurements of the unmodulated and modulated wireless power waveform. Used the logic analyzer to observe PWM signals controlling the MOSFETs that drive the wireless power coil and to measure dead-time insertion in the PWM signal. Switched over to Manchester Encoding of transmitted data bytes from the power delivery system module - this was done to prevent long sequences of 0 valued bits which were lowering the power delivered to the brain implant module enough to turn off the MCU. Also designed and simulated a hybrid analog/digital AM demodulator that outputs a pure digital serial bit-stream that can be input to an MCU UART. Migrated from Microchip/ATMEL ARM MCU to STM32 ARM MCU and designed new firmware and hardware architecture. Coded stack checking module, error assert module, display SPI drivers, debug serial port drivers, RS485 port drivers, push-button drivers, EEPROM drivers, and battery fuel-gauge SMBus drivers. Used logic analyzer to debug and verify all bus-based drivers. Show less

    • Real-Time Embedded Systems Engineering Design Consultant
      • Jul 1999 - Present

      My Consulting Company (C Corp.). I provide real-time embedded systems engineering design services from the ground up. My Consulting Company (C Corp.). I provide real-time embedded systems engineering design services from the ground up.

    • United States
    • Wireless Services
    • 1 - 100 Employee
    • Member of Consulting Staff
      • Feb 2022 - Sep 2022

      Emergency troubleshooting and bring up of STM32 MCU 1-Wire UART driver firmware using logic analyzer and oscilloscope. Also created FreeRTOS task, messaging, blocking/asynchronous driver, and debug printer-spooler framework to be used for porting over bare-metal firmware. Assisted in porting, testing and debugging bare-metal firmware port to FreeRTOS based framework. Converted bare-metal drivers for CAN Bus, I2C, SPI and UART to FreeRTOS based blocking/asynchronous drivers. Emergency troubleshooting and bring up of STM32 MCU 1-Wire UART driver firmware using logic analyzer and oscilloscope. Also created FreeRTOS task, messaging, blocking/asynchronous driver, and debug printer-spooler framework to be used for porting over bare-metal firmware. Assisted in porting, testing and debugging bare-metal firmware port to FreeRTOS based framework. Converted bare-metal drivers for CAN Bus, I2C, SPI and UART to FreeRTOS based blocking/asynchronous drivers.

    • United States
    • Consultant
      • Jun 2020 - Sep 2022

      Advising consultant for current and future C firmware and hardware for underwater algae harvesting and wire magnetic-field following robot. Emergency troubleshooting of new STM32 C firmware and hardware for underwater robot. Extensive use of oscilloscope and logic analyzer for measurements and debugging. Created FreeRTOS based firmware framework for STM32 Cortex-M4 based algae harvesting robot remote controller. Wrote FreeRTOS based blocking drivers using DMA for SPI, UART, and RS485 communications. Ported Adafruit Arduino OLED display C++ library and SPI based drivers to STM32 platform using FreeRTOS. Simulated existing wire magnetic-field coil-sensor op amp circuit and designed and simulated alternate wire magnetic-field coil-sensor circuits for wire magnetic-field following underwater robot. Ported Modbus, HTTP and FTP servers to STM32 Nucleo-F429ZI board. Show less

    • Defense and Space Manufacturing
    • 1 - 100 Employee
    • Consultant
      • Jan 2020 - Apr 2022

      Embedded C firmware on Infineon XMC4700 for 24 GHz Continuous-Wave Doppler Radar using two receive antennas. Used Cortex-M4 CMSIS DSP library for complex FFTs to determine velocity of approaching or departing targets. Windowed FFT samples using Blackman Window. Achieved fully overlapping operations for acquiring and processing I and Q samples for two receive antennas at a sample rate of 320 KHz. Extensive use of oscilloscope and logic analyzer for timing measurements and debugging. Currently working on speed optimization of raw radar data transfers over USB using logic analyzer and hardware based USB protocol analyzer. Show less

    • United States
    • Design
    • 1 - 100 Employee
    • Consultant
      • Oct 2020 - Mar 2021

      Bare-metal and FreeRTOS based embedded C firmware on Nordic nRF52 BLE platforms for experimental CGM (Continuous Glucose Monitoring) prototype. Responsible for hardware board bring-up, testing and debugging using logic analyzer, oscilloscope, DMM and JouleScope power analyzer. Wrote, tested and debugged bare-metal firmware to test all I2C, SPI, GPIO and UART connected on-board devices. Wrote FreeRTOS based DMA and blocking I2C, SPI, and UART device drivers. Wrote firmware to configure and use on-board devices which included EEPROM, IMU, battery fuel-gauge, battery charger and AFE (Analog Front End). Ported nRF52 SDK BLE NUS (Nordic UART Service) and nRF52 FreeRTOS based-port to nRF52810 microcontroller. Main firmware collected AFE measurement samples and sent them out the BLE NUS every 4 seconds for experimental data collection and analysis on BLE connected Windows PC. Minimized on-board power consumption by identifying high power consumption blocks of code using JouleScope power analyzer. Used GitKraken and Bitbucket for source version control. Show less

    • United States
    • Defense and Space Manufacturing
    • 1 - 100 Employee
    • Consultant
      • Oct 2019 - Apr 2020

      TI MSP430 based bare metal embedded C firmware for wearable LiPo battery output power hub. Implemented power output distribution management, power output monitoring (for over-current, over-voltage, and temperature alarms), and battery charging. Extensive use of oscilloscope and logic analyzer for timing measurements, SMBus, I2C, and SPI protocol decoding, and for firmware/hardware debugging. Troubleshooting and fixing of grounding and static discharge problems on PixHawk controlled drone inside of test flight chamber. Logging of drone peak current draw during flights inside of test chamber. Testing of drone motors using MavLink program communicating with PixHawk controller. Show less

    • Embedded C++ Firmware Engineer Contractor
      • Oct 2018 - Jun 2019

      Embedded C++ state-machine and configuration management firmware for machinery vibration monitoring instrumentation composed of a variable number of monitoring modules on networked backplanes. Embedded C++ state-machine and configuration management firmware for machinery vibration monitoring instrumentation composed of a variable number of monitoring modules on networked backplanes.

    • Consultant
      • Jul 2018 - Aug 2018

      Emergency troubleshooting of SPI Bus interfaced ADC, multiple SPI Buses and daisy-chained long shift register I/O hardware using scope and logic analyzer. Found source of nagging SPI bus data corruption in a very short amount of time and verified all timing requirements including all setup and hold timing. Emergency troubleshooting of SPI Bus interfaced ADC, multiple SPI Buses and daisy-chained long shift register I/O hardware using scope and logic analyzer. Found source of nagging SPI bus data corruption in a very short amount of time and verified all timing requirements including all setup and hold timing.

    • United States
    • Software Development
    • 300 - 400 Employee
    • Consultant
      • Nov 2017 - Apr 2018

      Use of Git Bucket for revision control. Use of Jira for project tracking. C programming and design of processes and pthreads for embedded Linux board in vehicle OBD monitoring platform. Serial communication design and programming for USART interface between Linux board and STM32 ARM Cortex-M4 board. Linux host serial bootloader design and programming for controlling reset and boot pin GPIOs and uploading/programming firmware updates to STM32 ARM Cortex-M4 board. Use of Android Debug Bridge (adb) for command line tool between Ubuntu cross development platform and embedded Linux target. Use of logic analyzer for verification and testing of all GPIO control and serial communications. Show less

    • United States
    • Manufacturing
    • 700 & Above Employee
    • Consultant
      • Jun 2016 - Apr 2017

      Use of Perforce for revision control. C# programming for irrigation controller remote control GUI maintenance. Perl scripting for continuous integration and build of embedded software using CruiseControl. Perl scripting for automated testing of irrigation controllers. Brought up ThreadX interrupt handlers and application threads on irrigation controller platform. UML and ThreadX based embedded C++ programming for STM32 ARM Cortex-M4 irrigation controller platform. Designed and coded generic C++ class for event-driven and table-driven state-machine driver. Coded segmented LCD drivers for both off-chip SPI based LCD and on-chip LCD controllers. Coded C++ state- machine for RS-485 multi-drop protocol data-link controller within a framework of hierarchical state-machines. Show less

    • Consultant
      • Oct 2014 - Nov 2016

      Project management and high-level architecture design for SBIR sub-contract. LabWindows software design for pixel level testing of proprietary Altera Cyclone IV FPGA and power MOSFET based display hardware. Project management and high-level architecture design for SBIR sub-contract. LabWindows software design for pixel level testing of proprietary Altera Cyclone IV FPGA and power MOSFET based display hardware.

    • United States
    • Computer Hardware Manufacturing
    • 1 - 100 Employee
    • Consultant
      • Feb 2016 - Jun 2016

      Use of SourceGear Vault for revision control. Bare-metal Cortex-M0+ embedded C programming (using Kinetis Design Studio) for Kinetis KL17Z and KL27Z based platforms for proprietary HUD (heads-up-display) SBIR contract. Responsible for Timer, UART, SPI, I2C and GPIO drivers, and for very-low-power manager state-machine. Breadboarded all SPI, I2C, and GPIO peripherals and verified timing and communications using oscilloscope and logic-analyzer. Use of SourceGear Vault for revision control. Bare-metal Cortex-M0+ embedded C programming (using Kinetis Design Studio) for Kinetis KL17Z and KL27Z based platforms for proprietary HUD (heads-up-display) SBIR contract. Responsible for Timer, UART, SPI, I2C and GPIO drivers, and for very-low-power manager state-machine. Breadboarded all SPI, I2C, and GPIO peripherals and verified timing and communications using oscilloscope and logic-analyzer.

    • Aviation and Aerospace Component Manufacturing
    • 1 - 100 Employee
    • Consultant
      • Jun 2015 - Sep 2015

      Embedded Linux driver threads and processes, on Altera Cyclone V SoC Cortex A9 processor, for video surveillance drone. Used ARM DS-5 IDE and GDB TCP/IP client/server debugger. Interfaced and communicated to RS232, RS485, I2C and SPI devices. Devices interfaced to were RTC, UBlox GPS, absolute(for altitude) and differential(for air speed) pressure sensors, IMU, magnetometer, temperature sensors and power/current sensors. Also carried out prototype hardware debug using digital multi-meter, digital-storage oscilloscope and logic analyzer. Show less

    • Consultant
      • Apr 2013 - Jan 2014

      Use of Tortoise SVN for revision control. Design, and debugging, for existing embedded EFM32 ARM Cortex-M3 32-bit microcontroller firmware for AUV Lagrangian Drifters that collected oceanographic data during planned dive missions. Support and debug of existing LabWindows software to test Lagrangian Drifter firmware and hardware. Design of embedded diving emulator for pretesting Lagrangian Drifter firmware and mission planning before testing in the water. Design of LabWindows software and bread-boarded hardware (h-bridge and current sensor) for measuring linear actuator motor start-up and stall currents, and normal operating current under load. Show less

    • Software Development
    • 1 - 100 Employee
    • Consultant and Senior Embedded Firmware Engineer
      • Jan 2010 - Feb 2013

      Use of Tortoise SVN for revision control. Wrote device drivers in C for Atmel, STMicroelectronics, Freescale and TI ARM based microcontrollers. Used DMA I/O transfers for device drivers whenever DMA controller was available. Device drivers were written for RS232, SPI, I2C, LCD and NVM peripherals making use of semaphores and waits provided by proprietary RTOS. Also ported proprietary RTOS to Renesas 78K0R and V850 microcontrollers. Use of Tortoise SVN for revision control. Wrote device drivers in C for Atmel, STMicroelectronics, Freescale and TI ARM based microcontrollers. Used DMA I/O transfers for device drivers whenever DMA controller was available. Device drivers were written for RS232, SPI, I2C, LCD and NVM peripherals making use of semaphores and waits provided by proprietary RTOS. Also ported proprietary RTOS to Renesas 78K0R and V850 microcontrollers.

    • Wireless Services
    • Consultant
      • 2008 - 2009

      Wrote C code for static test vector testing of digital modem functions running on TI fixed point DSP. Used TI Code Composer Studio IDE. Also helped in testing and debugging digital and RF modem hardware. Wrote C code for static test vector testing of digital modem functions running on TI fixed point DSP. Used TI Code Composer Studio IDE. Also helped in testing and debugging digital and RF modem hardware.

    • Semiconductor Manufacturing
    • 1 - 100 Employee
    • Staff Engineer
      • Apr 2008 - Nov 2008

      Wrote ARM C and assembly code for exception trapping and core-dump to FLASH for wireless UWB chips. Wrote C code for wireless WHCI API functions. Wrote proposal to completely overhaul the Staccato code build environment. Wrote ARM C and assembly code for exception trapping and core-dump to FLASH for wireless UWB chips. Wrote C code for wireless WHCI API functions. Wrote proposal to completely overhaul the Staccato code build environment.

    • United States
    • Computers and Electronics Manufacturing
    • 1 - 100 Employee
    • Consultant and Senior Embedded Audio DSP Systems Engineer
      • 2005 - 2008

      Use of MS SourceSafe for revision control. Wrote PC LabWindows GUI and embedded firmware (SPI, I2C, I2S & FLASH drivers) for programming and controlling embedded digital audio processors within powered speakers (aka plate-amps). Software involved dynamic, graphics based, design of IIR biquad filters (low-pass, high-pass, band-pass, all-pass, parametric eq, low freq. shelf, & high freq. shelf) for speaker crossover design and speaker/driver correction/equalization, as well as dynamic, graphics based, specification of audio channel input/output routing, volume, dynamic range compressor profile, output delay, and output phase. Designed USB/RS-485 network hardware and firmware for networked studio monitors. Also wrote Windows software and firmware to update embedded speaker firmware over USB serial link. Show less

    • Consultant
      • Nov 2002 - Dec 2002

      Embedded TCP/IP and power-management s/w in Dynamic C for Rabbit 3000 microcontroller on Z-World single-board computer. Embedded TCP/IP and power-management s/w in Dynamic C for Rabbit 3000 microcontroller on Z-World single-board computer.

    • United States
    • Medical Equipment Manufacturing
    • 1 - 100 Employee
    • Consultant
      • Apr 1998 - Jun 2002

      On and off consulting work doing LabWindows programming and embedded firmware for Biomagnetic Liver Susceptometer. LabWindows C and Win32 multi-threaded programming on Windows 98 for a medical data acquisition system, including analog and digital I/O s/w for National Instruments PC cards. Design of PIC16C84 microcontroller assembly software and hardware for wired hand-held remote control. On and off consulting work doing LabWindows programming and embedded firmware for Biomagnetic Liver Susceptometer. LabWindows C and Win32 multi-threaded programming on Windows 98 for a medical data acquisition system, including analog and digital I/O s/w for National Instruments PC cards. Design of PIC16C84 microcontroller assembly software and hardware for wired hand-held remote control.

    • United States
    • Biotechnology Research
    • Consultant and Lead Senior Firmware Engineer
      • 2000 - 2002

      Bluetooth baseband Link-Controller s/w lead. Designed and implemented preemptive scheduling for mini RTOS on 8051. Designed Bluetooth Link-Controller s/w and lead/managed s/w engineers working on Bluetooth stack lower-layer s/w. Worked with FPGA/ASIC engineers to design firmware/hardware interfaces. Designed power management scheme for Transilica Bluetooth chip and s/w stack. Re-wrote C code in 8051 assembly for code reduction and speed. Bluetooth baseband Link-Controller s/w lead. Designed and implemented preemptive scheduling for mini RTOS on 8051. Designed Bluetooth Link-Controller s/w and lead/managed s/w engineers working on Bluetooth stack lower-layer s/w. Worked with FPGA/ASIC engineers to design firmware/hardware interfaces. Designed power management scheme for Transilica Bluetooth chip and s/w stack. Re-wrote C code in 8051 assembly for code reduction and speed.

    • Software Development
    • Consultant - Audio DSP
      • Jun 1998 - May 2000

      DSP56309 s/w lead. Used Tasking EDE & C tools for DSP s/w development. Wrote DSP s/w for I2C, SPI, NCO, and Xilinx code-load drivers. Wrote DSP assembly s/w to synchronize audio and video using asynchronous multi-rate (poly-phase) filters. Also wrote DSP assembly s/w to synchronize input video to an external video reference by using the reference black-burst syncs to control output video NCO frequency and to line/pixel-lock the output video. DSP56309 s/w lead. Used Tasking EDE & C tools for DSP s/w development. Wrote DSP s/w for I2C, SPI, NCO, and Xilinx code-load drivers. Wrote DSP assembly s/w to synchronize audio and video using asynchronous multi-rate (poly-phase) filters. Also wrote DSP assembly s/w to synchronize input video to an external video reference by using the reference black-burst syncs to control output video NCO frequency and to line/pixel-lock the output video.

    • United States
    • Automation Machinery Manufacturing
    • 1 - 100 Employee
    • Consultant
      • Feb 1998 - Dec 1999

      Win32 multithreaded Visual C software design for multi modem/RS-232 device communications on Windows NT control console. Windows NT console communicated with remote supply stations on a scheduled basis. Designed and wrote TCP/IP version of the s/w described above. Win32 multithreaded Visual C software design for multi modem/RS-232 device communications on Windows NT control console. Windows NT console communicated with remote supply stations on a scheduled basis. Designed and wrote TCP/IP version of the s/w described above.

    • United States
    • Communications Equipment Manufacturing
    • 100 - 200 Employee
    • Lead Senior Embedded Firmware Engineer
      • 1997 - 1998

      Designed Nucleus/C/assembly real-time firmware for GSM & IS-136 handsets - this included device drivers & audio-tone engines. Functioned as RTOS and driver layer lead engineer on IS-136 cell-phone. Designed Nucleus/C/assembly real-time firmware for GSM & IS-136 handsets - this included device drivers & audio-tone engines. Functioned as RTOS and driver layer lead engineer on IS-136 cell-phone.

    • Senior DSP Firmware Engineer
      • Jan 1996 - Jan 1997

      Maintained and designed DSP56000 real-time firmware for V.32 & V.34 modems. Maintained and designed DSP56000 real-time firmware for V.32 & V.34 modems.

    • United States
    • Software Development
    • Senior Firmware Engineer
      • 1994 - 1996

      Ported pSOS & pROBE to 68302. Designed real-time C and 68302 assembly firmware to convert floating-point STS-1 to DS3 jitter attenuating algorithm to fixed point. Partially designed & maintained C/8051 firmware for a T1-line performance monitoring remote module. R&D on DSP32C using C to implement voice call analysis on DS0 lines. Ported pSOS & pROBE to 68302. Designed real-time C and 68302 assembly firmware to convert floating-point STS-1 to DS3 jitter attenuating algorithm to fixed point. Partially designed & maintained C/8051 firmware for a T1-line performance monitoring remote module. R&D on DSP32C using C to implement voice call analysis on DS0 lines.

    • Senior Firmware Engineer
      • Mar 1993 - Dec 1994

      Designed & developed real-time TMS320C50 assembly firmware for a military portable satellite modem-terminal. Responsible for 75% of the up-link firmware - this included macros, built-in-test, up-link process control, up-link time probing, up-link frame generation, & clock interface/control. Held secret clearance. Designed & developed real-time TMS320C50 assembly firmware for a military portable satellite modem-terminal. Responsible for 75% of the up-link firmware - this included macros, built-in-test, up-link process control, up-link time probing, up-link frame generation, & clock interface/control. Held secret clearance.

    • United States
    • Medical Equipment Manufacturing
    • Software Enginneer
      • 1991 - 1992

      Developed real-time pSOS RTOS, C and 68030 assembly software for VME-Bus based medical signal acquisition system. Responsible for design and development of interrupt drivers, communication schemes, AT&T DSP32C firmware, and overall data flow. Developed real-time pSOS RTOS, C and 68030 assembly software for VME-Bus based medical signal acquisition system. Responsible for design and development of interrupt drivers, communication schemes, AT&T DSP32C firmware, and overall data flow.

    • Norway
    • Performing Arts
    • Consultant - Audio DSP
      • 1988 - 1991

      Converted DSP56000 assembly CCITT ADPCM floating-point algorithm to fixed point to greatly reduce execution time. Coded multi-rate (poly-phase), FIR and IIR Biquad filters for general-purpose audio applications. Also wrote C and 68030 assembly device drivers for VME-Bus audio/graphics boards under OS-9, PDOS, & UniFLEX - this included audio, video, keyboard, & mouse drivers. Converted DSP56000 assembly CCITT ADPCM floating-point algorithm to fixed point to greatly reduce execution time. Coded multi-rate (poly-phase), FIR and IIR Biquad filters for general-purpose audio applications. Also wrote C and 68030 assembly device drivers for VME-Bus audio/graphics boards under OS-9, PDOS, & UniFLEX - this included audio, video, keyboard, & mouse drivers.

    • France
    • Investment Management
    • Embedded Software Engineer
      • Oct 1987 - Mar 1989

      Designed & developed C and 68000 assembly real-time firmware & H/W diagnostics for VME-Bus audio board. Use of oscilloscope & logic analyzer to debug VME audio board H/W. Designed & developed C and 68000 assembly real-time firmware & H/W diagnostics for VME-Bus audio board. Use of oscilloscope & logic analyzer to debug VME audio board H/W.

Education

  • University of California, San Diego
    Bachelor's Degree, Electrical, Electronics and Communications Engineering

Community

You need to have a working account to view this content. Click here to join now