Remy Yoo
Published © GPL3+

Simple Soundcard/synthesizer for Arduino | NE555 buzzer

A very simple sound card / synthesizer circuit using NE555 and MCP41010.

BeginnerFull instructions provided30 minutes5,703
Simple Soundcard/synthesizer for Arduino | NE555 buzzer

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
Breadboard (generic)
Breadboard (generic)
×1
555 Timers Ultra Low Voltage
Texas Instruments 555 Timers Ultra Low Voltage
Use generic NE555.
×1
Microchip MCP41010
×1
Capacitor 100 µF
Capacitor 100 µF
Not 100uF!!! 1uF.
×1

Software apps and online services

Microsoft Desktop Windows Operating System 10
Arduino Web Editor
Arduino Web Editor
Or use offline IDE. Really doesn't matter lol
555square
Good web to understand NE555

Story

Read more

Schematics

Schematic

Shows MCP41010 and NE555 connected together. Quite simple if you think about it.

Excel file for frequency chart

Code

Arduino Code

Arduino
Makes Arduino sing using MCP and NE555. Will be quite straight forward.
#include <SPI.h>
const int CS = 8;

void setup() {
  pinMode(CS, OUTPUT);
  SPI.begin();
}

void loop() {
  MCPWrite(78);
  delay(500);
  MCPWrite(48);
  delay(500);
  MCPWrite(58);
  delay(3000);
  MCPWrite(58);
  delay(500);
  MCPWrite(51);
  delay(500);
  MCPWrite(48);
  delay(3000);
  MCPWrite(58);
  delay(375);
  MCPWrite(48);
  delay(375);
  MCPWrite(38);
  delay(250);
  MCPWrite(43);
  delay(3000);
  MCPWrite(58);
  delay(500);
  MCPWrite(51);
  delay(500);
  MCPWrite(48);
  delay(2000);
  MCPWrite(51);
  delay(1750);
  MCPWrite(65);
  delay(250);
  MCPWrite(65);
  delay(375);
  MCPWrite(69);
  delay(375);
  MCPWrite(87);
  delay(2000);
}

void MCPWrite(int value) 
{
  //value is step# for controlling resistance!
  digitalWrite(CS,LOW);
  SPI.transfer(B00010001); // This tells the chip to set the pot
  SPI.transfer((byte)value);     // This tells it the pot position
  digitalWrite(CS,HIGH);
}

Credits

Remy Yoo

Remy Yoo

3 projects • 7 followers
Random guy building random stuff

Comments