Embedded Technology Design

Our company has extensive experience in the design and development of embedded solutions, for our customers. The firmware team has expertise in various tools and technologies used in the development of cutting-edge solutions in the embedded domain.

The embedded software development solutions, developed at Whizz, consist of firmwares that are standalone bare-metal (applications running directly on a processor, without an OS), RTOS based and Linux bases, for a variety of microcontrollers and microprocessors, running on multiple architectures. The following are some of the platforms that we have worked on

  • Artik 020
  • Artik7
  • Dialog 14583, 14681
  • Atmega48PN
  • Arduino Nano/Mega
  • Cypress FM4
  • Raspberry Pi
  • Silicon Labs EFR32BG13 based chips.

Embedded Technology Design: Protocols

  • Wireless Protocols:
    • BLE
    • BLE-Mesh
    • Thread
    • Zigbee
    • LoRaWAN
    • Wifi
  • Wired Protocols
    • UART
    • I2C
    • SPI
    • I2S
    • USB
    • Ethernet

Embedded Technology Design: Software Development & Peripheral Integration

  • FreeRTOS on Dialog SOC Devkit (DA14681)
  • Interfacing of QSPI, SPI, I2C, PWM, UART, ADC, BLE
  • OLED display Control, Peltier and Fans power control via PWM
  • Battery charging and power profiling
  • PID based Servo motor control on Arduino for robot head movement
  • Sensor board integrated with VOC, Grid-Eye, Temperature, Humidity, Ambient light, color sensor, Microphone.
  • Implement BLE Mesh SIG Models for lighting

Tools Used for Embedded Technology Design Projects

  • GCC, Make/Cmake, Arm compilers, Atmel Studio, Atollic True Studio, Wiced Studio, Dialog Smart Snippets Studio, Silicon Labs Simplicity Studio
  • Cloud Integrations with Samsung Artik cloud, Amazon AWS, Google and Azure IOT Cloud services integration.

Embedded Technology Design: Board Diagnostics/BSP Porting

The software team at Whizz Systems complements the Hardware design team for the design and production of quality PCBs/Boards. The team works closely with the customers and the hardware design team to evaluate and select the optimum microcontroller and microprocessor, to fulfill the product requirements.

Our experienced engineers have developed diagnostic tools and application for board bring up and validation. The utilities have been used for testing various high-speed interfaces like

  • DDR
  • USB
  • PCIe
  • UART
  • I2C
  • SPI

For boards that require running Linux/BSD based OS, our engineers configure custom BSPs, manage configuration settings for kernels and bootloader, write specialized device drivers and develop applications, for efficient testing and board bring-up.

These custom Linux images have been developed using

  • Cavium Network SDKs.
  • OpenWRT/LEDE build system.
  • Yocto and buildroot environments
  • Intel/Xilinx SoC configuration tools

For processors

  • Octeon ThunderX ARM CN8XXX
  • Octeon MIPS CN7XXX boards
  • Intel Atom C3558
  • ARM based SoC solution running on FPGAs

Running OSes

  • OpenWRT
  • Debian/Ubuntu
  • Fedora
  • PetaLinux
  • OpnSense
  • PFSense

Networking Solutions for Embedded Technology Design

The Networking development arm of our software team has experience in designing, implementing, and testing various applications for our networking solutions. The team is proficient in deployment and testing of networking tools

  • OpenVPN
  • OpenVSwitch
  • DPDK
  • Surricata
  • Snort
  • Hyperscan

The team has expertise in developing multiplatform SDWAN solutions for OpnSense based firewalls. These solutions use the following technologies and deployments

  • Cloud Hosted WebGUI implemented in Angular 9, Javascript
  • Network Management server on AWS using NodeJs, MongoDB, Javascript
  • Multithreaded python client agents performing the following networking configurations
    • Ethernet configuration.
    • IPSEC/GRE tunnels, dhcp rules.
    • Static and dynamic routes (OSPF)
    • Policy Routing implementation.
    • Network statistics and health management
    • Automated OS/Software upgrades.
    • Firewall configurations and rules management

The following are the languages and tools used in our networking solutions

  • Python, Java, Javascript, Php languages
  • Mongodb, Express.js, Angular, Node.js, Swagger Web frameworks

Embedded Technology Design: Standalone/Web/Mobile Application Development

The Software development team has expertise in the development of various user space applications using a wide variety of languages and tools, the details of which are given below

  • Languages
    • C/C++, Python, Java, Javascript, Php, Swift, ObjectiveC, Bash.
  • GUI/Web frameworks.
    • MFCs, .Net framework, QT, Angular, Flask, Lighttpd, Node.js, Express.js, Swagger, mongodb.
  • Tools used
    • GCC, Make/Cmake, Arm compilers, Visual Studio, Eclipse, Atmel Studio, Atollic True Studio, Wiced Studio, Dialog Smart Snippets Studio, Silicon Labs Simplicity Studio, Android Studio, XCode
  • Networking protocols
    • HTTP/S, COAP, MQTT, Websockets, REST APIs, Socket programming
  • Mobile application development
    • iOS and Android apps
  • Cloud Integrations
    • Samsung Artik cloud, Amazon AWS, Google and Azure IOT Cloud services integration.

Software applications developed by our team include

  • GUI based testing application for 10G/25G ethernets running on FPGAs
  • GUI based board testing applications
  • Personal assistance Robot application suite
    • Multi-application framework managing voice command based operations
    • Integration of Speech to Text and Text to speech libraries
    • Camera integration and LCD content management
  • Management Gateway for a Smart lighting system with the following features
    • Multi-application lighting management daemon in Ubuntu
    • Web interface for configuration management
    • Cloud interfaced applications for OTA and device management
  • iOS/Android Smart lighting management and provisioning apps
  • iOS/Android BLE based cooling device management apps