mixed signal multilayer PCB design (10-layers)
creating custom components and footprints
creating custom PCB stack-ups
PCB design for bare-die chips requiring wire-bonding
PCB trace length matching, impedance matching, FPGA package delay matching
exporting manufacturing files and documentation
creating custom silkscreen and importing logos
creating design rules, bill of materials and assembly instructions
using teardrops in fine pitch designs
3 years of teaching students in University of Tartu
Soldering advanced fine pitch components by hand (0201, QFN, LGA, BGA)
Reflow soldering
PCB debugging using:
multimeter
vector network analyzer
time-domain reflectometry
oscilloscope
digital analyzer
electronic load
infra-red camera
X-ray imaging
Ordering and managing assembly service for small volume production
writing firmware for STM32, MSP430, AVR, nRF52
interfaces: I2C, SMBus, UART, SPI, USB
using MCU peripherals: ADC, watchdog, real-time clock, timer, DMA, interrupts
using structures: interrupt driven circular buffer for UART, SPI using DMA, PID controller
writing drivers for various integrated circuits, such as real-time clocks, ADCs, memories, temperature sensors, current shunt power monitors and battery management ICs.
Associate Mechanical Design certificate (C-68KF88GPA3)
Creating assemblies
Creating drawings
Creating models by utilizing:
derived sketches
patterns
configurations
reference geometry
object-oriented programming
multithreading
recursion
spectrum analysis using FFT
tracking objects and finding shapes with openCV
interfacing with hardware using pySerial
plotting with matplotlib
network programming using TCP/IP sockets
logging into file and stream
generating and parsing files (txt, csv, npz)
efficient large array operations with Numpy
creating command-line interfaces with argparse
generating documentation using Sphinx