Electronic products and embedded software
Almost all electronic products, in all industries, today have to do with embedded software. These include software for vehicles, telephones, security systems, home appliances and machinery. We specialize in writing software to control machines and devices and also make them as functional as possible. From relatively simple to very complex, projects from small to large, Ampel Technologies has everything in-house to realize the desired end product. We deliver effective solutions to complex challenges. Our team of experts is among the best in the world with decades of experience at various leading companies.
Areas of application embedded software
Embedded software ranges from simple tasks in consumer products to complex operations in automotive, semiconductor and agrotech sectors. Our influential areas of application are.
Automotive
For one of our customers we made a compact PCB for switching between LPG and Petrol. We have also designed the switch with accompanying embedded software, the switch in the LPG Petrol system.
Semiconductor industry
In collaboration with customers from the semiconductor industry, we provide advanced embedded software solutions. Our software contributes to process automation, production facilities and quality assurance.
Agricultural
Our expertise extends to the field of agrotechnology. In this market, we develop the electronics and embedded software to automate stables. Think of systems for reading environmental factors such as temperature, humidity, feed availability, but also controlling mechanical parts from the barn. These systems can automatically adjust feeding and climate control systems to maintain optimal conditions for animal welfare.
Consumer Electronics
We support customers in the development of IoT (Internet of Things) products. Think of smart energy meters, solar panels, energy management systems, electric vehicles, charging stations or heat pumps. All this smart equipment contains embedded software to read internal sensors and control control systems. In addition, the embedded software allows us to allow the systems to communicate with each other. In this way, we can apply complex algorithms so that consumers can make their homes more sustainable and reduce costs.
What is embedded software?
Embedded software is computer software written to control machines or devices that are not typically considered traditional computers. You can think of it as the ‘brain’ of the device. Without the use of embedded software, the device in question would be useless. It is usually specialized for specific hardware and has time and memory limitations. At Ampel Technologies, we design embedded software for various printed circuit boards. These PCBs are developed by our electronics team and specified to the customer’s requirements. We develop low-level software directly on microcontrollers or microprocessors to address peripherals. But also software that controls the microcontrollers or microprocessors and executes the complex logic.
Microcontrollers
Microcontrollers such as those from Texas Instruments (TI), STMicroelectronics (STM32) and NXP (i.MX6 / i.MX8 / LPC) are selected and configured according to the application. And then program with the appropriate software. At Ampel Technologies, we write most of the embedded software in C/C++ and Rust. This software can perform complex tasks even if the computer or device running the software doesn’t have a lot of computing power. In other words, C, C++, and Rust are powerful and efficient enough to handle heavy computation and complex functionalities on devices with limited hardware capacity.
Rust
Rust is a relatively new programming language that we are increasingly using to write efficient software. One of the main advantages of Rust is that it does not use a traditional memory allocator. As a result, no memory problems such as memory leaks can occur during the execution of the software. This reduces the risk of errors, allowing software to be written more efficiently and securely.
Real-time systems
One of our software applications is the real-time system. Real-time systems are computer systems that can perform tasks within a strict timing. The systems must be deterministic, i.e. react predictably at the right time. In addition, they must be reliable and accurate, because these are often critical systems when it comes to safety. Finally, real-time systems make it possible to switch between tasks, pause tasks, and complete tasks based on priorities.
Embedded Linux
The real-time systems run not only on microcontrollers but also on microprocessors. To program microprocessors, an operating system is needed. When choosing an operating system for embedded systems, Linux is almost always used. Linux is a flexible open-source operating system, which can be configured to meet the developer’s requirements. We use Embedded Linux to control our printed circuit boards with microprocessors (i.MX6, i.MX8 and LPC). To control the hardware on our embedded systems, we develop our own drivers. Drivers are interfaces between hardware components and operating systems that enable communication and collaboration between the two. With the help of the drivers, performance and efficiency can be maximized and it offers the possibility to update and maintain them independently.