We take a holistic approach to software design. This means:

Having a sound understanding of our clients objectives.
Developing the most effective methods to achieve these.
Setting realistic timescales for developing the solution.
Regular reviews of the objectives and software design.
100% code coverage testing before release.

We design our software with a modular topology which makes our code flexible, efficient and secure. With many years experience of programming in the embedded realtime audio arena, we have learnt that fast and lean is the only way to code!

Whether you’re developing on ARM, PowerPC, Microchip PIC, Blackfin or IP Core DSP, we have the wealth of experience and expertise to bring to your project to the market on time.

For each of our clients we aspire to be responsive, provide good communications, flexibility with regards design changes and a conscientious approach to the quality of the work that we do. We know that our clients place a great deal of trust in Black Swan Systems, so we work hard to make sure every project is a success.

We are able to provide new ideas for your existing projects as well as expertise for new developments.


A summary of some of our software skills:

Fixed and Floating Point ANSI C (embedded platforms)

Microsoft C++, C#, Visual Basic.NET for windows application development (Classic and UWP)

Assembly language for various DSP’s

Perl, Python, Java, SQL and PHP

nodeJS, node-red and MQTT for IoT connectivity and processing


AWS, Microsoft Azure cloud services

TCPIP, UDP, Zigbee, LoRa, Ethernet and WIFI protocols


Fast secure and repeatable data logging and analysis both in embedded systems and offline post processing

Custom sensor design

Graphical display development

Sensor fusion using Kalman filters (IMU)

PID control algorithms for industrial control and automation

Fully embedded single board audio processor

Web development (server and client side)

“1-wire” environmental monitoring network design and implementation

Need a consultation? Please book an appointment