Profileimage by Marcos Santos Hardware / Software / Firmware Developer from SoPaulo

Marcos Santos

available

Last update: 06.09.2022

Hardware / Software / Firmware Developer

Company: Opus Equipamentos ltda.
Graduation: Curso Técnico Integrado – Engenharia Elétrica / Eletrônica -- Escola Técnica Padre Landell de Moura - February 1975 – November 1978
Hourly-/Daily rates: show
Languages: English (Full Professional) | Portuguese (Native or Bilingual) | Spanish (Limited professional)

Attachments

msantos_en_1022.pdf

Skills

Please find below a 30K foot view with the 5 most relevant points in the last 40 years. 
Things began to happen when way back in the 80s, I learned and applied the concepts of reliable and fail-safe hardware/software while working with high-power propulsion (like radioactivity, things that you better have respect by default) and avionics grade electronics (blue screens while moving at high speed are a no option). I have never forgotten to honor them ever since.
My background is in electronics and engineering on industrial and research machinery. This gave me a sense of observing things from the inside, fully grasping their inner workings, and so being better positioned to infer their behavior accurately.
Then came the opportunity to work with analytical instruments as a gift. If it brought from one side the severe demand for ‘really’ understand and ‘do apply’ calculus, linear algebra, statistics, and several physics concepts (read sleepless nights); On the other, it was a superb chance to be in contact and learn with some of the best people in their respective activities. I thank the Lord for this.
But theories, devices, and methodologies are essentially predictable. Cut to being out of the comfort zone, enter the variable called people on the equation, and go to see things getting weird when you're in charge of customer care to a large pool of companies, building teams during missions in countries with diverse cultures, or providing sound arguments to back up sales initiatives (usually in a zap). It is a long road to master how to deeply understand customers' needs (an essential virtue) and to be fluid just enough to conquer respect either on the factory floor or at business negotiation tables and their chairs. I'm still riding (with humbleness) this road, knowing it has no end.
Considering the above, the practices of dosing innovation and creativity to the safe side mode development mainstream, dividing and conquering systems, and facing the hard work of learning to adapt to the unknown are composing a map that proved to be effective in producing a work path with no significant failures. Ok, it's naive to pretend failures won't happen, they do. But being prepared and keeping them small and manageable was one of the keys to be bringing many systems to life in the last two decades.   
Looking ahead, I see a landscape where technology and computer power grow at such a fast pace that fantastic things can be crafted out Machine & Deep Learning in Data Science for example, all linked with powerful programable hardware to bring AI to things all around us or enhance the intuition of our research / financial fellows.
I want to be part of it.  If you think the same, I'd like to invite you to keep reading (you may use the hyperlinks on this document to go deeper). Why not team up and show the world something amazing and valuable?  

Project history

08/2019 - Present
System Architect - ASVP Project - Surface Area by Adsorption Isotherms.
Opus Equipamentos Ltda. (< 10 employees)
Industry and mechanical engineering
Project ASVP
Development of a system to provide all needs to manage analytical instruments such as surface area by gas adsorption and particle size by laser scanning. Composed by :
  • Custom S.O. : Debian @ Arm hosted on Raspberry 4B or iMx/RT20 (or PC)  
  • User Interface : All JavaFX. Including Window Manager, Android-like widgets/tools, Material-like LAF. - see simpler version @  - PP200
  • Calculation core/server : Repository of libraries and functions used to do the hard work on instruments math & statistical tasks. The base language is Python (obviously) with Pandas and Scipy. Interfaces with Java UI above via sockets. - see MongoDB interface + Entity Manager & Compiler to it @  PServer_d
  • Calculation Interface/Research: Browser based hook used to help university research people create new functions. Currently uses Jupyter notebooks interfacing with calc. core above.
  • Remote access to calculation core and instrument tools : uses a custom https server (Jetty) to host Angular 7 apps in the local version. It was tested as a portal hosted at Google Cloud. Both Computer engine (with custom image uploaded plus load balance to 4 lanes) and Firebase version passed proof of concept phase. URL is Sorptionlab server - see frontend @  Temps1
  • Hardware/Firmware and RTOS : uses NXP FRDM K64 Arm M4 core running custom return on completion state machines written in C/C++ (Arm GNU). - see examples @ github.com/msantrax/lgt8 and github.com/msantrax/Picno2 - Interfaces with the user SO via RS232 presently but drivers to talk ethernet/MQTT may be used from our past projects (Android app on tablets see @  Virna7
Ongoing research and not yet implemented are: A simple neural perceptron (Python) to help qualify adsorption isotherms prior analytic procedures and a real-time image pre-processing & feature-id on the edge to help dynamic particle size determination.

05/2014 - Present
System Architect - Analytical Instruments support platform.
Opus Equipamentos Ltda. (< 10 employees)
Industry and mechanical engineering
Observing customer's requests in the past 20 years while developing systems for research and industry led to the following general initiatives/products being implemented (please use the link to go to the associated project and see better details):
  • A custom, ruggedized, and clean Operational System based on Open Source Debian Linux to attend to the key concepts of freedom (no recurrent activation / no third parties), trust (all source code available / no eavesdropping), and simplicity (no useless gadgets or drivers loaded). See on projects ASVP and PP200.
  • A clean and fast desktop window manager resembling the successful Android canvas and activities management.  A distraction-free, well-known look and feel and dynamic error check environment proved to raise the analyst performance effectively  - See  PP200 project. 
  • An independent heavy-lift analytical core (Python - Scikit-learn and Pandas) providing services to implement AI strategies through Statistical Inference, Data Cleaning, Estimation, and Machine-learning. Note that it is real-time on the edge data processing (no fancy Tableau dashboards). Project ASVP has halved the expected analysis time (more than one hour). See ASVP
  • A browser-based Research Server (Jupyter Notebooks) and IPython script executor on the analytical core to enable researchers to implement their theories and procedures. So no need to call for software upgrades; implementation is immediate. This server can be hosted on any Kubernetes managed clusters living on Google Cloud or IBM Watson environments, enabling genuine research cooperation or human resources administration.
  • A  robust hardware with very low MTBF was possible using a solid foundation in hardware development resources (quality IDEs and design tools),  focus on well-known CPU cores (NXP ARM Cortex),  stable toolchains (open source GNU GCC/Linker), use of FPGA when needed, the use of well-documented analog components and vendor design support tools, and a good simulation environment ( PSpice   MatLab ). 
  • To do the legacy code interface always needed when retrofitting old instruments, the reverse engineering tasks were well supported by good tools like IDA Hex Rays, Wireshark, S010 Editor, JTAG probes among many others. The time spent to understand the inner workings of the linking, map and booting processes on several O.S. along with some assembler proved to be substantially valuable.

04/2015 - 06/2017
System Architect - Project AutoDensity - Pycnometry by gas volumetry compliant to ASTM D-2856 and ASTM D-6683
Opus Equipamentos Ltda. (< 10 employees)
Industry and mechanical engineering
Project AutoDensity
Objective: provide hardware, firmware, and analytical user interface to operate a pycnometer able to measure density on ores/cement by gas volumetry compliant to standard ASTM D-2856 and ASTM D-6683. Technologies are :
  • Hardware: All electronics (digital and analog), PCB design, and mechanical drawing were developed in-house. -- Tools used : Proteus8, SolidWorks, and Texas Instruments. - sample drawings @  Picno2
  • Firmware: Used [Opus-Developed] Antares4 platform (over MBED drivers to ARM/M4) to the stand-alone version and [Opus-Devel] Antares5 platform (over NXP drivers to ARM/K64) to computer-assisted version. See MBED on GNU ARM-EABI C/C++ project codes @  Picno2
  • Computer Application: The user interface used first the already established [Opus-Devel] Analytical Platform (Java Swing on Netbeans 8.0) working on Windows or Linux. After a big client (CVRD/Brazil) requested to make a multi-instrument interface, it was rebuilt using the new [Opus-Devel] Analytical platform (JavaFX), becoming then project AD100/AD200 after the associated upgrade of hardware and firmware.

04/2014 - 02/2016
System Architect - Project LGT8 - Precision Polishing & Lap to Geological Samples
Opus Equipamentos Ltda. (< 10 employees)
Industry and mechanical engineering
Project LGT8
Objective: provide hardware, firmware, and analytical user interface to operate a pycnometer able to measure density on ores/cement by gas volumetry compliant to standard ASTM D-2856 and ASTM D-6683. Technologies are :
  • Hardware: All electronics (digital and analog), PCB design, and mechanical drawing were developed in-house. -- Tools used : Proteus8, SolidWorks, and Texas Instruments. - sample drawings @  Picno2
  • Firmware: Used [Opus-Developed] Antares4 platform (over MBED drivers to ARM/M4) to the stand-alone version and [Opus-Devel] Antares5 platform (over NXP drivers to ARM/K64) to computer-assisted version. See MBED on GNU ARM-EABI C/C++ project codes @  Picno2
  • Computer Application: The user interface used first the already established [Opus-Devel] Analytical Platform (Java Swing on Netbeans 8.0) working on Windows or Linux. After a big client (CVRD/Brazil) requested to make a multi-instrument interface, it was rebuilt using the new [Opus-Devel] Analytical platform (JavaFX), becoming then project AD100/AD200 after the associated upgrade of hardware and firmware.

02/2013 - 10/2014
System Architect - Blaine - Cement/Ore fineness by Blaine technique compliant to the standard ABNT 16372
Opus Equipamentos Ltda. (< 10 employees)
Industry and mechanical engineering
Project Blaine
Objective: provide hardware, firmware, and analytical user interface to operate a device able to measure powders' fineness by using a Blaine technique compliant to the standard ABNT 16372. Technologies are :
  • Hardware: Interface electronics to a customer-provided test jig were made. A commercial SoC MIcrochip Mips 32 bits core was used as an instrument microcontroller.
  • Firmware: A dedicated single event loop program was compiled using the Microchip IDE and the associated X32 C/C++ toolchain.
  • Computer Application: The user interface used the Opus-based analytical platform (Java Swing on Netbeans 8.0) working exclusively on Linux so it could be embedded. Code may be found @ GitHub/PP100
After a requested project upgrade, the especifications gave birth to the PP200 platform with a dedicated and specialized Linux O.S. tailored to analytical instruments, capable to work on different architectures (ARM, x86) and with Android-like window manager and distraction-free operation. Code may be found  @  - PP200

06/2009 - 04/2011
System Architect - Centauro - controlled atmosphere induction furnace to metal/ceramic materials
Opus Equipamentos Ltda. (< 10 employees)
Industry and mechanical engineering
Project Centauro
Objective: provide hardware to create a controlled atmosphere induction furnace to metal/ceramic materials capable of operating over 1500°C for extended periods of time. Technologies are :
  • Hardware: Mechanical design using SolidWorks, PCB design using Proteus 8, Mosfet switching design using SPICE by Texas dev tools, RF coupling study using HFSS  Maxwell.
 The project was on hold after prototyping due lack of funds. Drawings and PCB designs may be found  @  - Centauro

08/2008 - 02/2010
System Architect - Vehicle Dynamics - Vehicle's sensor network data.
Opus Equipamentos Ltda. (< 10 employees)
Industry and mechanical engineering
Project Vehicle Dynamics
Objective: provide hardware, firmware, and analytical user interface to retrofit a Jurid instrument used to capture a vehicle's sensor network data. Technologies are :
  • Hardware: Interface electronics in a single Eurocard PCB were done. It used a tandem of two MIcrochip Mips 8 bits cores as an instrument microcontroller. One core provided the real-time management of the sensors event bus, and the other managed to sequence the reactive answers to promises requested by the analytical software. This way, the time resolution of the process was kept down to hundreds of microseconds. The interface with the analytical computer was done by regular RS232.
  • Firmware: Both programs were compiled using the Microchip IDE and the X08 toolchain. They were also compliant with the MISRA standard and were fuzzy tested according to the automotive recommendations.
  • Computer Application: The user interface used the Opus-based analytical platform (Java Swing on Netbeans 8.0) working on Windows. A local version of a Postgresql server was used to store analytical results. All documentation and sample code are @  - Vehicle Dynamics except by the sensor grid refs. that was moved to Control-e project. 
This project was also used to test the first Opus-based sensor grid compliant with IEEE 802.11. The modules used were the Microchip MRF401 on the 2.54 GHz. The pub/sub broker was Opus proprietary living on the computer application. Both Mesh and Node Master modes were tested and succeeded.

03/2005 - 11/2007
Developer - DGT100 - Microwave Digestion Device & Organic Synthesis/Catalysis
Antrax Tecnologia Ltda. (< 10 employees)
Industry and mechanical engineering
Project DGT100
Objective: provide hardware and firmware to upgrade a microwave digestion device with a modern microcontroller and double the delivered power compared with similar devices. The technology used on these devices had to be changed to achieve the target and give a requested advantage over competitors.
  • The microwave cavity design was changed from a regular oven device (that demanded sample vessels built with expensive materials) to a focused mode (that required only normal steel vessels). To operate so, the Magnetron had to be pulse modulated, a synchronized circulator had to be implemented, and the waveguides were tuned to avoid reflection. The tools used were HFSS, SolidWorks, and INRIA SciLab. A prototype with six vessels delivered 4+ times more energy to a sample than the regular device and allowed true concurrent digestion cycles and different power levels to each vessel. 
That opened the opportunity to embrace the research of using the device to do effective Organic Synthesis/Catalysis using molecular resonance principles already learned from Microwave Spectroscopy since 85. Unfortunately, the project was put on hold due to a lack of funds and sponsorship. (but would gladly accept sponsoring offers nevertheless).

03/2002 - 04/2003
Developer - Iris - Inductively Coupled Plasma Spectrometer Optics replacement
Antrax Tecnologia Ltda. (< 10 employees)
Industry and mechanical engineering
Project Iris
Objective: Refurbish an Inductively Coupled Plasma Spectrometer (ICP) Iris model from Thermo Jarrel, replace (and make compatible) his CCD Camera, and modify entrance optics (radial to axial). Technologies used :
  • The technics and theory to perform optical design and alignment of poly/monochromators used on UV/VIS spectrometers (learned skill since 85) were applied to recalculate the optical path to fit the new camera device.
  • A proprietary software tool using the Opus-based analytical platform was designed to help the dimensional corrections on the Echelle Optics and the design of new focusing devices chain to the optical entrance path. Calculations were also performed using Zeemax optical CAD (old version).
  • Redesign and programming of the camera timing and control FPGAs were done with Altera Quartus (old version). Pictures of the instrument under this process will be uploaded to GitHub.

08/1998 - 01/2001
Developer - Antares - Long-term Metallurgical Creep Tests compliant with the standard ISO 204 / ASTM E039
Antrax Tecnologia Ltda. (< 10 employees)
Industry and mechanical engineering
Project Antares
Objective: provide hardware, firmware, and analytical user interface to coordinate a pool of 10 instruments able to execute long-term Metallurgical Creep Tests compliant with the standard ISO 204 / ASTM E039. Technologies are :
  • Hardware: Each instrument received an entirely in-house designed 8051 microcontroller board associated with sensors front-end and power control interfaces able to maintain the furnace temperature up 960°C in a 2°C range and convert the signal from an LVDT sensor in submicron levels. The data network was based on an optoisolated RS485 bus and was compiled ising a mix of C (SDCC) and assembler. 
  • The user interface used first a VisualBasic (Antares2) based version and later was upgraded to use the Antrax based analytical Java platform. The first implementation of the analytical procedures designer canvas to help researchers develop their own methods (resembling MATLAB Multisim or INRIA Scicos but connected real-time with sensors) proved successful (become Antares3).

02/1997 - 07/1998
Developer - Medusa - LIMS Interface & Protocol converter to Analytical Instruments.
Antrax Tecnologia Ltda. (< 10 employees)
Industry and mechanical engineering
Medusa Project
Objective: Provide ways to intercept, filter, and transform analytical results from instruments unable to talk to enterprise database managers. Technologies are :
  • Hardware data converters were developed to capture from RS232, GPIB, Parallel Centronics, and bare metal proprietary thermal printers. The modules used 8051 cores and C compiled with SDCC and assembler.
  • On the corporate interface side, a concentrator and protocol modifier was used, written using QT C++ Framework, and hosted on Linux. A small and simple MySql DBServer was used as a buffer and public access port.

Contact form

Contact details

Profileimage by Marcos Santos Hardware / Software / Firmware Developer from SoPaulo Hardware / Software / Firmware Developer
Register