ALTENBURG embedded software

Domain specific programming languages
Embedded software development
Small IoT control devices

Development Activities

Software development is not a job, it is continuous pursuit of perfection and quality. With this attitude and based on strong knowlegde and experience we provide excellent assistance in the field of domain specific scripting languages. We are focusing on compiler interpreter combinations as this approch has a tremendous potential especially for embedded systems. Due to the fast growing market of sensor/actor devices in the Internet of Things (IoT) the need for such 'small' languages increases. Even though IoT devices are made for a special purpose they still need a minimum of flexibility. Script programming enables IoT devices to get program updates as simple text stream via air, so scripting has a major advance compared to binary compiled code. Slimming down existing scripting languages, like JavaScript or Python, usually does not lead to satisfying results. Eighter the slimmed language is not practically usable anymore or the required footprint in memory is still too large. So, we are addressing this challenging problem with a new approach for a nice 'old' language. Give it a try!

Embedded hardware development using modern microcontrollers with ARM core enables us to quickly build up specific platforms meeting the needs of our customers. We currently focusing on the STM32 family of microcontrollers manufactured by STMicroelectronics as this family provides a broad range of features needed for dedicated control applications coming with outstanding development and debugging tools. We also have a lot of experience with the Renesas M16C/R8C microcontroller family and of cource with many others like ATMEL's AVR.

Technology is the clue. Beside various trends in embedded software architecture, development and testing, the Internet of Things brings up some totally new trends in communication - mainly concerning wireless communication. There is a kind of 'back to the roots' trend in radio telemetry - sending small amounts of data over long distances using narrow bandwiths. In contrast to the ever growing data sizes shuffled over wireless LANs, this technology enables extreme low power devices to become a major part of the Internet of Things.

IoT Scripting Language

Embedded BASIC is a new scripting language especially designed to fulfill the needs for customer programmable IoT devices. In order to reduce costs and power consumption such devices have very limited memory resources and they are designed for a special purpose. As todays modern microcontrollers provide all features to build complete and powerful control systems, more and more IoT devices are single chip solutions. Due to their 32 bit architecture and hardware supported floating point operations, such single chip systems can provide an extremly high performance.

The most common programming language for embedded devices is C. But, programming in C still requires a lot of knowledge about the microcontroller itself especially about its internal components, like timers, interrupts and so on. Application programming should hide these complexity from the programmer. This is where scripting languages come into account. They are much easier to learn and use but they usually come as an interpreter - so extra memory will be needed and interpreters can be a performance drawback.

Yes and no! Embedded BASIC is a new scripting language. Yes, it will be executed by an interpreter, but as it is precompiled and domain specific it runs pretty fast! And, You will not be aware of the compiler at all as it runs just in that moment when the script is downloaded to Your system.

Embedded BASIC comes with a complete Realtime-OS, including graphic display support and a bunch of hardware features in just 70kB of FLASH! (measured on STM32F4 optimized for speed -O3). Additionlally there is a dedicated IDE with syntax highlighting, context help, download and much much more.

Contact

Curious? Let's talk about Your requirements.

Please feel free to send an email.