Firmware Development

Software engineer writing code for Microcontroller

We can develop the firmware to your newly designed electronic board. Our firmware engineers are experts in integrating multiple embedded processors (like Microcontrollers, FPGA and SOM) into the electronics to have a full, and custom solution. We can develop code for the following platforms:

  • STM32 Microcontrollers
  • ESP32
  • Texas Instruments DSPs and Microcontrollers
  • Arduino based systems
  • Multiple ARM platforms
  • Microchip PIC and Atmel Microcontrollers
  • Applications using Raspberry Pi (and similar) as core processor.
  • Low-level Driver development
  • Peripherals integration, including sensors, memory, communications.
  • Wireless platforms like Wi-Fi, Bluetooth, ZigBee, NFC, RF, among others.
  • Integration of user interface devices like: Membrane Keyboards, Displays, Touch Screens, Push-buttons, audio, and more.

Bare-Metal Configuration

We will configure your MCU (Microcontroller Unit) to perform at its full potential. We are experts in assigning and configuring embedded resources like: System clocks, Analog I/O, Digital I/O, High Speed buses, Interrupts, Timers, Counters, PWM signals, Real Time Clock, etc.

Using a GUI to configure resources on a n ARM MCU
Configuring the Internal clock of the SMT32

System Clock Configuration

Configuring the system clock on your microcontroller is essential for the success of the overall timing architecture response of your system. Having a reliable source of synchronism allows the execution of preprogramed functions and sequences in a timely manner which are the core of any modern embedded system system.

Low-Level Driver development

In embedded systems, a board support package (BSP) is the layer of software containing hardware-specific boot firmware and device drivers and other routines that allow a given embedded operating system, for example a real-time operating system (RTOS), to function in a given hardware environment (a motherboard), integrated with the embedded operating system. We are familiar with a variety of Compilers and IDEs (Integrated Development Environment) that allow us to rapidly write low-level drivers for your hardware. From individual peripherals set up to more complex BSP (Board Support Package) we can help you architect the right structure of your electronic project.

Compilers and IDE for ARM
Debugging embedded hardware with Logic Analyzer

Embedded System Hardware Debugging

Embedded systems design is a challenging field. Each customer project is unique with diverse needs and constraints. We can debug your embedded hardware using several methods, and equipment like logic analyzers. High speed DAQs (Digital Acquisition Systems) and digital oscilloscopes. There are many ways to debug embedded systems. Tools that help include simulators, in-circuit emulators, JTAG/BDM debuggers, custom hardware, LEDs, and switches, as well as serial or other communication ports. Depending on budget and project complexity, we will choose the best tools that fit your project needs.

Call us now to schedule your FREE consultation about your application.

mailto: ___ Ph. (949) 2261622