Skip to content

Overview

There are various tools and pieces of software used in relation to the electrical design of SeaWolf VIII. These are listed below

PCB Design

KiCad

Required Operating System: Windows, macOS, Linux

Download Links: KiCad

Used to design PCBs and schematics for various custom boards in use on SeaWolf VIII. KiCad is a free and open source Electronic Design Automation (EDA) tool which is generally easy to learn to use, but powerful enough when needed.

Altium Designer

Required Operating System: Windows

Download Links: Altium Designer (license either through university or AquaPack)

Many SeaWolf VIII boards were originally designed using Altium Designer. Altium Designer is a proprietary EDA tool. While more commonly used in industry than KiCad, the decision was ultimately made to move to KiCad to simplify library management, reduce software learning curves, and improve operating system compatibility.

MSP430 Embedded Firmware

Custom PCBs used on SeaWolf VIII are designed around TI's MSP430 MCUs or Launchpad development boards. The firmware for these boards is developed using one of the following tools. Note that IAR is intentionally avoided. TI's CCS is free and fully featured with no code size limit. Additionally, IAR's evaluation license only allows access to the newest version of IAR which can make project compatibility and maintenance difficult.

Arduino / Energia

Required Operating System: Windows, macOS, Linux

Download Links: Arduino IDE | MSP430 Core

While the Energia project is officially unmaintained since November 2022, there are builds of the Energia MSP430 Arduino core located at the link above. These builds user newer tooling and fix bugs with some of the chips used. This core can be installed with the official Arduino IDE.

Generally, this is used only during prototyping or when rapid firmware development is required.

TI Code Composer Studio (CCS)

Required Operating System: Windows, macOS, Linux

Download Link: TI CCS | MSP430 GCC

TI's Code Composer Studiohttps://www.ti.com/design-resources/embedded-development/ccs-development-tools.html supports the MSP430 chips using TI's compiler or a separately installed open source GCC compiler. This IDE is Eclipse based and integrates a debugger among many other tools.

Circuit Simulation

LTSpice

Required Operating System: Windows, macOS, Linux (through Wine)

Download Link: LTSpice

LTSpice is a free circuit simulator with builtin models for many Analog Devies / Linear Tech chips. This is generally our preferred circuit simulator as it is easy to install and use. In some cases however, models designed for PSpice (usually TI parts) are not compatible (they are either encrypted or use PSpice features that LTSpice does not have). In these cases other software is used.

PSpice for TI

Required Operating System: Windows

Download Link: PSpice for TI
(requires TI account and export approval)

PSpice for TI is a limited feature version of Cadance's PSpice simulator. It is more difficult to setup, thus we generally prefer LTSpice, however there are cases where this should be used instead (when a TI model is encrypted or when a model uses PSpice features that LTSpice does not support). Note that using ADI / LT devices is often not possible in PSpice. ADI / LT typically provide encrypted LTSpice models only.

Hardware Design (FPGA)

Vivado & Vitis

Required Operating System: Windows, Linux

Download Link: Vivado ML Edition
(requires AMD account and export approval)

Vivado is used with our Digilent Basys3 FPGA dev board used for the Acoustics system. Vivado is currently used for synthesis, implementation, and bitstreaming. Going forward we intend to explore Vivado's simulation functions too.

Scientific Computing

Generally used for mathematic modeling, validation, or simulation.

MATLAB

Required Operating System: Windows, macOS, Linux

Download Link: Accessed through university. Follow university instructions.

If MATLAB is available, it is generally advisable to use it over GNU Octave as MATLAB is faster and better supported.

GNU Octave

Required Operating System: Windows, macOS, Linux

Download Link: GNU Octave

If MATLAB is not available, GNU Octave is compatible with many MATLAB programs. GNU Octave is free and open source with many packages similar to MATLAB toolboxes as well. While generally compatible with MATLAB code, Octave does not implement all functions. In particular many more recent MATLAB "helper" functions (ie advanced string manipulation functions) are not implemented and require more complex sets of operations to replicate in Octave. However, most core math functions are implemented in Octave.

Due to the few compatibility issues Octave may have, and the fact that Octave is likely slower than MATLAB, it is usually recommended to use MATLAB if a license is available.

Python + 3rd Party Packages

Required Operating System: Windows, macOS, Linux

Download Links: Python 3 | NumPy | SciPy | Matplotlib
(On Linux use distribution package manager to install python3)

Instead of MATLAB it is sometimes preferred (personal preference, language experience, better tool for the particular job, etc) to use Python with a few third party libraries. These libraries are usually numpy, scipy, and matplotlib (install these packages with pip). These libraries can allow python to be a very useful scientific computing tool for many similar applications to how MATLAB or Octave may be used.

Other

Git SCM

Required Operating System: Windows, macOS, Linux

Download Link: Git SCM
(On macOS install Xcode command line tools; On linux install using distribution package manager)

Most of our PCB design files and embedded firmware source code is located in GitHub which uses git as a source control / version control tool. You will need git installed on your computer to use these repositories.

Digilent WaveForms

Required Operating System: Windows, macOS, Linux

Download Link: WaveForms | Adept Runtime
(On Linux make sure to install the Adept runtime first. This is not required on Windows or macOS)

Many members of the club have an Analog Discover 2 from coursework. WaveForms allows this to be used as an oscilloscope, logic analyzer, waveform generator, spectrum analyzer, and many more tools.