close-circle
Close
0%
0%

Microcontroller Audio Workshop & HaD Supercon 2015

Similar projects worth following
close
Documentation for the Advanced Micrcontroller Audio Workshop. All the workshop material is available here. We even made a full video walkthrough.

Steal This Workshop!

Really, help yourself to the PDF, parts list and other info if you'd like to teach this material at any hackerspace, school, or other group. Please post a comment if you do, as we'd love to hear about your experience.

We made this 48 minute video walkthrough for everyone who couldn't attend the workshop at the SuperCon. It shows every step of the workshop material. :-)

Here is the printed workshop manual (PDF). At the workshop, we talked for just a few minutes after handing out the parts kits and a printed copy of this manual. The rest of the time was just helping 1-on-1 with minor issues. The workshop really is self-paced from this manual. If you want to do the workshop yourself, or teach it somewhere, all you really need is this manual and the parts listed below. The SD cards need to be pre-loaded with these four WAV files.

Errata: The first image on page 4 is incorrect. Use the printed instructions just above the picture. The files are accessed from File > Examples > Audio > Tutorial, not "audio_ws".

Special note: When drawing the audio systems, be careful to use the "i2s" objects, not the similar-looking "i2ss" ones. The extra "s" for slave mode does not work with this hardware.


Before attending this workshop, please install Arduino 1.6.5 and Teensyduino 1.26.

When you run Arduino, use Help > About (or Arduino > About on Mac) to verify your copy of Arduino really does have Teensyduino 1.26 installed.

To check your installation is working, use Tools > Boards to select "Teensy 3.2 / 3.1". Then use File > Examples > Audio > Tutorial > Part_1_02_Hardware_Test to open an example, and click Verify. If it successfully compiles, you're ready for the workshop!

(The part 2 & 3 examples do not compile until you add extra code from activities in this workshop, so please test your installation by verifying a part 1 example)


Compatibility:

Windows XP, 7, 8, 8.1 and 10 are supported. Mac OS-X 10.7 and later are supported. For Yosemite or later require running Arduino once before installing Teensyduino, to pass the "downloaded from the Internet" question. Ubuntu 14.04 is the only tested Linux distro. Most Linux systems require installing "49-teensy.rules" in /etc/udev/rules.d.

Arduino 1.6.6 works, but has several new bugs. You can complete the workshop with Arduino 1.6.6, but we recommend using 1.6.5 for best performance.

Virtual machines are NOT RECOMMENDED. They often have problems when USB devices disconnect and reconnect quickly, as Teensy does when it reboots after uploading.

Netbooks or old laptops with 1 GB or less RAM have poor performance with the Arduino IDE. In this workshop, sketches will be compiled with 5 libraries and the 32 bit Teensyduino core library, which is *far* more than typical 8 bit Arduino usage. In a local test workshop, we saw 1 GB RAM netbook which had always appeared to work fine with 8 bit Arduino complete many parts of this workshop, but it was unable to compile some examples when extra code was uncommented.


The workshop is largely self paced. Many of these are optional extra material for people with Arduino experience and quick computer skills. Only the first few in each section are the required core material.

Section 1: Install Software and Play Sounds

Part 1-1: Verify / Install Arduino & Teensyduino

Part 1-2: Test Hardware

Part 1-3: First Program, Play Music

Part 1-4: Blink LED while Playing Music

Part 1-5: Do more while playing music


Section 2: Creating Audio Systems

Part 2-1: First Design Tool Use

Part 2-2: Mixers & Playing Multiple Sounds

Part 2-3: Playing Samples (Short Sound Clips)

Part 2-4: Using the Microphone

Part 2-5: Simple Delay

Part 2-6: Feedback (Echo) Delay

Part 2-7: Filters

Part 2-8: Oscillators


Section 3: Audio Analysis

Part 3-1: Peak Detection

Part 3-2: Fourier Transform

Part 3-3: Add a TFT Display

SDTEST4.WAV

Sound file 4 of 4. These files need to be on the SD card for many of the workshop examples to function.

x-wav - 16.38 MB - 12/31/2015 at 19:52

download-circle
Download

SDTEST2.WAV

Sound file 2 of 4. These files need to be on the SD card for many of the workshop examples to function.

x-wav - 15.66 MB - 12/31/2015 at 19:52

download-circle
Download

SDTEST1.WAV

Sound file 1 of 4. These files need to be on the SD card for many of the workshop examples to function.

x-wav - 16.01 MB - 12/31/2015 at 19:52

download-circle
Download

SDTEST3.WAV

Sound file 3 of 4. These files need to be on the SD card for many of the workshop examples to function.

x-wav - 12.99 MB - 12/31/2015 at 19:51

download-circle
Download

workshop.pdf

Printed manual used for this workshop. Print this, ideally on a color printer, if you're going to do this workshop at home, or teach it at in a school or hackerspace?

Adobe Portable Document Format - 8.48 MB - 12/31/2015 at 19:49

eye
Preview
download-circle
Download

View all 20 components

  • Kits & Parts Available & Alex's Virtual Workshop Videos

    Paul Stoffregen03/28/2016 at 12:06 0 comments

    Finally, a kit is available for online purchase. Actually 2 kits. One is fully built and tested, like the ones we had at the SuperCon workshop. The other is just the special parts not sold separately by PJRC, so you won't have to make lots of separate orders to different sites (all with shipping costs) if you already have some of the parts and wish get the rest to build you own kit.

    The fully built kit:

    http://www.pjrc.com/store/audio_tutorial_kit.html

    The extra parts, to build your own:

    http://www.pjrc.com/store/audio_tutorial_diy_parts.html

    Of course, you need to download the 31-page PDF for the workshop manual (now with this fancy preview image). Best to print on a color printer. Low-tech paper doesn't consume valuable screen real estate while running Arduino and a browser to draw the audio designs.

    https://github.com/PaulStoffregen/AudioWorkshop2015/raw/master/workshop.pdf


    Alex Glow recently did the entire workshop in 4 virtual workshop videos. Unlike the scripted, rehearsed and edited video Alysia and I made, Alex's videos show what the workshop is really like when experienced for the first time.

  • Workshop Successful

    Paul Stoffregen11/17/2015 at 22:30 2 comments

    The workshop was a huge success. Almost everyone got though at least the delay sections and many commented on really enjoying the experience. Some got all the way to the end, and one guy managed to modify the TFT peak example to show FFT data!

    The winner of the "most over the top" badge hack used the FFT part of this workshop as the starting point for that amazing work. Truly awesome!

    I've updated the PDF for the printed manual with an errata note for the image on page 4, and a special note about the i2ss object which was a minor issue for several people during the workshop. Hopefully these will help for anyone who tries to do the workshop on their own.

    Here's another photo from Hackaday's first article covering the SuperCon. I'm really glad to have been able to attend the event and contribute this workshop. It was indeed an awesome weekend.

  • Ready to Go

    Robin Coon11/13/2015 at 16:04 1 comment

    The hardware kits and tutorial documents are ready to go.

  • Video = A *lot* of work!

    Paul Stoffregen11/10/2015 at 15:59 2 comments

    Alysia & I have completed 2 marathon video recording sessions. Now I'm working to piece all the recordings together. We used 1 camcorder (usually zooming to the electronics), 1 screen capture, and 2 voice recorders to capture us talking and also the Teensy audio output. In other news, editing video is quite a lot of work....

  • Filming has begun!

    Alysia Dynamik11/09/2015 at 22:20 0 comments

    Since posting our workshop plans for the Superconference, we've received an outpouring of requests for a video of the workshop. Because of all the detailed information we are delivering in these tutorials, we decided that filming a step-by-step video version was the best solution. We began filming yesterday afternoon and worked well into the evening, and we're about to pick up where we left off. We believe it will be worth the effort to educate a wider audience about the capabilities of this awesome library interface.

  • Stand Alone Browser Compatibility Improved

    Paul Stoffregen11/07/2015 at 03:28 0 comments

    As of today, the web-based design tool we'll be using in the workshop is compatible with all 4 major browsers when used without Internet access. It's always worked with all 4 when accessed on the web, but until now if you wanted to access a copy on your hard drive without a web server, you were limited to only Firefox.

    Now Safari, Chrome, IE and Firefox all work without access to any server. Linux, Macintosh and Windows are fully supported.

    There were basically 2 issues. First was removing some leftover code from Node-Red (an open source IoT project where most of the GUI code came from) which loaded extra stuff from the server at startup. There's really no need, so all the documentation html was merged into the main file and that loading step disabled. The second part involved removing still more leftover cruft which interfered with Google Chrome when accessing without a server. Thanks to HWGuy on the forum for pointing out the issues impacting Chrome!

    The HTML file is buried pretty deep inside Arduino's folder structure, so accessing the web server is still simpler. But if we don't have internet access, you can dig down several folders and open the right index.html file, and it will "just work" regardless of whether you use Chrome, Firefox, IE or Sarafi.

  • Laser Cutting Microphone Mounting Hardware

    Paul Stoffregen11/04/2015 at 15:51 0 comments

    These little laser cut washers will be on every kit, supporting the little microphone.

    Without these, the mic pins can easily bend as you handle the board. Too much and they'll break. These little washers fill the space and have notches to fit around the nearby surface mount parts. The result is a much more durable build.

    In the workshop, some parts will involve real-time audio processing, where you speak into the mic and hear the effects applied.

  • Soldering & Prep Work

    Paul Stoffregen11/02/2015 at 22:50 0 comments

    Erin Murphy is busy today, soldering the pot adaptor boards, extra memory chips and thumbwheel pots for the workshop kits.

  • Netbooks with 1GB RAM Have Troubles

    Paul Stoffregen11/02/2015 at 09:53 0 comments

    I learned a lot at yesterday's test workshop. One small issue, and the only technical problem that came up yesterday which I couldn't fix, was compatibility with a netbook.

    That tiny netbook did work (slowly) for nearly all the workshop examples. But when the extra code in section 2-3 was uncommented, very strange problems came up, where the Arduino IDE couldn't find the code which had been just successfully compiled. I'm pretty sure this is related to a Java memory allocation issue. Some time ago, the Arduino devs increased settings related to Java memory, and it caused many people to report bugs on older computers, so they lowed it. My best guess is those problems all still exist, but only happen on the smallest netbooks or extremely old machines.

    We're going to try getting a message out to everyone signed up, hopefully middle of next week, about how to pre-install the software. That message should also warn not to bring networks or ancient machines with 1GB or less memory.

  • Test Run in Portland

    Paul Stoffregen11/01/2015 at 16:03 0 comments

    Today (Nov 1st) Alysia and I are doing a small test run of this workshop, here in Portland, for a group of 15 people. It's only going to be sections 1 and 2 today. Section 3 isn't completed and tested at this point.

    http://dorkbotpdx.org/micro_audio_2015

    I'm pretty excited, and a tiny bit nervous. I think we're going to learn quite a lot, especially about how practical cramming so much material into this workshop really is. Whatever we learn today, we'll have just only 2 weeks to refine things.

View all 11 project logs

Enjoy this project?

Share

Discussions

AKA wrote 11/21/2015 at 19:05 point

I, too, had a fantastic time at the workshop. I've never been to a better-run, better-documented, or more fun workshop - all the hard work Paul, Alysia and Robin did really stands out!

  Are you sure? yes | no

dbcorbin wrote 11/19/2015 at 22:26 point

I managed to snag a seat at the workshop... very well done.  The instructions were clear and having pre-made up demo hardware was an excellent way to get to the core teachings quickly.

There were many distracting fun things to dink with which made the time run short.  However, I came home and did the workshop from scratch with the Video commentary (it was great to be able to pause and poke around).   

The video was very well done.  With time at home, I could really dig into the object configuration tool.  That is a very fine piece of work.  Like someone else said, I knew that you were working on the audio library but had not stayed up to speed with the progress... thus, the depth and breadth was stunning.

Well done by all involved.

dc

  Are you sure? yes | no

Anthony May wrote 11/19/2015 at 22:04 point

I attended Saturday's workshop at the Hackaday SuperCon, and it was my stand-out favourite of the 5 workshops I attended. The preparation and attention to detail was massive.

Whilst printed notes might seem quaint, when you're working from the single screen of a laptop & bouncing back n forth between the IDE, audio design web-app, & notes, having the notes separate was a timesaver.

Pre-made breadboard, again saved time, thank you!

You had plenty of people on call to help out when participants had questions.

Unlike so many of the other workshops that assumed significant chunks of prior knowledge, yours was 100% documented, which meant it was there for those who needed it, and those who didn't could simply skip ahead.

Kudos to everyone involved in bringing this workshop to life.

I knew Paul had been working on a Teensy Audio Library for the last year or more, but I've not had time to check in to see where it was up to until now. OMG, what an amazing piece of work! Truly inspiring.

Thank you for doing such a great job on this workshop. I hope you're able and willing to deliver it to more people in more places in future.

  Are you sure? yes | no

Will Caruana wrote 11/19/2015 at 22:03 point

The I would have liked was more time though I am sure I would have spent all day there if given the chance. It was really a great workshop the material that was handed out needs to have updated graphics otherwise don't change a thing. One of the nicest parts is that it is still easy and fun to follow at home.

  Are you sure? yes | no

Kenneth Trussell wrote 11/17/2015 at 00:30 point

The workshop materials and the way you conducted the workshop were both superb! I have watched parts of the video and see that it is of the highest quality also. I just have one question: What are you two giggling about for the 1st 1/2 second of the video!! :) I like it!

  Are you sure? yes | no

Alysia Dynamik wrote 11/19/2015 at 23:00 point

We spent a good little chunk of time laughing at ourselves for being awkward trying to decide what to say as an intro. I, too, enjoyed Paul's decision to leave that little clip. We giggled quite a bit making the video, I'll admit ;)

  Are you sure? yes | no

Charles Aylward wrote 11/16/2015 at 06:39 point

Awesome job on this workshop! It was a lot of fun! A great place to start!

  Are you sure? yes | no

aldenderfer wrote 11/08/2015 at 17:25 point

Hey Paul! I'd love to do this workshop - in fact, it's the reason I registered for this conference - but it looks like it's fully booked. If I pick up the components and assemble everything I can by Saturday, would it be possible to sit in?

(I've got laser-cutter capability, so I should even be able to fab the mic spacer.)

  Are you sure? yes | no

Paul Stoffregen wrote 11/08/2015 at 17:40 point

Yeah, this and some of the other workshops filled up several days ago.  I really can't speak for Hackaday on capacity.  I don't know how they're handing the logistics of getting people checked into each workshop, and the last thing I want to do is interfere or disrupt their... more

  Are you sure? yes | no

aldenderfer wrote 11/08/2015 at 17:43 point

Comments much appreciated! I'll check in with them.

  Are you sure? yes | no

Greg Bushta wrote 11/06/2015 at 18:21 point

I'm all signed up and ready for the class.  Do I need a Windows based laptop for the lessons?  Two of the other classes require Windows, but m unsure of the version.  I'm checking with them.

Thanks.

  Are you sure? yes | no

Paul Stoffregen wrote 11/06/2015 at 18:52 point

Linux, Mac and Windows are supported.  Ubuntu 14.04 is the only verified Linux distro.  Mac OS-X must version 10.7 or higher.  Windows must be XP or later.  Vista is untested.  Windows 10 is supported (and 10 works better than any prior version of Windows).

On Tuesday I will post a detailed guide with instructions to check your setup is good.

  Are you sure? yes | no

Paul Stoffregen wrote 11/07/2015 at 14:02 point

However, virtual machines are problematic.  They do not deal well with USB devices rebooting, where the USB disconnects and reconnects in less than 1 second.

  Are you sure? yes | no

Greg Bushta wrote 11/02/2015 at 04:56 point

Thanks for the information.  I think I will sleep on it.  The information I gathered today about some of the parts used in your talk is very interesting.  $64 for the parts is do-able for me, but I wanted to be sure that the parts are something I would use either in the workshop, or in the near future.

I really appreciate you doing a test workshop.  What a good idea.  That will make things flow smoothly at the Superconference.

I bought two TFTs and when they arrived I thought, What's This For?  Raspberry Pi? Arduino?  What was I thinking when I put it into the cart.  When I saw they are an option for your workshop I decided to look up what to do with them.  I downloaded some files for Arduino a little bit ago.  I am still in the process of making a sketch for a 20x4 LCD with programmed characters.  It's an adventure.

The more I think about it, as I write this, I am quite interested in the Workshop about audio and micro controllers. Thanks for the answer.  :-)

<edit> I hit (thought) reply and it ends up as a new post?  Oh well. . .

  Are you sure? yes | no

Paul Stoffregen wrote 11/02/2015 at 18:20 point

You should definitely sign up for this workshop if you're thinking about making microcontroller projects with sound.  The stuff you'll do in the workshop (not just see, but actually do yourself as hands-on activity) is pretty awesome.

Historically, building virtual audio systems by graphically connecting components has existed only in the realm of PC-class hardware with systems like Max/MSP and Puredata.  Obviously a small, low power chip with limited memory can't do everything a high-end Mac or PC can, but it is possible to have quite a lot, and you can have it well integrated with Arduino sketches & libraries.  This sort of capability is pretty new for microcontrollers, so there's relatively little info published online.  Most stuff you'll find by searching is the old & difficult & limited ways of doing things on 8 bit chips.  You should definitely come do this workshop to learn and experience how to easily make awesome audio on a microcontroller!

  Are you sure? yes | no

Greg Bushta wrote 11/02/2015 at 19:04 point

You are convincing me.  I was pretty sure I wanted to sign up this morning.  I didn't know if it was just the three hours of sleep from the dog keeping me awake.  I'll see if there are still open spots.  Thanks

  Are you sure? yes | no

Greg Bushta wrote 11/01/2015 at 21:06 point

Greetings.  Are the listed components the same that will be provided at the SuperCon workshop?  Will the optional ones be available for purchase?

  Are you sure? yes | no

Paul Stoffregen wrote 11/02/2015 at 02:50 point

Yes, but please understand we might make some minor changes based on things we learned at today's test workshop.  That list also hasn't (yet) been checked carefully, so please don't consider it the final authoritative word.

Plans for the TFT are still very fluid at this point.  It might get dropped completely.  A couple dozen of them might be offered as a special prize for completing all or most or certain special parts of the extra material.  Or we might put one in every kit, even though few if any people will manage to get that far in the limited (and still unknown) allocated time.

I know that must sound like a non-answer.  The best I can tell you is we've got the core parts of the workshop worked out really well, but some of this extra material is still in development.  Not all the fine details have been nailed down yet.  They certainly will be in a matter of several days.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates