To give you a taster of our range of abilities here are some of our favourite projects.
Most of them were carried out by myself and some with assistance from my team.
Easify is our flagship product developed entirely in-house by Cambridge Software Development Ltd over the past 20 years which is an all-in-one off the shelf small business management suite.
Among its many features, it provides Invoicing, Purchasing, Bookkeeping, Inventory Control, Bill of Materials, Paperwork Editing, ECommerce and API functionality to thousands of small businesses in the UK and abroad.
A Windows desktop application programmed primarily in C# and WPF, the storage is Microsoft SQL Sever hosted in the Azure Cloud on our dedicated Virtual Machines and is accessed via a custom written Easify Server Application using ODATA2 and WCF.
ECommerce is supported via an Easify WordPress plugin for WooCommerce which was also developed in-house written in PHP.
Easify is a product that business owners can self install and configure and has a very low support requirement from us due to the rich documentation that we provide, the robust nature of the design and the automated testing frameworks that we use to ensure quality control.
An interesting project that required a great deal of versatility and speed learning was to develop a Smart Contract for the Tezos blockchain as part of a 10,000 NFT mint.
The Smart Contract was written in SmartyPy (A Python compiler that compiles to Tezos Michelson byte code, a type of assembler) and features a powerful built in unit testing system.
Also part of this project was the creation of a Windows Desktop application written in C#/WPF that would generate 10,000 NFT images from various PNG images and generate the relevant meta data required for the smart contract.
Other technologies used were NFTUp IPFS, Taquito as well as building a React website to allow people to purchase NFTs using their crypto wallets.
Challenges were to get up to speed on a new and unmatured technology with little information available, to create a website using React for the first time and to be able to deploy a smart contract which had to work 100% correctly first time, as there was no way to modify the contract once deployed.
You can view the source code here – https://better-call.dev/mainnet/KT1AwaMWjrL7qt1AhhwDF31ai9vVYSXvCbGi/code
One of our earlier projects for a UK firm that made semiconductor processing plant for global tech research companies.
I wrote a large part of the control system for these systems as well as various interfacing applications that allowed for communication between the Windows PC based client application and DeviceNET, RS232 and PLC based systems.
The main application was written in OO Pascal using Borland Delphi 5 and required a certain level of Win32 API programming for the lower level device drivers.
I also wrote a simulator for the system so that the software could be tested virtually without requiring physical access to the machine, and this technique was successfully used to deliver a major software update for a machine situated in Japan without requiring a site visit, the deployment being 100% bug free.
In the connected World in which we live, we’ve carried out a number of API integrations over the years.
Most recently was an integration with HMRC Making Tax Digital that allows users to digitally request VAT obligations, and submit VAT returns to HMRC.
This one was fairly stringent and required scrutiny from HMRC before being accepted.
We’ve also carried out integrations with Credit Card providers for Point of Sale card processing.
As well as integrations with online shopping platforms such as eBay.
We also have experience of writing RESTful APIs including one for our flagship product Easify.
This was a huge amount of fun, something that I created for my Son as a Christmas present one year and that I reverse engineered into a “Make it Yourself” series on my YouTube channel.
The project was to design and 3D Print a replica of a C4 Explosive from the game CS:GO, complete with authentic looking hardware and a working display and keypad that would simulate how the device worked in the game.
The microcontroller is an Arduino Mega and the code was written in C++ using an Arduino IDE plugin for Visual Studio 2022 named VisualMicro.
It was also interesting to interface the Arduino to an MP3 Player and due to running out of I/O I had to incorporate a GPIO module connected via I2C bus.
Featured here is Part 4 of the series where I talk about the software side of things and walk through the code.
It is also featured on my blog site so feel free to check it out here.
The code shown here is PIC 16C57 Assembler from a project for a fishing line cutting machine.
The brief was to create a system that would measure an exact length of fishing line up to 2 metres long and cut off a specified number of lengths.
The hardware was very minimal with the lengths and cut counts being simply set on DIP switches, however the code was a joy to write due to its closeness to the hardware it was controlling and the purity of working with a low level language.
Sadly there isn’t so much call for assembly language programming with microcontrollers now able to handle C++ with relative ease however the skills required for low level programming are still beneficial even when using higher level languages.