Arduino and DAC Cassette Mellotron

This is the project Im working on, but using a different cassette player, I dont expect that it makes much difference.
Here is the link for reference

I have put the parts together and now am working on the code.
FYI the Arduino Blink Sketch works, but the sample sketches for the DAC, ie triangle etc say they cannot compile for the Arduino Uno.

Anyway, I have gotten so far, but keep getting error messages.
I have attached the text docs and the latest error message, I was wondering if anyone can help out.

Also the plan is to have it controlled via MIDI (Digital Audio Workstation).
I tried a sketch from this page Using DAC's on an Arduino - XTronical and it seemed to work fine.
Error (1.7 KB)




Welcome to the forum!!

Just to confirm would it also be possible to upload the code that you are trying to flash onto the Arduino? (The line numbers code and respective error messages don’t seem to be matching up).

To get Zack’s project working you’ll only have to upload the voltage.ino file to the Arduino, and then connect the Arduino to the PC via USB (running the commands below installs the server-side of things)

It’s also worth noting that down the bottom of the repo there is some contact details for anyone trying to replicate the project, its definitely worth mentioning the creator!


Hi, what do i run the commands in tho?

1 Like


If you are new to Linux / RPi, then perhaps check out this guide

And along the way, you will get to 1.4 Introduction to the Shell which will walk you through where to find the terminal and some basic commands to get started with.

1 Like

again, (running the commands below installs the server-side of things)
in what?

I dont have a rasberry PI and not into Linux, im not sure where that came from. So i don’t see how this will help, sorry. I have a windows Laptop, I tried the 0pen localhost, etc, in Chrome does not work, it says server not found.

All I wanted to do was to get this thing running, assuming that I would not have to learn how to code right from the beginning in order for that to happen.

I copied the information in the red box and pasted it into a command prompt which is where i assumed it should go… did not work. Im simply looking for it to interface between my Music Workstation and the tape cassette.

I have contacted the guy, but as yet have not heard anything back, which is why I put the question here.

Thanks Jeff,
I guess the point being is that it wasnt supposed to run through a browser, but essentially as a MIDI controlled voltage adjuster… The cassette player runs on say… 3VDC.
This use of HTML< and go etc, seems to be separate from the intended use.
Ie, i have a teensy board that i just plug in directly to USB, and it has some faders on it. I move them up and down and it sends a signal to my DAW that is interpreted as MIDI controller data.

Essentially with this thing i was looking for something in reverse, with the Arduino Plugged in via USB, it receives signals based on the MIDI note value.

This inteprets the signal and then converts it to some kind of pulse, i assume.

The DAC then converts that to an Analog voltage, and that makes the tape machine either not play at all, or play at a range of speeds.

With all this seeming to not work, I have been looking for some code that will let it stand seperate to GO, or web pages etc,

I am trying to find some kind of MIDI Voltage control for Arduino UNO direct from USB and MIDI, with note values being output as voltages (with each separate MIDI note, outputting a specific voltage)

All it would be doing, essentially is controlling the motor speed of the tape deck, via MIDI over USB. The inital way seems rather complicated. And doesnt seem to work.

Thanks for taking the time to look into it tho…

The HTML index file is the one that contains the code that the compiler is complaining about. It’s not valid C code, even though it looks like it is supposed to be. But I can’t tell whether should be part of the compiler input - it looks like it might be accessed by the server-side components somehow, but I can’t unravel that part of the procedure - it depends on what go does.

Hi there,
So what im learning from this is that Arduino can do MIDI but it has to have the bootloader set up to do that or something… so ill forget that…

It seems Teensy already can send MIDI commandsa, as i have made a 4 fader box that works ok, so im assuming it can recieve them.

This may be a simpler project rather than the Arduino and DAC…
So my question is this…

Is there a way to have the Teensy (assume 4.0) receive MIDI Signals, and convert those to a voltage out between say, 0 and 5 volts (or whatever value)?

I think i have seen that it can output an analog voltage, so is there a way to get this code happening?

Basically Recieve a Midi Signal, and it sends out a voltage based on Pitch recieved?

Some help with this would really be appreciated.


1 Like

If you can receive the MIDI signal then you need two things - a MIDI message parser and an analog output.

There is a message parser here. You would use the example provided, but with a NoteOn callback handler added. In the handler you can extract the note value.

Then you can convert the note value to an output voltage using an example such as this. Depending on your version of Teensy the analog output could be derived internally rather than being integrated from the PWM output.

However, given the age of that parser code and the inadequate documentation, there may be some gotchas in the process.

What is your source for MIDI?

1 Like

Its Reaper, the DAW… its generally pretty MIDI friendly,
I have a Teensy that i use to control 4 faders, for Controller Messages, that is sending tho, not recieving.

Ideally, i dont care which board it is, if it can output about 5v Analog, id go with that…
Thanks for the links i will have a look… I dont have the teensy at the moment, but once i figure which one will work i will get that…

1 Like