welcome...

callum morrison

callum morrison

I'm a design engineer.

I have an MEng (Hons) in Integrated Design Engineering from the University of Bath (1st Class).

I made a (multi award winning) weed detection system to reduce pesticide usage.

I wrote the software for a printer capable of printing on cylindrical surfaces.

I create graphics and photorealistic renders for global businesses.

I'm fluent in English, and proficient in Python, JavaScript, Bash, C++, HTML, CSS, and SQL.

In my spare time I like to repair old cars, and occasionally go on crazy adventures.

scroll

portfolio:

2021

2021

SPRAYai - autonomous agricultural spray system


Why

Pesticide use is a fundamental aspect of modern farming. The UK alone applies ~17,000 tonnes of pesticide every year. Reduction of pesticide usage can provide numerous economic, social, and environmental improvements.



What

I developed a system capable of recognising weeds through custom neural network computer vision system. The positions of each weed are then fed to a mechanical 'spray box', which actuates a spray nozzle to target weeds individually.



A poster demonstrating use of the SPRAYai system.


I developed the mechanical and electrical system (including a custom multi-layer PCB), trained a YOLO neural network on a custom synthetic dataset, and designed and implemented a fully functional user interface built on web technologies.



The mechanism capable of actuating a standard agricultural spray nozzle.


A fully functional user interface was developed to allow the farmer to interact with the system.


Watch the full video on YouTube

2020

2020

rotaprint - Rapid Prototyping Printer for Cylindrical Components


Why

The client needed to apply graphics to cylindrical drums for user trials. The process is very labour intensive, but the scale is too small for commercial rotary printers.



What

Working in a team of six, I helped develop a concept for a rotary prototyping printer, capable of batch production and multi-colour graphics.


A mockup of the final printer, connected to the rotaprint user interface running on a laptop.



I developed software capable of projecting a 2D graphic onto a 3D sphere, which could then be loaded into the printer UI by a user. Persistent settings were managed with a relational database, and real-time print stats were relayed over WebSocket.



Screenshots of the rotaprint user interface.


Renders showcasing the internal mechanism of the rotaprint machine.

2020

2020

ultrasonics - Synchronise Music Playlists Between Streaming Services


Why

I like listening to music, but I tend to switch between different services, including Spotify, Plex, and my local offline library. This causes issues when I have dozens of playlists spread across each platform.



What

I wrote a server application capable of synchronising music playlists between a range of supported music services.


The ultrasonics homescreen, with multiple user-creatable 'applets' for syncing playlists.



The application is built on the concept of 'plugins' and 'applets'. Plugins can be dragged-and-dropped in to extend ultrasonics functionality (for example to add additional streaming service support).



An applet during creation.



Applets allow the user to build their own 'recipe' for syncing; e.g. they could take one playlist from Deezer, three playlists from Spotify, mix them using a recommendation algorithm, then save them all to Plex.


It's open-source on GitHub.


software skills:
  • Graphics

  • Adobe Photoshop

  • Adobe Illustrator

  • Adobe InDesign

  • Adobe After Effects

  • Adobe Premiere Pro

  • Adobe Audition

  • Adobe XD

  • Blender

  • KeyShot

  • CAD

  • Autodesk Fusion

  • Siemens NX

  • Engineering Drawings

  • FEA

  • Autodesk Eagle

  • Simulink

  • Code

  • Python / JavaScript / C++

  • Node.js / Electron

  • Flask

  • Vue

  • Robot Operating System (ROS)

  • Redis / SQLite

  • Socket.io

  • Traefik / NGINX / Apache

other: