CAPABILITIES AND SERVICES
Electronic Circuit Design
RSA Technology has extensive experience in designing analog and digital audio and video solutions for multimedia applications and architectures. In particular, in collaboration with David Horn Communications Ltd, for secure interview recorders used by many police forces worldwide.

Now that so many devices incoporates some sort of embedded processing and software, RSA technology has accumulated considerable experience with many devices, ranging from simple Microchip PIC and ARM Cortex-M0+ devices up to complex SoC media processors from FreeScale and NXP capable of running an embeded operating system. RSA Technology also has experience in network design and Internet of Things (IoT) devices, FPGA devices, and VHDL and Verilog hardware description languages.

Similarly, switchmode power supplies (PSUs) play a crucial role in most modern electronic devices, and here RSA Technology's design skills ensure efficient power management solutions.

RSA Technology has used circuit simulation to develop radiation-tolerant CCTV cameras and systems for the nuclear industry to ensure reliability and safety, where exposure to radiation can pose significant challenges.

Also, RSA Technology strives to maximise product longevity by basing designs on components, processors and memory chips for which the manufacturers offer long-term support, typically intended for the automotive and medical industries.

PCB Layout
RSA Technology's portfolio ranges from simple double sided PCB layouts with just a few components to complex multilayer boards with over 4000 components on both sides of the board using Altium Designer and KiCad software.  

Including controlled impedance routing for high speed differential signals like SATA and USB and matched signal length routing for high speed multi-bit interfaces like DDR3 memory and RGMII ethernet PHY interfaces.

RSA Technology has the philoshopy of using the minimum number of PCB layers required to meet the performance criteria so as to minimise bare board and manufacturing costs, eventhough this may make routing the board more challenging. Where possible incorporating JTAG and IEEE 1149.1 Boundary Scan interfaces.

Over several years RSA Technology has also developed manufacturing routes with several experienced and trusted collaborators for rapid prototyping and small scale production of high value finished boards. This includes automated bare board testing, X-ray and optical inspection and intial JTAG programming of board firmware.
Embedded Software
RSA Technology excels at the development of system-level software in C and C++ for various embedded platforms, including harware developed in-house. Development tools we use include Eclipse, GDB, Analog Devices CCES, and Keil MDK

However to optimise performance, developments often involve low-level programming in assembler, as well as working with embedded Linux and real-time (RT) operating system kernels. RSA Technology uses tools such as Buildroot to facilitate the creation of custom Linux distributions tailored to specific hardware and has implemented custom ports of LwIP, with and without an operating system to realise a functional TCP/IP stack for hardware environments with very limited resources. Similarly, porting LVGL (Light and Versatile Graphics Library) to Analog Devices Blackfin processors  has allowed RSA Technology to create visually appealing GUIs for a number of projects.

For embedded software systems it is a common requirement to be able to set up configuration parameters via a web browser interface. For example to set an IP address for a router or IoT device.  To facilitate this RSA Technology has developed a tiny, lightweight C++ library to dynamically generate HTML web pages from a key-value-pair style *.ini file or from XML. This also includes secure login and a web server loop.   
DSP Hardware and Software
RSA Technology has over 8 years experience with Analog Devices BlackFin family of DSP processors. Including the design and efficient implementation FIR and IIR digital filters, and various encryption technologies including Elliptic Curve Cryptography (ECC) mostly on custom hardware developed in-house.

In particular implementing and optimising H264 and MPEG2 codecs for 720p and 1080p HD video and various audio codecs including AAC and MP3. Also in implementing high speed video scaling and obsfuscation algorithms, for example to track and disguise in real time the face of participants in a police video interview.

Other applications include a beam forming michrophone using an array of 16 MEMS acoustic sensors to synthesise a steerable, highly directional virtual michrophone, again for police interview and conference situations and in particular to provide controlled access audio streaming over TCP/IP.

In support of these applications RSA Technology has developed a context switching micro-kernel to manage real time (RT) multitasking between signal processing tasks and on-chip peripheral input-output (I/O) tasks, for example managing USB  transactions and DMA (Direct Memory Access) to and from signal sources, LCD screens and network interfaces (using LwIP).

In addition, for multicore devices such as ADSP-BF609 RSA Technology has developed a simplified inter processor communication mechanism to work closely with the context switching micro-kernel. 

Audio Watermarking Technology
RSA Technology is developing a novel technique for incorporating completely inaudible data into an audio stream or file so as to be able to prove the authenticity of the recording and to show that the audio has not been tampered with in any way. A typical use would be to prove the origin and authenticity of a recording of a police interview for evidential purposes.

Starting from a private key the steganographic signal is derived from the previous twenty milliseconds of audio as a cryptographic hash and inserted  into the next audio frame. In this way each twenty millisecond long audio frame contains the hash of the previous frame of audio including the steganograhic code from the frame before that. This effectively creates a continuous Blockchain embedded in the audio. 

Initially implemented as a BlackFin hardware based project for real time network streaming of audio, it is also possible to implement entirely in software for file based audio, both for watermark insertion and verification.
Windows Application Development
With over 15 years experience of using Microsoft Visual Studio, RSA Technology has developed various applications in C# for Windows .NET framework and also in C++ for MFC (Microsoft Foundation Class) library framework. 

Mostly small Windows Forms or Console based utility and test programs, but RSA Technology also has experience of writing plug-in dlls for larger systems, in particular for Niche RMS Custody Management software used by many police forces in the UK. Also, a network client for streaming video, with password controlled access to complement hardware also developed by RSA Technology.

This has involved interfacing managed .NET code with low level un-managed Win32 APIs using P/Invoke and Marshaling, for example to be able write directly to DVD media.


Design for 3D Printing and Prototyping
With 3D printing it is possible to create very complex shapes and geometries which would otherwise be impossible to create by hand. RSA Technology has the skills and experience to design objects optimised for 3D printing to ensure consistent results in a range of thermoplastic materials such as PLA, PETG and ABS. This includes carefully selecting bed and filament temperature, managing the generation and placement of support material, and optimising the orientation of objects on the printer bed so as to align the print layers for maximum strength.

RSA Technology makes extensive use of FreeCAD software with a combination of Constructive Solid Geometry (CSG) and Boundary Representation (BREP) methodologies. In combination with Python scripting language this allows models to be parameterised so as to be able to print different size and aspect ratio versions of the same model whilst maintaining the correct tolerances and wall thicknesses. 

3D printing is also very useful for rapid prototyping of equipment enclosures and cases, and even for small scale production. RSA Technology can print items up to 300 x 300 x 400mm and has extensive experience of designing and printing snap-fit fasteners and threaded metric fasteners (to ISO 965-1 tolerance classes).

Analysis and Simulation
RSA Technology has extensive experience of using simulation and analysis tools such as GNU Octave for complex mathematical problems. For example for analysing the directional frequency response of a beam forming microphone array, for synthesizing FIR (Finite Impulse Response) and IIR (Infinite Implulse Response) filter sections from bi-quadratic building blocks, and QPSK (Quadrature Phase Shift Key) modulation for embedded audio signals.

Also of using electronic circuit simulation tools to optimise circuit performance under extreme environmental conditions which would be difficult to reproduce for the the real hardware.

In addition 3D circuit board and mechanical visualisation tools allow the smooth integration of finished PCBs with enclosures and mechanical components to facilitate novel and intricate packaging solutions.

Alfie's Snake Game
A 3D interpretation of the classic snake game as an exercise in HTML5, WebGL and JavaScript programming.

Steer the snake with the left and right arrow keys. Try not to fall off the grass into the firey pit below (implemented using a Perlin noise based simulation). 

Eat the food to grow the snake as it articulates following the real-time solution of the underlying Inverse Kinematic equations. 



Android Applications for IoT
Android app development plays a major role in the Internet of Things (IoT), co-ordinating data collection from devices and providing them with a Graphical User Interface. 

RSA Technology has the capability to develop Android  apps using Kotlin and Java programming languages in Android Studio Development Environment, and is familiar with Gradle build automation tools. In particular working with Bluetooth 5.1 and LE communications for lighting control applications (including RGB to RGBW color space conversion) and for solar powered temperature and insolation loggers.

For device side development RSA Technology has experience with Renesas DA14531 and Nordic nRF52832 Bluetooth solutions,  and AEM10941 for solar power harvesting and battery management.