# New AU5017 Embedded Micro SD-Card MP3/WAV Player Module



## ScaryLane (Jun 3, 2013)

A Review of MDFLY's AU5017 Embedded Micro SD-Card MP3/WAV Player Module.


Here my review of the new AU5017 player now that the samples have been my hands for a few days. My overall impression of the MP3/Wave player module is good for a $5 component. It's a simple to interface with a microcontroller and definitely an improvement over other low cost players on the market.


The first improvement is the use of newer Micro SDHC memory flash cards. With older 2 GB SD cards becoming harder to find (and going up in cost), the SDHC option future-proofs this player in our design for years to come. The AU5017 can use the older Micro SD Cards too.


Besides playing compressed MP-3 files, the new player can use Wave format tracks for loss-less playback. (Very handy for playing back 5.1 surround sound.) The file extension of MP3 or WAV tells the player what format the file is in.


The player file system can hold up to 1,200 files for playback. The files are broken down in to six groups (Indexes) of two hundred files each. Each file has a 4 digit number for the filename with the extension of MP3 or WAV. The first number (of the filename) is the index (group) a file belongs to. (Ranging from 1 to 6.) The last three numbers are the track in that group. (1 to 200) The file 3034.MP3 is in the third index group and track number 34.


It's a simple file system without using any folders. (All stored in the root directory.) Best of all, the filename, not the position in the file structure is used to select the file. This eliminates the need to sort the SD-card with a hard to use file (structure) sort utility.


To improve audio quality and remove hum, the AU5017 has audio ground on the sound output. The output level is also high enough to drive a good set of headphones or as a line input to an amplifier.


I've been saving the best improvement for last. The AU5017 will send data back in an easy to use one or two byte packets depending on the command. This feedback lets you know what the current volume level to how many tracks are in the currently selected group. There is even a command to find out how many Minutes and Seconds left in the track that is playing.


Interfacing to the AU5017 is via the RX, TX and Busy lines. The Busy line indicates if a track is still playing. The RX and TX are the TTL level serial input and output lines with a wide range of baud rates. (9600 Baud is the default.) There are still 8 input lines that could be used to trigger the first 8 tracks.


The power input ranges from 3.3 to 5 Volt. While the internal logic is based on 3.3 Volts, the I/O lines are compatible with 5 Volt logic levels.
The overall side of the AU5017 is 40 mm by 33 mm (1.58" by 1.3") with three groups of 8 pin holes for headers.


After bench-testing samples and writing driver code for Picaxe controllers, I find the module is easy to work with. Best of all, it fixed a number of issues I had with the older MP3 players.


Because the module is still new, supplies for the AU5017 are a bit tight. MDFly.com has assure me that when I'm scaling up with my new designs using the module that they will have plenty in stock. I hope they are right, because I see a lot of designers using their $5 wonder.


The current datasheet for the AU5017 is at:
http://mdfly.oss-cn-hangzhou.aliyuncs.com/board/audio/AU5017.pdf
The AU5017 can be order at the MDFLY.COM website.


----------



## Atom058 (Sep 20, 2009)

Steve - Thanks for the review on this - can't wait to try one! You weren't kidding about inventory being tight - they had 1 and I ordered it (sorry to the rest of you). I really hope he (MDFLY) can maintain a good stock in the future as my biggest complaint is that he keeps running out right when I need to order a bunch... When I get to play with it, I'll post my results as well. Thanks again! Jeff


----------



## ScaryLane (Jun 3, 2013)

Atom058 said:


> Steve - Thaweren't kidding about inventory being tight - they had 1 and I ordered it (sorry to the rest of you). I really hope he (MDFLY) can maintain a good stock in the future as my biggest complaint is that he keeps running out right when I need to order a bunch...


What they been doing the last week is just having "one" in stock and reset it back to one within 24 hours. This way, us designers can get a sample in for testing.

I was told that after the Holiday (Chinese new year), they will get another 100 in stock. I hope they will stay ahead the demand on this model in the coming months.

On a side note. I'm working on a white paper on the ins and outs of using the module. I will also release my Picaxe code library too. It will be well commented so it should be easy to translate to your controller of choice.


----------



## Atom058 (Sep 20, 2009)

I suspected that might be what was happening... Anyway, hope this is the one I'm looking for! Sounds like it, based on your review... Thanks!


----------



## DarkOne (Oct 16, 2012)

I'm excited to see how this one works. The last couple of modules from them I bought, I could never get working with serial commands. They still work by "pressing a button" but it was a model that was only around for a short while. So I'm guessing I wasn't the only one having problems. I hope to order one soon to try it out!


----------



## Atom058 (Sep 20, 2009)

Well, just got notified that my order was cancelled because they ran out and it will be a month before they get any more in. Ugggghhh! They're killing me! Back to Catalex 'till then!


----------



## Rick (Feb 6, 2012)

Can the AU5017 replace the Tenda audio board on the Frankenstein board? I have a Frankenstein board, but have not purchased all the components and was wondering if the AU5017 could be used?


----------



## ScaryLane (Jun 3, 2013)

Rick said:


> Can the AU5017 replace the Tenda audio board on the Frankenstein board? I have a Frankenstein board, but have not purchased all the components and was wondering if the AU5017 could be used?


The physical mounting of the AU5017 uses 3 sets of 8-pin headers and the Tenda use one 20-pin header. While you could create an adapter to get the AU5017 to work with the Frankenstein board, all the Media Player code would need to be rewritten. Also, the SD-CARD file data will have to be redone for the new player. It can be done. But it's a lot of work.

Frankenstein works well with the Tenda MP-3. It's just the new Au5017 fixes many of the issues that Steve and I had to work around when designing Frankenstein.

Because of those issues, I was working on a new standalone Audio Media Player module. Luckily, MDfly came out with this player so I did not need to waste my time and money on that project.

All of my future DIY board projects will use the AU5017, like Banshee and Banshee jr. But it's not worth going back and redesigning Frankenstein to use the new player since Banshee outdoes Frankenstein because of the extra power and the dual Audio Spectrum Analyzers used to drive the jaw movements.


----------



## Rick (Feb 6, 2012)

Thanks. Any idea on the price of the new boards?


----------



## ScaryLane (Jun 3, 2013)

Rick said:


> Thanks. Any idea on the price of the new boards?


Well, I don't have any inside info on the price. (I don't work there.) But MDfly's website does shows the price as $4.99 each.

Was their website down so you could not find the price?


----------



## BillyVanpire (Apr 22, 2015)

this one i presume ...?
http://www.mdfly.com/products/microsd-tf-card-mp3-wav-player-module-ttl.html


----------



## Rick (Feb 6, 2012)

Looking for price for new banshee boards.


----------



## ScaryLane (Jun 3, 2013)

Rick said:


> Looking for price for new banshee boards.


At this time, I don't have the price for the Banshee and Banshee Jr boards since they are still in the prototype stage. (Because of the redesign to use the new AU5017 audio media player.)

The final price will be announced with the boards release date on the Haunt Hackers website. As for when with that be? It takes 2-3 weeks to get a run in from China and there are at lease 2 runs needed for each new board. (Add another 2-3 weeks if I need another run because of problems with the prototype.)

Basiclly, I'll be selling the board at a price to cover the board's cost and shipping. I do include a few low cost but hard to find items like the Resister Net packages. Well, Mouser.com has them but the shipping is a bit high. (Like 15 times price of the part.)

By me ordering these parts in large lots and including them with each PC boards, I can save you all that shipping cost. I've also designed both Banshees to use parts from Tayda Electronics (whenever possible) to keep cost low.

If I had to guess, the new boards should be out in a month or two barring any production issues.


----------



## ScaryLane (Jun 3, 2013)

ScaryLane said:


> I was told that after the Holiday (Chinese new year), they will get another 100 in stock. I hope they will stay ahead the demand on this model in the coming months.


They did get there latest order in from China and that shipment are going fast. As of this morning, there was only 26 left in stock.

I'm trying to work with them to keep more in stock since I want to buy them in lots of 50 or even or 100 to guarantee a supply for my Banshee builders.


----------



## Rick (Feb 6, 2012)

Could you purchase them and make them part of the price of the board (as you plan with the resistor nets)?


----------



## ScaryLane (Jun 3, 2013)

Rick said:


> Could you purchase them and make them part of the price of the board (as you plan with the resistor nets)?


It could be part of the plan. It all depends on the how solid the stock is at MDfly.

I may have an option of supplying the AU5017 for a short time while MDfly is getting their stock in good shape.

One thing I don't want to do is get in the business of supplying parts since I would have a good markup to cover the cost of stocking and warranty replacement. While MDFLY has been good on standing behind their stuff, there is a lot of work in just getting the bad part from you and sending you a replacement. Then I need to send it out for hopefully a warranty replacement and risk it NOT being covered.


----------



## ScaryLane (Jun 3, 2013)

ScaryLane said:


> After bench-testing samples and writing driver code for Picaxe controllers, I find the module is easy to work with. Best of all, it fixed a number of issues I had with the older MP3 players.


On the homepage of the HauntHackers.com website there is a link to a white paper on using the AU5017. This 4 page PDF doc covers how to use the player with a micro-controller via the Busy, TX and RX lines. The code samples (based on Banshee's Picaxe 40X2) for controlling the player also test for errors. (Like a missing AU5017 or a track not found.)

Enjoy!


----------



## Atom058 (Sep 20, 2009)

Steve - Thanks for the link for the white paper. I went to MDFLY's web site to see if there was a data sheet that detailed all of the commands available, but did not see one. Do you know where one might find that? Or, should I just ask MDFLY? Jeff


----------



## ScaryLane (Jun 3, 2013)

Atom058 said:


> Steve - Thanks for the link for the white paper. I went to MDFLY's web site to see if there was a data sheet that detailed all of the commands available, but did not see one. Do you know where one might find that? Or, should I just ask MDFLY? Jeff


The document that is linked to in the very first posting of this thread is MDFLY's data sheet on the AU5017. I believe this is not the "final" data sheet for the AU5017 and why is is not on the website. I asked for them to added a diagram of the board with placement measurement of the three headers. (They could be working on that.) But it does have the command set you are looking for.

There is a data sheet on the web page for the full size SD card version (AU5016) and it functions just like it's lower cost brother. Both have the same command set.

I've already designed one project to use the AU5017 (Banshee Jr.) and the prototype PC boards should be here within the next few days. One of the items that I'm testing with this PC board run is my design for Eagle CAD Library part of the AU5017. Once I'm sure my part design works, I'll release over on HauntHackers.com website.


----------



## Atom058 (Sep 20, 2009)

Steve - Thanks! Can't wait to get a minute to play with this! Jeff


----------



## Atom058 (Sep 20, 2009)

Steve - Just tried that link and it's no good anymore...


----------



## DarkOne (Oct 16, 2012)

These are back in stock. Just ordered two! 19 left.


----------



## Atom058 (Sep 20, 2009)

OK, I've finally had some time to play with this. I am able to select and play files and adjust volume via serial i/o (I'm using PICBasic Pro) so my communication seems to be good. However, I am getting some strange results when I query the module for the number of files ($E3). I am getting a response, but it's not making any sense. I have 16 files on the uSD card named 1001.mp3 to 1016.mp3. I queried the player with 16 files on it and it returned 136. I then deleted the 16th file and queried again and got 248. I repeated this procedure all the way down to 1 file. Here is a table of my results: (#Files : Reply in Decimal)

16 : 136 15 : 248
14 : 135 13 : 195
12 : 134 11 : 225
10 : 133 09 : 194
08 : 132 07 : 240
06 : 131 05 : 193
04 : 130 03 : 224
02 : 129 01 : 192

It's interesting that the even numbers decrement by one. But this is nothing that I can work with to determine how many files are on the card. Any suggestions as to what I'm doing wrong? Thanks! Jeff


----------



## Kensington Graves (Mar 7, 2016)

I've been reading this thread with interest, and ordered some units based on Steve's review. I received 4 of the AU5017 boards last week, and I've been playing around with one on an Arduino Uno and have developed some sample code for some of the functions. It's pretty rough, since I'm not much of a coder. Reference for the hex commands in the datasheet Steve identified.


```
/* MDFLY AU5017 SERIAL MP3 BOARD SAMPLE SKETCH FOR ARDUINO
* This sketch is tested on Arduino Uno. It has not been tested on any
* other Arduino that does not support hardware serial. A software serial
* port named mp3Serial is bound to digital pin 10 for TX from Arduino, and
* digital pin 11 for RX from MP3 board. Pin 10 is wired to RX pin on AU5017,
* and pin 11 is wired to the TX pin on AU5017. The hardware serial port is used
* for debugging and printing return codes from AU5017.
* 
* There are several delays() written into the sketch. I found that if hard delays 
* were not present, the functions called by the sketch did not operate reliably.
* I do not know if this is a problem with the AU5017 board or if it's just
* my coding skills are too rudimentary to create a better solution.
* 
*/
#include <SPI.h>;
#include <SoftwareSerial.h>;
SoftwareSerial mp3Serial = SoftwareSerial (10, 11); // binds a serial port instance to pins 10 & 11

void setup() {

Serial.begin(115200); // NOTE: This is the hardware serial port created by SoftwareSerial
Serial.println("Hardware serial monitor started!");
mp3Serial.begin(9600); // This is the software serial port that communicates with the MP3 board
Serial.println("MP3 Serial comms started at 9600 baud"); // Default baud rate of AU5017 is 9600.

mp3Serial.write(0xE3); // Queries number of tracks on SD card and returns number, which is printed to serial monitor
delay(50);
Serial.print("Total of ");
Serial.print(mp3Serial.read());
Serial.println(" tracks found on SD Card");

mp3Serial.write(0xE9); // Sends Vol+ command and reads return message to get initial volume
delay(100); // Allow time to send command and receive return message from mp3 board
Serial.print("Initial Volume is: ");
Serial.println(mp3Serial.read());
setMaxVolume(); // Function defined below loop() section to increase volume to maximum
delay(1000); // This is a backup delay so that setMaxVolume can finish
//playRandomTrack(); Commented out functions for testing one by one
playFirstTrack();
//volumeFadeDown();
delay(1000);
//setMaxVolume();

}
void loop() {
// put your main code here, to run repeatedly:
}

/* These are the functions called during setup.
* They are called outside of void(loop) so they do
* not repeat unless placed in the loop() section.
* 
*/

void setMaxVolume() {
mp3Serial.write(0xE9); // Send Vol+ command to get current volume return message.
delay(50); //give it time to send command and respond, or it gives -1 value (empty serial buffer)
if(mp3Serial.read() == 30) { // NOTE: the hex value is automatically converted to ASCII by serial, so 0x1E will read as "30"
Serial.println("Maximum volume set."); // if the return message is 30, it's at maximum value
} else { // If the volume is lower than maximum, start the volume increase loop
for(int v=1; v=30; v=v+1) {
mp3Serial.write(0xE9);
delay(50); 
}
}
}

// This function fades the volume from the current volume to zero
void volumeFadeDown() {
for(int j=1; j <= 30; j++) { //Counter is set to 30 because that's the maximum possible volume
mp3Serial.write(0xE8);
delay(100); // NOTE: The delay time isn't perfect, but seems to work. If the mp3Serial.read is printed to the serial monitor with a lower delay, the printed output will sometimes skip a number (jump from 18 to 20).
Serial.print("Volume is now: ");
Serial.println(mp3Serial.read());
delay(600); // This delay provides the fade effect.
}
}

// This function plays the first track in index 1
void playFirstTrack() {
int trackNo = 0x01; // Identify track by hexadecimal number
mp3Serial.write(0xF1); //Set index to index 1
delay(50);//Give it time to transmit and read command--this is 9600 baud, after all :)
mp3Serial.write(trackNo); //Send command to play track 1 in hexadecimal
Serial.print("Now playing track ");
Serial.println(trackNo); // NOTE: the hex valued contained in trackNo will be converted to decimal by serial monitor

}
// This function plays a random track from the current index
void playRandomTrack() {
mp3Serial.write(0xEB);
delay(100);
Serial.println("Playing a random track");

}
```
 The functions above are pretty basic. Next step is to integrate the functions into a prop control sequence.

I have not found a way to read the two-byte return codes for track time and other features that return two bytes and then use those codes. I'm thinking of reading the bytes into an array and then conduct operations on the bytes based on their index value in the array. For example, send command 0xEC (current track time) and then write the result to the serial monitor in (byte_minute) : (byte_second) format. Since I suck at coding, any input/advice is appreciated.


----------



## ScaryLane (Jun 3, 2013)

Atom058 said:


> Steve - Just tried that link and it's no good anymore...


If you are referring to the link in the first posting of this Thread, I just tried and it's working just fine.


----------



## ScaryLane (Jun 3, 2013)

Kensington Graves said:


> I have not found a way to read the two-byte return codes for track time and other features that return two bytes and then use those codes. I'm thinking of reading the bytes into an array and then conduct operations on the bytes based on their index value in the array. For example, send command 0xEC (current track time) and then write the result to the serial monitor in (byte_minute) : (byte_second) format. Since I suck at coding, any input/advice is appreciated.


When working with Serial I/O, I find its best to have the Interrupt from new data in from the Serial Hardware trigger code that place the the data in a First In / First Out Buffer. That way your code does not have to sit around and wait for the data. Also this will automatically the received data no matter what the size. (Be it one byte or two.) The main code only needs to get the bytes it needs to verify the function work.

In the case of the Picaxe, it has built in FIFO buffers on the hardware serial port. The sample code that I put out on the the White Paper did stop and wait for the data to come in on the FIFO buffer. I do have project that use more time critical code that sends out the command and checks the on it much later after getting a lot of work done.


----------



## ScaryLane (Jun 3, 2013)

Atom058 said:


> OK, I've finally had some time to play with this. I am able to select and play files and adjust volume via serial i/o (I'm using PICBasic Pro) so my communication seems to be good. However, I am getting some strange results when I query the module for the number of files ($E3). I am getting a response, but it's not making any sense. I have 16 files on the uSD card named 1001.mp3 to 1016.mp3. I queried the player with 16 files on it and it returned 136. I then deleted the 16th file and queried again and got 248. I repeated this procedure all the way down to 1 file. Here is a table of my results: (#Files : Reply in Decimal)
> 
> 16 : 136 15 : 248
> 14 : 135 13 : 195
> ...


Do you have the Serial set to 9600-8-N-1? In other words 9600 Baud, 8-Bits, No parity and one stop bit?
Looking at your output, a format error would explain why you are this type of output. Also check if you got it set for True and not negative logic.


----------



## Kensington Graves (Mar 7, 2016)

ScaryLane said:


> When working with Serial I/O, I find its best to have the Interrupt from new data in from the Serial Hardware trigger code that place the the data in a First In / First Out Buffer. That way your code does not have to sit around and wait for the data. Also this will automatically the received data no matter what the size. (Be it one byte or two.) The main code only needs to get the bytes it needs to verify the function work.
> 
> In the case of the Picaxe, it has built in FIFO buffers on the hardware serial port. The sample code that I put out on the the White Paper did stop and wait for the data to come in on the FIFO buffer. I do have project that use more time critical code that sends out the command and checks the on it much later after getting a lot of work done.


When I use RealTerm, the values come back exactly as specified on the datasheet. But on the Arduino the values are returned as 1 or 0-and not in the good binary way that translates to a number--even when the HEX parameter is included in the .read for certain 2 byte returns. For example, I serial.write 0xEC and 0xED one after the other, then serial.available, which returns the number of bytes in the buffer (I get 5 bytes; 4 expected). Serial.read piped through serial.print six times pulls one bytes at a time, but only shows 1, 1, 1, 1, 0, -1 (-1 means the buffer is empty). I don't have an explanation for this since the volume command (2 byte return) will return the correct 2 byte code. Probably not mission critical for haunt applications, though. The board plays sound when told to.


----------



## ScaryLane (Jun 3, 2013)

Kensington Graves said:


> When I use RealTerm, the values come back exactly as specified on the datasheet. But on the Arduino the values are returned as 1 or 0-and not in the good binary way that translates to a number--even when the HEX parameter is included in the .read for certain 2 byte returns. For example, I serial.write 0xEC and 0xED one after the other, then serial.available, which returns the number of bytes in the buffer (I get 5 bytes; 4 expected). Serial.read piped through serial.print six times pulls one bytes at a time, but only shows 1, 1, 1, 1, 0, -1 (-1 means the buffer is empty). I don't have an explanation for this since the volume command (2 byte return) will return the correct 2 byte code. Probably not mission critical for haunt applications, though. The board plays sound when told to.


From what I can see, the board does not have a command in FIFO buffer. So, you must wait for the return byte(s) before sending in the next command. This is just about the only of knowing that command was received and completed by the AU5017.

Every command takes at lease 1 ms because it takes that long to send it at 9600 Baud. Commands that read the SD card takes much longer. This could be why the terminal works and the Arduino does not.

As for my work with the Au5017, I've found it to very reliable and without error. But my codes always waits for the return byte(s) before sending the next command.

I hope this helps.


----------



## Kensington Graves (Mar 7, 2016)

Thank you for the comments. Looks like I should pick up a ok axe to play with. I'm thinking it's Arduino specific at this point, although I'll put in a longer delay and see what happens. I've been using 50ms to 100ms delays for the return code. I suppose it could also be an issue with the softwareserial function I'm using.


----------



## Atom058 (Sep 20, 2009)

ScaryLane said:


> Do you have the Serial set to 9600-8-N-1? In other words 9600 Baud, 8-Bits, No parity and one stop bit?
> Looking at your output, a format error would explain why you are this type of output. Also check if you got it set for True and not negative logic.


Yes, my settings are 9600-8-N-1...I believe that my communication is OK as I am able to set and get the current volume. But for some reason with the $E3 command, I am not getting a viable response. It may be a timing thing, so I will experiment with that. I haven't given up yet! Thanks! Jeff


----------



## Kensington Graves (Mar 7, 2016)

ScaryLane said:


> Do you have the Serial set to 9600-8-N-1? In other words 9600 Baud, 8-Bits, No parity and one stop bit?


You know what...I have the hardware serial running at 115200-8-N-1 while the software serial connected to the AU5017 is set to 9600-8-N-1. I'm going to check whether my output changes when I slow down the hardware serial.


----------



## ScaryLane (Jun 3, 2013)

Kensington Graves said:


> Thank you for the comments. Looks like I should pick up a ok axe to play with. I'm thinking it's Arduino specific at this point, although I'll put in a longer delay and see what happens. I've been using 50ms to 100ms delays for the return code. I suppose it could also be an issue with the software serial function I'm using.


I made sure to use the hardware serial I/O ports of the Picaxe chip conjunction with the AU5017. One of the issue with a picaxe is the Servo jitters you get when using the Software style Serial I/O.

The Picaxe needs to stop running background tasks like sending out the pulses of the servo control when "Bit Banging" the software serial port. (Yes, there is even a very old term for software based Serial I/O.)

Picaxe is a fun line of chips, From the little 08M2 to the huge 40X2. So it's easy to pick the right part for the job. But before you do buy a Picaxe, head over to Picaxe.com and look at the 3 Manuals to see if this is a chip for you.

Besides Picaxe, I do use Raspberry PI and Arduino depending on what the project's needs are.


----------



## Kensington Graves (Mar 7, 2016)

You can never have too many chips to play with, right?

I'm sort of working on a controller using the ESP8266 running the Arduino IDE and now the AU5017 for sound (was looking at Catalex before) for a webpage or app-triggered prop of some kind (don't know what that will be yet). The ESP8266 has built-in wifi and can host a basic web page that allows control of I/O pins. And it's cheap. An Adafruit or Spakrfun full dev board is $15, and breakout boards from China are $5 or less. I got it into my head that it would be fun to have an otherwise untriggered prop that "guests-in-the-know" could trigger on demand via I-device to mess with their friends/others at the haunt. For that application I'm sort of chained to the Arduino environment.


----------



## JeffHaas (Sep 7, 2010)

Not necessarily - you could use one of the $3.00 ESP8266 boards as the wifi connection for other controllers as well. But there is something appealing about a tiny integrated Arduino-compatible unit that does wifi and controls things.


----------



## ScaryLane (Jun 3, 2013)

JeffHaas said:


> Not necessarily - you could use one of the $3.00 ESP8266 boards as the wifi connection for other controllers as well. But there is something appealing about a tiny integrated Arduino-compatible unit that does wifi and controls things.


These days, I would just step up to a Raspberry PI if I need a Network stack with power to do real web stuff. With the new Version of the PI you get even more power plus the Bluetooth and WiFi built right on the board. It's more 10 times the cost ($35) of the ESP8266 but you a real computer with HDMI and 1/8" audio out.

This new PI is snappy when it comes to web browsing or Media Streamer.

The thing that make happy would be that the next version of the PI added a M.2 SSD option. The 20 MBPS of the Micro-SD card is what is really holding the Raspberry PI system back.


----------



## Kensington Graves (Mar 7, 2016)

I have a couple pi's laying around the house and was looking to buy the 3 when they're back in stock. I'm more familiar with the ESP8266 because I used it recently for one of the kid's science projects and have a couple laying around. I haven't learned Python, although I'd probably pick it up faster since coding on the Arduino. Fancy web stuff is beyond my skills at the momemt, though. More to kearn, so little time...

The other thing is that I can run the ESP off a 3.3v LiPo battery all night, which eliminates a cord. That's part of the attraction, too.


----------



## ScaryLane (Jun 3, 2013)

Kensington Graves said:


> I have a couple pi's laying around the house and was looking to buy the 3 when they're back in stock. I'm more familiar with the ESP8266 because I used it recently for one of the kid's science projects and have a couple laying around. I haven't learned Python, although I'd probably pick it up faster since coding on the Arduino. Fancy web stuff is beyond my skills at the momemt, though. More to kearn, so little time...
> The other thing is that I can run the ESP off a 3.3v LiPo battery all night, which eliminates a cord. That's part of the attraction, too.


It's so true that less silicon like in the ESP8266 will use less power. (Intel is still learning that lesson.)

It also so true that a Raspberry Pi can be as bit of an over kill for some projects. I'm just glad that us DIY haunters had a wide range tools (chips) at hand these days to get the job. (For cheap)

I remember the days when the BasicStamp sound like a good deal at $40 each. Now, we got so many choices under the $10 price point.

Definitely good times for us hackers!


----------



## JeffHaas (Sep 7, 2010)

It is amazing how much prices have dropped in the last few years! Too much stuff coming out to keep up with.


----------



## ScaryLane (Jun 3, 2013)

I've move info on the AU-5017 Audio Media Player to in own section under the Information heading of the HauntHackers.com website. Besides the White Paper on using the audio player, I also post a link to a Eagle Cad Part Library file. It should help with mounting the module on your PC board designs.

There is a bit more updated information on the DIY projects that I've been working on.

Enjoy!


----------



## Rickey Moore (Apr 3, 2017)

I'm new to this site and a beginner at this as well. I'm trying to figure out how to work this AU-5017 MP3 player. I believe I'm way in over my head. Lol. I have used this BooTunes player and I'm looking for something a little cheaper to use. What I'm trying to do is play music and then use the AU-5017 board 8 triggers to play sound effects over the music. Any help or pointers would be of great. And keep in mind, I'm green with this.


----------



## ScaryLane (Jun 3, 2013)

First, the Source for the AU-5017 MP-3 Wave Player module is a but unreliable. (MDFly.com is currently out of stock till late April 2017.)

Haunt Hackers is working on the New Sound Matrix sound player project that uses a better sourced and cheaper DFPLayer Mini Wave/MP-3 player. This build it yourself project has 4 four audio players that play background music tracks and 3 other sound FX tracks at the same time. You should be able to build the Sound Matrix for under $50 each. This will make it easy for what you are trying to do.

We will post more about the Sound Matrix on HauntHackers.com in the next few weeks.


----------

