Ingenia Motion Control
Ingenia is a company dedicated to the science of motion control. They design and produce off-the-shelf and customized solutions to answer the industry need for increasingly complex, high-tech motion control applications. Some of the projects I usually work are:
- Development of open-source multiplatform libraries for communications and motion control
- Design and development of Ingenia's automated hardware testing platform (signal measurement/generation, servodrive actions validation, I2C/GPIO actuation, integration with CI system, etc. -all done in Python-)
- Development of motion control/robotics applications (e.g. Google gimbal, XY two-axis board, synchronous motion, etc.)
Part of the PowerVR group. Firmware and driver development.
Part of the platform team in the Sports division. Developed drivers for core components of the watch, designed and implemented sensor calibration algorithms and assisted production in China.
Universitat Politecnica de Catalunya
Five-year degree (BSc and MSc) focused on both electronics and software engineering. Course scope included antennas and microwaves theory, signal processing techniques, statistics and stochastic processes, communication systems design and software engineering.
Got an overall mark of 8.41/10 (position 9 of 152) and received a Recognition of Outstanding Academic Achievement.
Entitled Development of a multi-channel SAR simulator for open-oceans: OASIS, was done at DLR (German Aerospace Center) under the supervision of Paco Lopez-Dekker. Co-authored the conference paper ATI and GMTI Performance Analysis of Post-Sentinel-1 SAR Systems based on Simulations using OASIS
Embedded Linux kernel and driver development
Get familiar with device driver development for the Linux kernel.
Evaluated the performance of the 169 MHz band in urban areas for Smart Cities applications.
ICFO (Institute Of Photonic Sciences)
Skills and competences
Languages and libraries
Extensive experience with C and Python. Familiar with cffi Python C extensions, Numpy, SciPy, Matplotlib, PyQt/PySide. Non-trivial experience with C++ and bash scripting. Familiar with testing and CI/CD. Some experience with Linux Kernel drivers.
Vim and Tmux enthusiastic. Worked many years using SCM systems including GIT, Perforce and SVN. Experience configuring complex multiplatform projects with CMake. Familiar with multiple continuous integration tools (Jenkins, Travis, AppVeyor). Experience with Doxygen and Sphinx documentation systems. Also familiar writing in LaTeX.
Extensive experience with Atmel AVR and ARM Cortex M4 (Atmel SAM family) Raspberry Pi and BeagleBone Black. Some experience with dsPIC and TI C2000 microcontrollers. Written drivers for multiple peripherals including SPI, I2C, DMA, GPIO, PWM, UART, EEPROM, Flash as well as interface APIs for sensors (e.g. accelerometer, compass, heart-rate sensor, LCD, etc.). Worked on both bare metal and RTOS.
Frequent user of the POSIX and Win32 APIs. Experience writing MISRA C 2012 compliant code (verification with PC-Lint). Experience with CANopen (CiA-301, 305, 402). Some experience with EtherCAT.
Networking and Systems Administration
Experience with Amazon Web Services (AWS) (EC2, VPC, VPN, etc.). Configuration of IPsec VPN tunnels and roadwarrior connections (Strongswan). Configuration of Active Directory server (Samba 4). Configuration of RADIUS server (FreeRADIUS). Experience setting up OpenWRT routers. Experience setting up complex Linux server settings.
Extensive experience with EagleCAD PCB design tool. Familiar with schematics.
Algorithms, maths and physics
BLDC/BLAC motor identification, control and tuning algorithms , Motion control applications, sensor calibration algorithms (accelerometer and compass using sphere-fitting methods), ocean surface modelling, SAR (Synthetic Aperture Radar) systems, signal processing, electromagnetic modelling.
Meteotek08: Meteorological Sounding Balloon
Designed a meteorological sounding balloon capable of logging basic atmosphere parameters and taking photographs up to 100 kft.
- First prize, INJUVE, XXII Certamen Jovenes Investigadores (Technology and Engineering branch)
- First prize, CIRIT 2009 (Technology branch)
- Best Engineering project, San Viator School and Carlos III University of Madrid prizes
- Nov. 2009, Google headquarters, Madrid
- Nov. 2009, Deusto Emprende, Univ. of Deusto
- Nov. 2009, Infonomia Re' 09, Barcelona
- Nov. 2009, Aeronautics week, Barcelona
- Oct. 2009, Science week at Univ. Foundation of Bages, Manresa
- Mar. 2009, Mundial Theater, La Bisbal d'Emporda
Openplayer: design and construction of a portable music player
Designed a portable music player including both the circuitry design and firmware programming.
- First prize, INJUVE, XXI Certamen Jovenes Investigadores (Technology and Engineering branch)
- First prize, Pompeu Fabra University, II Prize for high school projects in Engineering and Applied Mathematics
- First prize, EPSON Foundation, Jose Cantero Prizes (Technology branch)
- First prize, University of Vic, High school project prized (Technology and Science branch)
- First prize, La Salle University, Innovation and Engineering prizes (Technology branch)
- First prize, Ramon Llull University, High school project prizes (Technology branch)
- Second prize, National Don Bosco Prize to research and technological innovation
- Catalan, Spanish: Mother tongues.
- English: Professional working proficiency.
- Awarded the Balsells Fellowship to pursue graduate studies at the University of California Irvine during the '15-'16 academic year (widthdrawn, did not meet expectations).
- B class driving license.