From projects using the simplest of microcontrollers to those using the most complex embedded or real time operating systems, Wonk Software Technology have the knowledge, expertise, and experience to be able to develop the software and firmware components that your system requires.

Our thirty years of expertise and knowledge gained from past projects has covered bespoke firmware for 8bit microcontrollers including embedded controllers, boot firmware including board bringup, Linux porting including Yocto, and RTOS porting and configuration including FreeRTOS, SafeRTOS, and QNX.

Microcontroller Firmware and Hardware Enablement

Microcontroller devices

With the arrival of the Internet of Things (IoT) the new connected world contains millions of devices using small microprocessors with limited RAM and flash memory resources needing to perform ever more complex tasks. In many applications this includes supporting a complete network stack for communications with other devices or cloud based services. Wonk Software Technology have experience of writing bare metal code for 8051, AVR8, and STM8 8bit microcontrollers including those embedded into embedded controllers used within laptops.

Moving up a class of device performance, Wonk Software Technology have worked on many projects using ARM Cortex-M 32bit microcontrollers including very low power devices. These projects have included bare metal code, FreeRTOS, SafeRTOS, TCP/IP based network protocols including WebSockets, DHCP, HTTP(S), SNMP, and IoT technologies including LoRa.

Moving up a further class in device performance we find higher performance ARM Cortex-A, x86, MIPS, and PowerArchitecture (PowerPC) microprocessors capable of running an operating system such Linux and QNX.

Before the operating system starts executing on a such a hardware platform, a bootloader or other firmware is required in order to configure the basic hardware and initialise memory to create an environment in which the operating system can be loaded and run. Engineers at Wonk Software Technology have ported pre-existing boot firmware for many of these types of platform, have developed custom boot firmware solutions for applications where existing options are unsuited, and have ported existing Linux and QNX BSPs to custom platforms.

User Interface Design

The growing trend in consumer and embedded systems is to have ever more complex user interfaces and displays adding more and more complexity to the development process – the so called iPhone effect. The user interface design, and resultant user experience, can be key to the success or failure of a new product.

Any embedded system with a graphical user interface consists of four components:

  • The artwork providing the on screen objects
  • The transitions between the screens within the application
  • Converting user interface commands to real world actions
  • Processing real world data and displaying it on screen

Wonk Software Technology make use of Ametek Crank’s Storyboard Suite in order to simplify user interface design across all types of products. More details…

Hardware Development

PCB layout on computer screen

During the proof-of-concept and prototype phases of the project the team at Wonk Software Technology can meet with your engineering, marketing, and management teams to brainstorm ideas. The result of this session will usually be a list of requirements and an initial block diagram, drawn on a whiteboard, which outlines what components can be used to achieve those needs.

Wonk Software Technology are able to source evaluation boards for the identified hardware, and can connect these together to develop proof-of-concept software prior to any formal hardware design taking place.

Where necessary, we can also undertake schematic capture and PCB layout for simple PCBs which can be used during the prototyping process.