28/03/22 Lab & Seminar Blog Post

During this mornings session, we watched and gave feedback on a great presentation by Dr. Rebecca Stewart, based around electronic music interfaces, primarily using unconventional materials like fabrics or textiles. It was very helpful to see and witness how one can experiment with somewhat traditionally sourced materials.

This is a screenshot of one of the projects featured within the presentation, by Afroditi Psarra

In the lab session, we revised last weeks topics and began working towards our final projects independently. I personally tried to resolve some software issues I am having with MAX/MSP but they are persisting which is causing me great frustration. I am at this stage considering switching to Pure-Data instead, before I am too far into this project and I cannot change program as I have committed too much time into one software.

21/03/22 Lab and Seminar Blog

In this morning’s session, Tolu gave a great presentation on some projects that inspire his project and gave a great insight into his thought process into how he decided his final project.

For the lab session, we began with a recap of last week which we then followed by an informative session around remote access of the DMU computers which in turn gives us access to software such as SolidWorks which is a material design/3d printing and construction software that will be crucial for us to

A Screenshot of a half sphere created within SolidWorks

The second phase of the lab was spent checking fitting within the enclosure and trying to work out creative ways in which I can get the most out of my circuit and make it a unique, interesting project.

21st Feb (ONLINE)

What is a timeline?

A timeline is a display of a list of events in chronological order.

What are the different types of timelines?

  • Text timelines, labeled as text
  • Number timelines, the labels are numbers, commonly line graphs
  • Interactive, clickable, zoomable
  • Video timelines

What is a Gantt chart?

Gantt chart is a type of bar chart that illustrates a project schedule, named after its popularizer, Henry Gantt (1861–1919), who designed such a chart around the years 1910–1915. Modern Gantt charts also show the dependency relationships between activities and the current schedule status.

GanttPRO — 

  • multi-platform
  • 14 day free trial but then paid
  • web based
  • Gantt chart


  • multi-platform
  • 30 day free trial but then paid
  • web based
  • Gantt chart

TimeGraphics –

  • multiplatform
  • Free
  • Web based
  • Timeline

Milestones and goals:

Goals refer to the results an organization intends to achieve in a given time period.

Milestones are the critical and measurable accomplishments that need to be made so as to progress towards a goal. 

Lab Session – 31/01/22 –

In this session, we discussed our previous blog posts and revised the content from last week. We were then set on the task of finding a few audio libraries for Arduino and below is the research I found.

DFPlayerMini: included within the IDE software libraries page and is a reliable, responsive driver for DFPlayer Mini sound module for Arduino, and functions with SD card readers you can buy from DF and third parties.

ESP8266Audio: Arduino library for parsing and decoding MOD, WAV, MP3, FLAC, MIDI, AAC, and RTTL files and playing them on an I2S DAC

MD_YM2413: the YM2413 can only play one user-defined instrument at a time, with an additional 15 read-only hard-coded instrument profiles available

Mozzi: Expands on the current beeps that the Arduino is capable of, implementing much more complex sounds to be available for playback. You can use Mozzi to generate algorithmic music for an installation or performance.

Musician: This library implements a virtual musician. You can easily ask him to play a melody, based on the MELO music notation from the Melody Library.

Teensy: Audio Library is a toolkit for building streaming audio projects, featuring Polyphonic Playback, Recording, Synthesis, Analysis, Effects, Filtering, Mixing, Multiple Simultaneous Inputs & Outputs, and Flexible Internal Signal Routing.

#include <MozziGuts.h>
#include <Oscil.h>
#include <tables/sin2048_int8.h>

#define CONTROL_RATE 128
Oscil <2048, AUDIO_RATE> aSin(SIN2048_DATA);
Oscil <2048, CONTROL_RATE> kVib(SIN2048_DATA);

float centre_freq = 440.0;
float depth = 0.25;

void setup(){

void updateControl(){
	float vibrato = depth * kVib.next();

int updateAudio(){
	return aSin.next();

void loop(){

So to summarise this Mozzi library tutorial, any Mozzi classes/modules or tables need to be called using the #include <_____>, for example : #include <MozziGuts.h> is the main library, whilst #include <Oscil.h> is used to call the oscillator. #include <tables/sin2048_int8.h> is the Wavetable that corresponds to the sinewave we are using in the example.

Next, we create an instance for the oscillator using Oscil to which we will then alter.

Oscil <table_size, update_rate> name(table_data);

So we input our values into the format above to create something that looks like this below. Note that the table size value typically needs to be a power of two for compatibility. The oscillator uses an audio generator

Oscil <2048, AUDIO_RATE> aSin(SIN2048_DATA);

Arduino – (week 15) Jade H

1. What does open source mean?

This means that although the software is licensed under a company, this software can be downloaded for free. Anyone can have any access to this software.

2. What is an IDE?

Integrated Development Environment which combines activities of writing software into a single workspace.

3. What is a cross-platform application in computing?

Developing software for, or running software on, more than one type of hardware platform. The most universal cross platform application is the Web browser.

4. The source code for the IDE is released under the GNU General Public License,what does it mean?

The license allows developers and companies to use and integrate a software component released under the LGPL into their own software without being required by the terms of a strong copyleft license to release the source code of their own components

5. What are the user programming languages supported by Arduino IDE?

C, C ++, ArduBlock, Snap4Arduino, Python and Java.

6. What are the developer programming languages used in the Arduino IDE?

C, C ++ and Java.

7. Where does the software library of the Arduino programming language come from?

The software library is from the Wiring Project which provides input and output procedures.

8. What does it mean to compile a program?

Compiling is the transformation from source code (human readable code) to machine code (Computer executable).

9. What is the process of the Arduino IDE to load the code into the Arduino board?

The Arduino board is connected to a computer via USB, where it connects with the Arduino development environment (IDE). The user writes the Arduino code in the IDE, then uploads it to the microcontroller which executes the code, interacting with inputs and outputs such as sensors, motors, and lights.

10.What does happen when you upload a sketch?

There are two main tools when uploading a sketch to a board: verify and upload. The verify tool simply goes through your sketch, checks for errors and compiles it. The upload tool does the same, but when it finishes compiling the code, it also uploads it to the board.

11. What is the purpose of the libraries?

 Libraries provide extra functionality for use in sketches, e.g. working with hardware or manipulating data.

12. What is the Library Manager?

The library manager gives a list of a different libraries created by multiple people that anyone can use.

13. What is the Serial Monitor?

The serial monitor is the link between the computer and Arduino. It lets you send and receive text messages, handy for debugging and also controlling the Arduino from a keyboard. For example, you are able to send commands from your computer to turn on LEDs.

14. What is baud rate?

Baud rate is simply the rate of signal or symbol change per second. 

15. What are the effects of board selection?

Depending on the board you select this varies the number of inputs and outputs (how many sensors, LEDs, and buttons you can use on a single board) speed and operating voltage. Some boards are designed to be embedded and have no hardware which you would need to buy separately.

Lab Questions

9. What is the process of the Arduino IDE to load the code into the Arduino board? To load code onto the Arduino, you must connect it via USB to your computer. The Arduino software should recognise the board and then you can either write your own code or load a previously written code which will be verified by the programme when it has completed the upload.

10. How does the Arduino IDE relate to the Processing IDE? The Processing IDE works for a computer like the Arduino IDE works for a mini-controller. It has initialisation functions and draw capacities like an Arduino has an initialisation and loop sequence. The Processing IDE can speak with the Arduino IDE through sequential communications.

11. What is Processing? In computing, a process is the instance of a program that is being executed by one or many strings. It contains the program code and its action. Contingent upon the operating system, a process might be comprised of numerous strings of execution that execute directions simultaneously.

12. What is the Arduino web editor? The Arduino Web Editor allows you to write code and upload sketches to any Arduino board after installing a simple plug-in — your Sketchbook will be stored in the cloud and accessible from any device. You can even import your Sketchbook via a . zip file!

13. 52,158,215 downloads as of June 21st