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
2021
2021
SPRAYai - autonomous agricultural spray system
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.
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.
2020
2020
rotaprint - Rapid Prototyping Printer for Cylindrical Components
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.
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
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.
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.
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