Microcontrollers

Extensive experience programming in embedded environments with various processors and different development environments. Hardware design including component selection, schematic development, and PCB layout with microcontrollers interfacing with hundreds of different embedded devices including sensors, radios, data translators, memory, other processors, human interface devices, and much more. This includes everything from processor selection, to authoring and testing embedded code, through to programming in a mass production environment.STM32 F4 Series

  • Summary
    • Extensive experience within almost every class of embedded controller ranging from simple 8-bit microcontrollers to complex 32-bit processors with DSP
    • Extensive experience with multiple development environment features, including in-system debuggers, boot loaders, compilers and linker file generation, optimization, and version control features
    • Extensive experience with interfacing microcontrollers with sensors, memory, custom and off-the-shelf radios (e.g. GPS, WiFi, ADCs, PLLs), FPGA/CPLDs, buttons, knobs, LCDs and more
    • Dozens of designs which included complex operations including target tracking, feedback control systems, state machines, Kalman filtering, fault detection, communication multiplexing, radio interfacing, the management of virtually every type of interrupt imaginable, and much more
  • ProcessorsMSP430
    • Texas Instruments MSP430 1-, 2-, and 5-series 16-bit microcontrollers (up to 25 MHz CPU clock speed)
    • STMicroelectronics ARM Cortex-M4-based STM32 F4 with DSP 32-bit processors (up to 168 MHz CPU clock speed)
    • Microchip PIC 8-bit processors
    • AMD AM188/186 16-bit microcontrollers
  • Languages
    • C and assembly (no operating system)
    • C++  (using uCOS and eCOS Real Time Operating Systems (RTOS))
  • Development Environments
    • IAR Embedded Workbench
    • Texas Instruments Code Composer
    • Atollic TrueSTUDIO
  • Integrated Peripherals
    • Interrupts (edge-triggered, timer overflow, capture/control, stack overflow, oscillator fault detection, watchdog timers, supply voltage supervisors, various integrated communication interrupt sources, and more)
    • 10- and 12-bit ADCs
    • Comparators
    • Voltage References
    • Communications (UART, USB, SPI, I2C, CAN, 1-wire)
    • Timers and capture/compare registers, PWMs
    • Writing to/reading from integrated Flash
    • Watchdog Timers
    • Supply Voltage Supervisors (SVS)
    • Configurable I/O (Schmitt trigger inputs, pull up/down resistors, open collector/drain, tristate/high-Z, high current drive)
    • Random Number Generators
    • Hardware Multipliers and DSP Cores
    • Digitally Controlled Oscillators (DCO) including factory temperature calibration and internal 32 kHz crystals
    • Clock Frequency Multipliers and PLLs
    • Low Power Modes
    • ESD Protection
    • Overvoltage Protection
    • Mixed 3 V and 5 V Interfaces
  • Interface Devices
    • Human Interface Devices
      • LEDs, 7-segment displays, full-color LCDs including touch screens, buttons, knobs, and switches
    • Power Management
      • Power Supply Sequencing of both switching and linear DC-to-DC converters (power supplies)
      • Control of Power FET control for synchronous rectifier (with excessive capacitive load requiring external driving circuit)
      • On/off power switching to load using PFET high-side switches and relays
      • Battery Management ICs – managing charging/discharging of Lithium Polymer (LiPo) batteries
      • FPGA/CPLD used for Uninterruptible Power Supply (UPS) design and synchronous rectification
    • Memory
      • High-Speed External RAM (DRAM, SRAM, and PSRAM) – both asynchronous and synchronous interfaces some requiring data refresh algorithms (e.g. used for target tracking and general data buffering)
      • EEPROM – for permanent storage of calibration coefficients, serial number, power cycling diagnostic information, and other rarely changing data
      • Memory Cards (SD, miniSD, microSD, CompactFlash, Memory Stick Duo) – for data logging, field programming, post-deployment diagnostics, and more
    • Communication
      • Serial Data Format Converters – RS-232-to-UART, USB-to-232 Converters, UART-to-RS-422, and more
      • Full- and High-Speed 2- and 4-port USB hubs
    • Sensors and Sensing Systems
      • Inertial Sensors – gyroscopes, accelerometers, and magnetometers
      • Current sensors, voltmeters, and power meters
      • Pressure Sensors – for altitude and elevation calculations and as a miniature air flow sensor for a custom designed fuel injection system
      • Rotational Sensors – Hall effect sensors
      • Fuel Flow and Air Flow Meters
      • 12-, 14- 16-, and 24-bit precision ADCs sampling from 10 SPS up to 10 kSPS
      • Op Amps and Instrumentation Amplifiers
      • See more hardware and application examples on Sensors and Sensing Systems page
    • Motors
      • PWM for servo control
      • Electronic Speed Controllers (ESC) for propeller control
      • Other DC motor interfaces including H-bridges for directional control
    • Commercial Off-the-Shelf (COTS) Modules
      • Video Transmitter Modules (both digital and analog), including changing channels via UART and control of video switching and amplification
      • Iridium Data Radio – for satellite communication of low-bandwidth data
      • 900 MHz and 1.3 GHz high-bandwidth, frequency-hopping data radios. Serial port used to load hop table and to transmit and receive wireless data.
      • GPS Modules – receiving location solution and satellite metadata via UART, edge-triggering on PPS signal for precise coordination with UTC epoch
      • WiFi modules – in both infrastructure and ad hoc modes, using UART for changing channels and modulation (switching between 802.11 b/g/n formats) and RF transmit power control and data rates.
    • Custom Radio Interfaces
      • PLL/VCO – programming radio registers, checking and maintaining loop locks, and changing transmit and receive frequencies (channels)
      • I/Q Demodulators – loading configuration registers for internal PLL
      • Logarithmic Power Detectors – RF detectors for determining incoming waveform presence
      • RF switches
      • FPGA/CPLD interfacing with high-speed 8-, 10, 12-, and 14-bit ADCs (> 10 MSPS)
      • FPGA/CPLD interfacing with high-speed 16-bit DAC in Software-Defined Radio (SDR)
      • See more on Radio Frequency (RF) and Communications
  • Programming Methods
    • Embedded programming and in-system debugging using JTAG interfaces
    • Experience programming using terminal windows through the serial port
    • Experience with production programmers streamlined for loading multiple images at once
Contact Us

Visit the Contact Us page for the phone number to call to discuss your engineering needs, or fill in the form below and we'll get back to you ASAP.
css.php