diff --git a/mesecons_fpga/sounds/mesecons_fpga_copy.ogg b/mesecons_fpga/sounds/mesecons_fpga_copy.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..259a1bd2d8a613b1ec964c7985c35b367523d2e9
Binary files /dev/null and b/mesecons_fpga/sounds/mesecons_fpga_copy.ogg differ
diff --git a/mesecons_fpga/sounds/mesecons_fpga_fail.ogg b/mesecons_fpga/sounds/mesecons_fpga_fail.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..5e9059f878663fb1cefa45e9b447897862ce407b
Binary files /dev/null and b/mesecons_fpga/sounds/mesecons_fpga_fail.ogg differ
diff --git a/mesecons_fpga/sounds/mesecons_fpga_write.ogg b/mesecons_fpga/sounds/mesecons_fpga_write.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..e781bff9627b33fd25157500d7e6e40945857bee
Binary files /dev/null and b/mesecons_fpga/sounds/mesecons_fpga_write.ogg differ
diff --git a/mesecons_fpga/tool.lua b/mesecons_fpga/tool.lua
index 22bfaeaad22b271ee0ee16751675672231423218..9e57bde9956dd1686b9b9193c4c85bb1dd0bab6e 100644
--- a/mesecons_fpga/tool.lua
+++ b/mesecons_fpga/tool.lua
@@ -18,10 +18,12 @@ minetest.register_tool("mesecons_fpga:programmer", {
 		local meta = minetest.get_meta(pos)
 		if meta:get_string("instr") == "//////////////" then
 			minetest.chat_send_player(placer:get_player_name(), "This FPGA is unprogrammed.")
+			minetest.sound_play("mesecons_fpga_fail", { pos = placer:get_pos(), gain = 0.1, max_hear_distance = 4 })
 			return itemstack
 		end
 		itemstack:set_metadata(meta:get_string("instr"))
 		minetest.chat_send_player(placer:get_player_name(), "FPGA gate configuration was successfully copied!")
+		minetest.sound_play("mesecons_fpga_copy", { pos = placer:get_pos(), gain = 0.1, max_hear_distance = 4 })
 
 		return itemstack
 	end,
@@ -43,6 +45,7 @@ minetest.register_tool("mesecons_fpga:programmer", {
 		local imeta = itemstack:get_metadata()
 		if imeta == "" then
 			minetest.chat_send_player(player_name, "Use shift+right-click to copy a gate configuration first.")
+			minetest.sound_play("mesecons_fpga_fail", { pos = user:get_pos(), gain = 0.1, max_hear_distance = 4 })
 			return itemstack
 		end
 
@@ -50,6 +53,7 @@ minetest.register_tool("mesecons_fpga:programmer", {
 		meta:set_string("instr", imeta)
 		plg.update_meta(pos, imeta)
 		minetest.chat_send_player(player_name, "Gate configuration was successfully written to FPGA!")
+		minetest.sound_play("mesecons_fpga_write", { pos = user:get_pos(), gain = 0.1, max_hear_distance = 4 })
 
 		return itemstack
 	end