Reusable, reliable, platform-independent device drivers and software with detailed architecture and design ready to be integrated.
Board Support Package (BSP)
Board Support Package (BSP) help to speed up the development process, whether for application software or device drivers. The BSP implements all peripherals available on the MCU with highly dynamic configuration and makes all available peripheral channels accessible. It can be used in both worlds, RTOS and bare-metal, and is compatible between C and C++ programming. It was developed with the C99 standard.
Our list of available BSPs is limited by MCUs with different architectures, currently we support MIPS and ARM Cortex-M. However, our experience shows that projects only need a certain selection of MCUs, but with stable, well-tested and highly configurable BSPs and HAL interfaces that can be safely used with RTOS. Each BSP comes with a sample program and a software design document for evaluation purposes.
Microchip PIC32MK
The PIC32MK was specially developed for industrial, automotive and motor control applications. It uses the MIPS architecture, a 32-bit MCU family that operates at frequencies up to 120 MHz and supports up to 1 MB Flash memory and 256 kB SRAM. It features CAN FD and USB as well as numerous PWM and quadrature encoder interfaces (QEI) that can support various motor control applications – view details
NXP LPC54xx
The LPC54114is equipped with a dual-core MCU with ARM Cortex-M0+ and Cortex-M4, a 32-bit MCU family that operates at frequencies up to 150 MHz and supports up to 512 kB flash memory and 64 kB SRAM. It has numerous UART, PWM, SPI and I2C channels as well as a DMIC subsystem – view details
ST STM32G4xx
The STM32G491is a powerful MCU with ARM Cortex-M4, a 32-bit MCU family that operates at frequencies up to 170 MHz and supports up to 512 kB flash memory and 96 kB SRAM. It has peripherals such as CAN, QSPI, QEI, UART, PWM, SPI and I2C channels. In addition, it has mathematical hardware accelerators such as CORDIC for accelerating trigonometric functions and FMAC, a mathematical filter accelerator.
NXP LPC84xx
The LPC845is a low-cost MCU based on ARM Cortex-M0+, a 32-bit MCU family that operates at frequencies up to 30 MHz and supports up to 64 kB of flash memory and 16 kB of SRAM. This family is characterized by exceptional energy efficiency in low power mode using the internal clock as a source – view details
“Our BSP implementation makes the initialization of peripherals such as system clock, input and output, UART, SPI, I2C, etc. really easy. It has similarities with Arduino, but with full control over the functions and possibilities of the microcontroller.”
Real-Time Operating System (RTOS)
Each OS variant was implemented on the basis of our generic and reusable Operating System Abstraction Layer (OSAL). This architecture ensures the portability of the operating system and minimizes the integration risks and the effort required for the transition to another operating system variant.
FreeRTOS
The FreeRTOS kernel was originally developed by Richard Barry around 2003, and was later developed and maintained by Barry’s company, Real Time Engineers Ltd. In 2017, the firm passed stewardship of the FreeRTOS project to Amazon Web Services (AWS) – view details
“Every OS implementation follows our standardized OSAL, which makes the adaptation and use of RTOS very easy. Switching to a different OS variant is trivial and minimizes integration risk and effort.”
Sensor and Device Drivers
The list of our device and sensor drivers grows over weeks. They are fully tested and have complete documentation on performance, code size, code coverage and, more importantly, their limitations and known issues. The sensor and device drivers are built on our hardware abstraction layer (HAL) and are therefore platform independent. Custom sensor and device drivers are welcome on request.
GPS
The u-blox NEO-6 module series is a family of stand-alone GPS receivers featuring the high performance u-blox 6 positioning engine. Their compact architecture and power and memory options make NEO-6 modules ideal for battery operated mobile devices with very strict cost and space constraints – view details
Radio
The Nordic nRF24L01+ is a single-chip 2.4GHz transceiver with an embedded baseband protocol engine (Enhanced ShockBurst™) suitable for ultra-low power wireless applications. The nRF24L01+ is designed to operate in the global ISM frequency band at 2.400 to 2.525 GHz and operate with SPI communication – view details
Motion
The TDK MPU-9250 is a 9-axis motion tracking device that combines a 3-axis gyroscope, a 3-axis accelerometer, a 3-axis magnetometer and a Digital Motion Processor (DMP). It offers programmable ranges for precise motion tracking: Gyroscope (±250, ±500, ±1000, ±2000°/sec), Accelerometer (±2g, ±4g, ±8g, ±16g) and Magnetometer (±4800μT) – view details
Display
The Solomon Systech SSD1331 is a single chip CMOS OLED/PLED driver with 288 segments and 64 common cathode outputs supporting up to 96×64 RGB dot matrix displays. This device communicates via SPI and has a graphics acceleration command (GAC) with continuous horizontal, vertical and diagonal scrolling as well as a sleep mode and a power saving mode – view details
Motor Drives
The Toshiba TB6612FNG is a compact dual-channel DC motor driver. It features two H-bridge circuits that can independently control the speed and direction of two motors, with a maximum continuous current of 1.2 A per channel (3.2 A peak). The IC operates with a maximum motor supply voltage of 15 V and supports a PWM frequency of up to 100 kHz to control the motor speed – view details
The Allegro A3967 is a complete microstepping motor driver with integrated translator. It is designed to operate bipolar stepper motors in full, half, quarter and eighth step modes, with an output drive capability of 30 V and ±750 mA – view details
Temperature, Humidity and Pressure
The Microchip MCP9843 is a digital temperature sensor that converts the temperature of -40°C and +125°C into a digital word. This sensor complies with the JEDEC specification TSE3000B3 Mobile Platform Memory Module Thermal Sensor Component. It offers an accuracy of ±0.2°C/±1°C (typical/maximum) from +75°C to +95°C – view details
TheBosch BMP581is an absolute barometric pressure sensor. Its small dimensions, low power consumption and high performance allow it to be used in a wide range of applications. It can measure barometric pressure from 30 to 125 kPa with an accuracy of ±0.3 Pa (equivalent to ±2.5 cm difference in altitude) and temperature from -40 to 85°C with an accuracy of ±0.5°C – view details
Signal Conversion
The Microchip MCP4725 is a single-channel buffered 12-bit DAC with voltage output and non-volatile memory (EEPROM). It can drive loads up to 1000 pF in parallel with 5 kΩ load resistance. User can store bits of the configuration register (2 bits) and DAC input data (12 bits) in the non-volatile EEPROM memory (14 bits) – view details