Building solutions together

The world is becoming increasingly connected, and a huge driving force behind this trend is the advancing technologies in the embedded space.

Here at TekWissen we are truly invested in delivering in the Internet of Things space. We combine our acute knowledge of software and hardware technologies with our vast portfolio of service offerings, products and platforms and our company-wide TekWissen Express delivery framework to develop some of the smartest and most innovative connected devices.

Embedded technologies can provide our customers with a competitive advantage in the following ways:

  • Lower BOM and TCO, higher ARPU
  • Lower support OPEX and full transparency for the remote device operations
  • Smarter power consumption with hybrid offline-online connectivity, including "always off" mode
  • Context-enabled user experience enriched with cloud services integration
  • Constrained networks support and legacy-to-IP convergence to capitalize on the existing infrastructure and services
  • Full ecosystem enablement for longer-term business growth

Embedded software and firmware integration

Software development and integration are core components to our service offerings.

We have the capability to collaborate with you at every stage of the product lifecycle--product envisioning and UX/UI design, technical requirements and architecture specification, software implementation and integration, and finally to deployment and post-production support. We provide this full-cycle service offering across all layers of the embedded software stack: application layer, service layer and protocol stacks, OS kernel, low-level device drivers and software-to-hardware optimization.

  • Device Drivers: serial and parallel I/O, block and char devices, physical and virtual network devices
  • OS Kernel Customization: Linux, eCos, RTOS, Android, QNX, Windows Embedded
  • Application Runtime Integration: native gLibc/ucLibc, embedded JVM, real-time JVM, OSGi
  • Embedded Applications: native and web GUI
  • Bootloader Integration: U-boot, RedBoot
  • Boot Options: NAND, ROM, RAM, TFTP, Serial, NFS, SD, USB
  • Firmware Image Formats: BIN, ELF, JFFS2, UBIFS
  • System Hardening: FW security, reliability, production readiness, size optimization

Basic I/O and connectivity

Device I/O subsystem is the core gateway for connected applications. The primary task for any connected device project is to enable the required I/O interfaces and layer 1-2 protocol stacks with the target functional and nonfunctional characteristics.

Our competencies and experience include the following connectivity interfaces:

  • Serial Interconnect: UART, PCIe, USB, SPI, I2C, RS-232, RS-485, 1-Wire, CAN, TTCAN, LIN, MOST, RGMII/SGMII
  • Wireline: PLC, Ethernet 100M-1G, xDSL, FTTH, DOCSIS, PSTN
  • Wireless: 802.15.4, 802.11, Bluetooth BLE/BHS, Sub-GHz RF, DECT ULE, 3G/4G Mobile, SatCom

Protocol stack integrations

Whether its an open source library, custom development from scratch or a 3rd party commercial protocol stack, our integrated solution delivery offering enables OSI layer 1 to 7 protocol stacks for your applications across multiple domains: TCP/IP networking, All-IP voice/video communications, Wireless networking, Industrial protocols etc.

  • HAL Integration for Protocol Stacks: Linux kernel modules, eCos HAL, Android RIL
  • PPP/SLIP Modem Integration over UART, SPI, PCIe: GPRS, CDMA, 3G/4G, 802.15.4, 802.11
  • MRR Optimization: MIPS, RAM, ROM
  • E2E Testing and Stabilization: manual and automated QA, certifications
  • Pre-integrated Protocol Frameworks: SNGF

Remote device management

Enabling full transparency and low support OPEX for remote device operations is an ongoing challenge for many network operators.

Several major standards have evolved in the industry--TR-069, OMA DM and SNMP are among the most popular protocols, which are deployed on a global scale. Other protocols, such as MQTT and REST API based connectivity for device-to-cloud integration, are emerging together with the world of Internet of Things.

TekWissen has successfully delivered several projects in the area of remote device management and we continue to grow our technical expertise in this area:

  • TR-069 Remote CPE Management: device stack implementation: TR-069 with addendums, TR-106, TR-098, TR-111, TR-104, TR-140 etc.
  • Telemetry over Constrained Networks: MQTT and REST API messaging protocols
  • OMA DM and DS for Mobile Devices: SOAP (1.x) and REST (2.x) based OMA device management standards
  • IP Enabled Networks Management: SNMP

Low power and hybrid connectivity

Power consumption is one of the key issues for modern digital devices--total network power consumption, battery charge prolongation, ECO/Green initiatives support, national and regional regulatory compliances etc.

Standards like The European Code of Conduct for Broadband Equipment are pushing for stricter power-saving requirements. Its easy to imagine how saving an additional 1 watt per device can impact the total power consumption when the operator deploys 1 million devices.

We are ready to address your power management requirements with our engineering services:

  • Advanced Power Management: sleep modes, suspend-to-RAM, "always off" modes, Wake-on-LAN, Wake-on-GPIO, dynamic voltage scaling, clock gating
  • LLN and Disconnected Networks: routing over lossy networks (ROLL and RPL), 6LoWPAN and ZigBee sensor networks, MQTT
  • Vendor-specific PM Extensions: Atmel picoPower, STM32 and Marvell SoC extensions
  • Smart Data Synchronization: intelligent caching, context-enabled synchronization (e.g. location-based context)

Sensing and signal processing

Analog signal interfacing and processing, environmental measurements and legacy analog system controls are the features that enable connectivity between digital and analog worlds.

ADC and DAC components are present in almost every MCU today and together with the great variety of analog hardware available for sensing and control (e.g. temperature sensors, actuators), they open new horizons for analog-to-digital and digital-to-analog applications.

The latest MCU models like ARM Cortex-M4 contain both ADC/DAC and DSP units on board. As a result, much more advanced signal processing applications are enabled with the help of DSP on the low-cost single-chip platforms.

Our service offerings in this area cover the full spectrum of signal/data processing based on ADC, DAC and DSP components:

  • Basic Sensing with ADC-MCU processing chain: temperature, humidity, electricity, pressure etc.
  • Advanced Sensing and Signal Processing with ADC-DSP-MPU chain: motion, acceleration, touch, sound, optical
  • DSP applications: audio signal processing, image and video compression, filtering

Connected home ecosystem

From the legacy X10 and PLC-only home automation networks to the wireless sensor networking based on ZigBee, Z-Wave and 6LoWPAN, connectivity technologies for Smart Home applications are evolving rapidly.

With the help of such widely adopted standards as KNX/EIB, BACnet and LonWorks, the proprietary implementations are no longer dominating the Smart Home industry.

Cloud-enabled home multimedia networks are revolutionizing the user content experience with smart devices that support DLNA, AirPlay and Miracast technologies. Smart Home Energy applications in the cloud are no longer considered a pioneering field of innovation but rather a set of common features.

TekWissen delivers a unique solution platform, where connected devices, cloud, web and mobile applications all meet together for creating the most innovative, connected and best possible user experience for your Smart Home products.

Our core technical competencies and engineering offerings cover the following technologies:

  • Home Multimedia Networks: UPnP, DLNA, AirPlay, Miracast
  • NAS and Cloud Storage: SMB, AFP, WebDAV, FTP, NFS, DropBox, Google Drive, Amazon S3
  • Content Streaming Enablers: RTP, RTSP, HTTP
  • Smart Home over PLC and 802.3 Networks: KNX, X10, BACnet
  • Smart Home over Wireless Networks: 802.15.4, 6LoWPAN, ZigBee, Z-Wave, Wireless M-Bus
  • Smart Home over Serial: RS-232/485: ModBus, M-Bus, BACnet

On-device CSP services integration

The convergence of fixed and mobile networks like TDM and IP network layers, SS7/SIGTRAN and SIP signaling technologies and pure access and E2E telecom solutions, creates both new opportunities and new challenges for network operators.

All-IP core networks are already deployed globally together with IMS-based communication services and mobile/fixed broadband access networks. New business directions, such as M2M and E2E communication solutions delivery, are actively being explored by CSPs. Both vertical and horizontal innovation is expanding aggressively into all segments of the telecommunications industry.

On-device connectivity and applications play a vital role in the innovation of operator's services. Implementation of the software solutions in this area is one of our key competencies:

  • All-IP Communications: VoIP, IMS, RCS-e, IPTV, VoD, PTT, OTT, IVR, Presence, Messaging
  • CSP Signaling Networks: SIP, SS7, SIGTRAN, ISUP, CAMEL
  • Operator's Network API: GSMA OneAPI, OSA/Parlay web services

Hardware platforms

We pride ourselves on our technical expertise with hardware platforms, for connected embedded systems, and this allows us to offer you the best integrated solutions. Our knowledge and skills cover a vast array of platforms from the low-end 8-bit/32-bit MCU chipsets for the simple control-loop logic and serial connectivity, to the advanced high-end SoC for multi-gigabit networking and HD content streaming over wireless connections.

Hardware integration is closely interconnected with software development processes along the entire product development roadmap, with the most critical task being the initial hardware selection and evaluation.

During the hardware selection and evaluation stage we take the following into consideration:

  • Target applications: systems control, signal processing, data acquisition, basic networking, advanced networking, multimedia and GUI
  • Core hardware architecture: CU, MPU, SoC, FPGA or ASIC; single core or multi-core
  • Processor clock and DMIPS, including the features for clock frequency scaling
  • Peripherals support and I/O interfaces: UART, I2C, SPI, CAN, ADC, DAC, USB, PCIe, Ethernet etc.
  • Pins and GPIO availability in the selected packaging
  • Power consumption and low-power modes support sleep modes, wake-on-GPIO, wake-on-LAN etc.
  • Integration, production and support costs for the target device
  • Chipset vendor support for BSP, LSP, software and hardware tools
  • Evaluation kits availability and their prices
  • General adoption rate for the reviewed MCU/MPU model and trend in the software areas development community, open source projects, OS support, device drivers, available information etc.

Operating systems

The Operating system is a key software component of embedded systems. Product requirements, feasibility, software architecture, hardware architecture, applications planning these must all be taken into consideration when selecting which operating system to use for the development of the device product.

TekWissen has a broad range of experience with various operating systems from a simple task-scheduling RTOS, to full-featured Linux based environments like Debian or Android. By default we consider the following details during the process of selecting an operating system to integrate:

  • Hard real-time, soft real-time or no real-time OS characteristics
  • Available program memory (e.g. on-device Flash)
  • MCU, MPU performance and features
  • BSP, LSP support from the chipset vendor
  • Integration cost versus time-to-market for the target device
  • Functional requirements for OS for example: network stacks support, required device drivers, GUI possibilities etc.

Here is a sample selection of operating systems frameworks that we have adopted in previous engagements:

  • FreeRTOS, ContikiOS, TinyOS tiny memory footprint (from 32 Kb+) systems like sensor nodes, intelligent actuators, simplistic MMI devices and serial connectivity adapters.
  • eCos RTOS small memory footprint (from 256+ Kb) devices like serial-to-IP gateways, industrial and automotive protocol connectors, WAN modem applications, process control applications with basic GUI.
  • ucLinux, OpenWRT medium footprint (from 4-8 Mb) platforms suitable for wireless routers, home automation gateways, VoIP/IMS connectivity and advanced LAN applications.
  • Generic/Open Embedded Linux, Windows CE/Compact—larger footprint (from 16-32 Mb) devices for the connected high-resolution GUI screens, home multimedia networks, multi-service and multi-interface access gateways (WLAN, WPAN, Ethernet, FTTH).
  • Android, QNX-largest footprint (from 64+ Mb) systems for the full-scale GUI with HD multimedia features, dynamic application platforms and the full range of connectivity features. For example: advanced automotive infotainment, cloud-enabled STB devices, connected GPS navigators etc.

Debuggers, profilers, analyzers

Debugging and analysis requires the largest amount of effort in software development and this process plays a critical role in a project's success. From analog signal analysis, to call stack tracing and real-time DPI, we have experience with a broad range of tools:

  • Instrumentation, profiling and performance management tools
  • Debugging interfaces, remote and local agents, CLI protocols
  • Memory leak detection and call graph analysis
  • JTAG/SWD debugging adapters
  • Logic analyzers and digital oscilloscopes
  • Network packet sniffers and DPI tools
  • RF spectrum analyzers
  • Multi-meters and probing tools
  • Automation and scripting for data acquisition and verification

IDE and toolchains

Our experience with both open source and commercial tools guarantee that we always select the most efficient tools to achieve high productivity, fulfil project requirements and meet the customer's expectations.

Open source and commercial IDE:
  • Atmel Studio, Microchip MPLAB, IAR Embedded Workbench
  • TI Code Composer, MS Visual Studio
  • Eclipse, CooCox, IntelliJ IDEA, VIM, Emacs

  • GNU, Buildroot, BusyBox, Sourcery CodeBench
  • AVR GCC, MSPGCC, microC
  • Android NDK and SDK
  • OpenEmbedded, Yocto Project

SW programming environments

Modern embedded system platforms enable virtually any kind of programming language from assembler and C/C++, to Java and Python environments.

Still, hardware constraints and the real software platform possibilities must be taken into account for example, it might not make any sense to code in Java for a low-cost 8-bit/16-bit MCU with a limited memory size.

This is why we take great care to analyze the product requirements and the customer preferences to ensure that we choose the most optimal and productive software programming environment.