General-purpose programming languages that are flexible, easy to use, and at the same time very efficient.
‘C’ is the oldest of the three languages and the most widely used. It was created by Dennis Ritchie in 1972 and designed for the development purposes of Unix. It’s the base language when it comes to programming. It contains 32 keywords and has plenty of built-in functions which make it easy to use as it can be run on many different machines.
‘C++’ is the extension of the ‘C’ language. It was created by a Danish Ph.D. studetn Bjarne Stroustrup. The aim of ‘C++’ was to offer an enhanced version of ‘C’ which would allow more advanced capabilities. It’s more object-oriented and gives users more control in terms of system resources and memory.
Python is a very popular programming language. It offers a wide range of functions and is ideal both for beginners and advanced users. It can be used to build websites, in machine learning as well as software testing. This language is very user-friendly and is often used by non-programmers in various business sectors such as book-keeping and scientific research.
Using Linux on embedded systems is very popular mostly because it’s an open-source operating system. It’s also enormously versatile as it supports a large number of CPU architectures and can often be found on embedded systems such as cell phones and smart heaters. There are many advantages of using Linux such as low cost, scalability, and built-in dynamic memory management among many others.
Internet to things also known as IoT is a term used to describe physical devices which are web-enabled with the use of various sensors, can transfer data between other devices and the network as well update regularly. The number of devices that make up IoT is growing rapidly as it allows us to use them more efficiently without/or with little human intervention. Such devices can often be found both at home and in various environments such as the hospital or cinema.
PCB also known as a printed circuit board is a structure that can be fitted with conducting and isolating layers. Its main purpose is to support electronic components with the use of conductive pathways imprinted on the board. A PCB can be either single-sided or double-sided or even multi-layered. Printed circuit boards are used in almost all types of electronic devices e.g. heaters or air conditioners.
Multiple usage options such as:
WizzDev developers have written several APIs in Python using the Flask microframework with Flask-RESTX extension. It is a lightweight and flexible tool, which allows developers to choose the best-suited extension, based on project requirements and quickly deliver ready products. Flask-restx extension simplifies the process of creating REST APIs and allows us to automatically generate Swagger documentation.
Examples:
WizzDev has experience in working with TCP/IP stack on various microcontrollers and general knowledge about computer networks.
Additionally:
Amazon Web Services is a cloud computing platform offered by Amazon. Its services include IaaS (infrastructure as a service), SaaS (software as a service), and PaaS (platform as a service). The different services offered mean that AWS can be used for various purposes such as cloud computing, data storage, or monitoring services among others.
WizzDev uses the common AWS stack to build and deploy IoT solutions using AWS cloud (IoT Core, DynamoDB, S3, Route53, API Gateway), which consists of the communication with the devices and web-based user interface with fast and reliable access to current and historical time series data. We provide our solutions in the Infrastructure as a Code, manner using Terraform to meet the best practices, regarding providing cloud-based solutions.
Also used in Smog Radar and later adapted for IoT Starter Project.
Software used to design electronic schematics and printed circuit boards. We can create all files that are needed for the professional production of electronic devices. Microchip AVR is a family of low-cost 8-bit microcontrollers that can be used in many applications. For wireless communication, WizzDev used ESP8266 and ESP32 with WIFI transceiver, RN4870/70 with Bluetooth Low Energy, RN2483 with LoRa, SIM800/868 to transmit data over GSM network, and RC522 to read RFID cards. To make communication safe and hacker-proof it’s a good idea to use ATECC608 cryptographic coprocessor.
WizzDev has implemented a few projects that required adding a User Interface – in this case a desktop application written in Python using wrappers for a popular C++ library Qt.
This framework enables easy application ports to other operating systems, be it Windows, Linux, or Mac.
WizzDev has developed technology that allows us to design and develop custom stepper motor controllers based on Trinamic’s chips (like TMC262 or TMC429). We can provide you with a customized replacement for Trinamic’s integrated modules like TMCM-3110.
In some of the projects, OpalKelly was used to control stepper motors, specifically for automatic control of the system of pumps and valves. WizzDev has also created a demo showcasing the possibilities of using FPGA to transfer large amounts of data using USB 3.0. The PC-end application is written in Python. See our source on GitHub: https://github.com/wizzdev-pl/fpga_data_transfer_demo
WizzDev has experience with NXP’s imxrt1062 processors targeted for Machine Learning nn the Edge applications. Also used Tensorflow Lite for some image recognition.
GSM modem. A popular choice in various IoT applications to assure internet connection without access to WiFi.
A 32-bit Microcontroller produced by STMicroelectronics. Part of the ARM-architecture (Advanced Risk Machine) family of Microcontrollers. Very easy to work with, reliable, with low-power consumption, and used in a wide variety of different products.
Comprehensive development of IoT devices: PCB design and prototyping, firmware development, cloud, and mobile app integration. WizzDev mostly specializes in STM32 (from F0 to H7 series).
ESP32 technological stack includes usually WiFi communication (both as AccessPoint and Station), BLE communication, HTTPS/MQTT cloud communication, HTTP server with REST API, OTA updates via BLE/WiFi, and of course peripheral hardware control (motors, displays, sensors). Our developers mostly work with esp-idf from Espressif, with C or C++. Apart from firmware development the company also provides advisory services and technical support for mass production.
Edge processing with embedded Linux on powerful ARM computer on module. Thanks to full customization of the YOCTO build process we were able to optimize system startup time to two seconds from power-up to communication with CAN device. More information can be found on our blog.
It’s a cross-platform application framework that can be used to build applications with different languages such as C++, QML, or Python, but bindings are provided for other languages too. It supports a wide variety of features for desktop, embedded, and mobile platforms. Qt is very popular in terms of rich GUI (Graphical User Interface) implementation in embedded applications and rich software libraries
Development of cross-platform GUI applications with Qt (Linux, Windows, MAC), both in bare C++ and in Python (with PySide2 wrapper). PC application with both user-friendly GUI and powerful computations and algorithms in the backend. GUI prototyping and development with QtCreator.
Strong emphasis on both software and firmware quality, assured by comprehensive unit tests with Google Test/Unity/CMock/pytest in C, C++, and Python. Not only for PC applications but also for embedded systems for microcontrollers.
Comprehensive development of Python applications with GUI (with Qt and PySide2 libraries). Strong emphasis on live-time control applications for laboratory equipment and high-performance processing (with multithreading, GPU and Numba compilation). Delivering Python applications to the customer packed as executable files with package installer, thanks to pyinstaller and innosetup.
Comprehensive development of Python applications with GUI (with Qt and PySide2 libraries). Strong emphasis on live-time control applications for laboratory equipment and high-performance processing (with multithreading, GPU and Numba compilation). Delivering Python applications to the customer packed as executable files with package installer, thanks to pyinstaller and innosetup.
Open source key-value data store. It has many applications when it is required to store persistent data in an easily accessible form.
Open-source desktop USB communication handling library. The library supports all types of USB from USB 1.0 to USB 3.1. The library provides synchronous and asynchronous handling of USB communication. The library provides handling from USB device enumeration and hotplugs to data transfer.
Open source cryptographic library. The library provides functionality to generate security keys and encrypt the data.
OpalKelly FrontPanel API is a USB stack that provides an interface for super-fast USB data exchange between FPGA and PC. The Opal Kelly handles the fastest USB transfer speeds.
OpenCV is the biggest image processing tool and AI library. Wizzdev used it for image preprocessing and point tracking technologies.
CMSIS-DSP is an open-source signal processing library that contains various digital signal processing functions for ARM Cortex-M and Cortex-A processors. Wizzdev used it for audio signal preprocessing like creating spectrograms.
Docker provides functionality to containerize developed programs. Docker improves the process for deployment of the programs and improves CI processes. Wizzdev used docker to containerize build processes, unit testing, and creation of test environments.
The name stands for an open-source real-time operating system (RTOS) for embedded systems. Developed by Richard Barry in 2003 and was later purchased by Amazon Web Services (AWS). Its main features revolve around it being fairly small and easy to use. It supports various architectures and is usually written in the C programming language.
The Nvidia Jetson is a computing board developed by Nvidia. It’s basically a small and very powerful computer which lets you run multiple systems and at the same time has a very little power consumption of 5 watts. It’s designed for accelerating machine learning applications.
Please tell us about your project. The more we know about it, the more effectively we can assist you.