Less is Less: The 2013 Crap Chute Collection

Wait, this was 2013?

So for the fourth fifth year – following the pattern, the end of the year rolls around and bundle up all the music from the past year and put it under one collection. This year’s fantastic album is Crap Chute’s Pinched Loaf. This collection features nothing not previously released in the year, no tracks have changed, and there aren’t any bonus items this year either.

Crap Chute's Pinched Loaf cover art by Ro Karen

You can listen to the whole thing right here:

Like previous years, the only good part of the whole mess is the wonderful cover art by Ro Karen.

The entire collection is available via Bandcamp. If you’re homeless and destitute and somehow are downloading music off the intarweb you can once again enter the secret code of $0.00 for the price and not pay a damned cent for it. Also, don’t complain to me about it. If you want to put your money to good use give something to your local animal shelter, or Ro Karen, or some new media disruptive kickstarter indie go go douchebags.

Bandcamp very nicely will provide you with just about any audio format you want, even if you’re still using that Diamond Rio and Microsoft Kin Phone Zune Whatever.

Following last year’s successful campaign by Dicks, Everywhere, output this year was not as prolific as year’s past. In fact, this year has the least number of tracks (36), and the least running time (three hours and forty-eight minutes, give or take). Even less than 2009, which was the year where I only put out material for half the year. It’s enough material to maybe get you through the morning, or the whole day if you like to go to the bathroom a lot or work for the government.

Still all covered by Creative Commons. I know, you still don’t know what that means. That’s okay.

Creative Commons License
Crap Chute’s Pinched Loaf by Steven Cogswell is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

I’m not going to bother to make the MD5 joke this year. Once again, the offer still stands that if you can somehow figure out how to ask nicely, and actually provide a mailing address, I’ll send you a disc with the material on it. Number of discs I sent out in 2013: zero (0).

If you’re completely crazy, you can also uselessly spend money and buy Buy Crap Chute’s Pinched Loaf from iTunes, or from Amazon’s MP3 store, or from Google Play. Not all these links work in all countries. In fact, they don’t even work for me in Canada, so I can’t even check them myself. Bandcamp should work for everyone, and is cheaper for you.

They Were Everywhere: The 2012 Crap Chute Collection

Once again, the year comes to a close, and I bundle up all the crap music I’ve put out over the past year and put it out as a single collection for my ego for you.

I went the whole year this time around without an actual title for the collection, which was a pain in the ass when I was assembling tracks together through the year. For this reason I’ve got a title for 2013, assuming I actually make anything in 2013.

So without further ado, it is Crap Chute’s Lagrange Point.


Creative Commons License YES IT’S FREE.

Once again, the best part is the cover art by talented artist Ro Karen. This year’s download contains Bonus Art.

This year I have outsourced the entire download operation to Bandcamp. Rather than have to depend on some skanky download from me.com (me.com shut down), google drive (makes it hard to download an archive), or dropbox (downloads disappear for no reason), this time around I ponied up the money for bandcamp – all for you.

This means I have to remove the entire paragraph from the description of this event: the one where I tell the ogg netbsd-toaster people to piss off. Bandcamp lets you have the download in any stupid format you could possibly want. All this years tracks are “mastered” (snicker) from a lossless source (as opposed to MP3 like previous years), so you can get the maximum sound fidelity or some other equally useless statement about audio quality. Get your own green marker.

Since I don’t control the download this time, I can’t give you the MD5 this year. So I’ll give you this MD5 instead 1ec739c9559e84cf08d9da78e393d0fc. Bonus, here’s an SHA1: f43b4c1714568dbc01079b2a36d061e8ccf12b1a. You never did figure out what those were supposed to do.

This year the collection clocks in at about 5.5 hours, which is more than last year, but still not as much as 2010. Enough to get you through a short day at work taking numerous breaks or a nice stay in the waiting room at the hospital. The download includes zomg five bonus tracks including two which haven’t been released otherwise.

Like all my previous years’ stuff, the music is under Creative Commons Licence. Yes yes, you don’t care. You’re so l33t because you found it on the internet. Creative Commons isn’t public domain, but it’s as good as you’re going to get – especially since you’re getting it for free. Everyone stand back, here comes that CC logo that seems to offend so many: avert your eyes.

Creative Commons License
Crap Chute’s Lagrange Point by Steven Cogswell is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

Yes, you can download Lagrange Point for free. Yes, you can enter 0.00 in the box and download it for free. Yes if you download it you can put it on your iPhone or your hipster brown zune. No, if you put it on your iPhone or hipster brown zune you still don’t have to pay anything. No, you don’t have to give your email address or your credit card number or your praypal account. No, I’m not using this to haxx0r your facebook account (paraphrased complaint). I know you’re flat broke, so rather than have me delete your livejournal you should give your money to Ro Karen, or your local animal shelter, or some other hipster doofus. There are better ways to spend your money.

My standing offer still holds: if you can figure out the arduous task of emailing me your address, I will haxx0r your friendface account send you a disc with the music on it for no charge, while supplies last. Number of discs I sent out in 2011: one (1).

Let’s Party Like 2010 Never Happened

I see you, sitting there. You said you hated 2010’s Crap Chute’s Sluice Juice and you wished you could hate it even more.

Well now you can, I have spent a tireless couple of weeks attempting to remaster rebastard 2010’s Crap Chute’s Sluice Juice and now it’s available for free on Bandcamp. That way you can all get it in your precious ogg flac morbo format or whatever it is I won’t do for you.

All the tracks are updated, some have new parts, some have their egregious problems fixed, some probably have new egregious problems. The best part is that unlike the original 2010 edition, it has fewer tracks on it, which must be a good thing.

Creative Commons License

Let’s Put 2011 in a Box and Burn It.

And With That, the end of 2011’s disastrous run of music comes to a close. As is the tradition (2010, 2009) I’ve bundled up all the garbage of the last twelve months and stuck it into a single archive so that both people who read this can download it. You can still listen and download individual tracks from the 2011 music page, on Soundcloud or Bandcamp.

According to my expert calculations this year’s stuff clocked in at four hours, forty-seven minutes and forty two seconds. Slightly longer than 2009 – for which I only published for about half the year, but quite a bit short from 2010, which was just over seven hours. As I was famously told once, it’s hard to get up when you’re standing on my neck.

There’s nothing new in the archive that wasn’t in the previously-available download. Don’t bother downloading it thinking you’re going to find l33t crackz or keygens in it.

You can download the archive here (521 MB). me.com go bye bye

Maybe you can download the archive here (521 MB). (Mirror which will also go away) Those went away, as expected

The MD5 is cb39faabd9247157efab6c32c4a0da1d. You still don’t know what MD5 is, and I still don’t care. Apple’s me.com is going away, and so this archive will be unavailable from me.com after it goes away, because that’s what going away means.

Update:If you were really, really dying to have this in an obscure or lossless format, well then you want to go to Something or Other on Bandcamp, where you can get that. It’s still free.

This year’s cover was again designed by Ro Karen, who spent more effort making this cover than I probably did making anything to go with it.

Speaking of not caring, as usual the licence (license) for this is the same as always, some Creative Commons mumbo jumbo that you’re not going to bother adhering to.

Creative Commons License

Yes, everything is free. Yes, you can download it for free (even the lossless Bandcamp version). No, you don’t need to go try to find it on the pilates bay because it’s for free right here. If you want to do something with your money give it to Ro Karen or your local animal shelter. I know, you won’t, because you’re so poor. Since I’ve not charged you anything, I’ll not entertain any complaints about how it doesn’t play on your ancient computer or it isn’t ogg vorbis or I haven’t provided you with source code so you can run it on your hipster coffee machine. I’ve already made a lot of snide comments about people’s inability to follow simple instructions in the previous years’ roundup archives, so if you want better jokes go read those.

As I did last year, if you send me a request I’ll mail you a disc with everything on it.

Note: number of requests for discs I had in 2010 was zero (0).

Pay No Attention to that Crap Behind the Curtain

So, since 2010 is but a distant memory and 2011 has already started to suck ass, I figured I would share with you some of the stats from this lousy stuff.

Technically I got these stats on January 11th, 2011, so they run the calendar year Jan 11 2010 – Jan 11 2011.

Boringly, let’s look at the search terms that land losers in this place.

Search Terms # of Searches
debugwire 233
arduino debugwire 79
debug for arduino board 61
arduino jtag 39
debugging avr dragon 36
arduino dragon 30
avr debugwire 30
debugwire arduino 30
avr dragon debug arduino 28
arduino debug wire 23

Notice a trend?

I think the most interesting search terms were “asshole instructions” , since I guess some people don’t know how to use theirs correctly. Related, whoever keeps searching for “jim tranquilla, microwave technology”: If you’re reading this, he still owes me $33,253.63.

First off, here’s the “non-musical” posts. You know, those ones about the microcontrollers and shit where people are trying to find someone to do their homework for them.

Post Views
Modify an Arduino for DebugWIRE 2,910
The Arduino Duemilanove with ATMega328 and that Reset Line 481
(Yet Another) Sparkfun SerLCD library for Arduino 178
An Arduino Library for the ADT7310 SPI Temperature Sensor 141
iPhone 3G and iOS 4.0 slowness 57
Why iBooks Sucks 26
Get yer mail from Thunderbird into GMail in Zero Steps 25
Solution for iOS4 on iPhone 3G 14
Woe to the Stupidshield 9
Buy Craig Bevan’s Album Instead 6
Rub a bum bum (Tim and Brad’s Xmas song) 6
Macrowaves and Peeps 5

Okay, take a look at that first post (the “do my homework for me” post). 2910 views. Now, let’s look at the musical posts. The top musical post is “And Something About A Witch”, which got 47 for the year. I have no idea why that’s the top one, other than Brad Thornton is a talented and popular guy.

I often joke about the fact that only two people actually listen to my stuff, and that pretty much shows. For the sake of brevity, only things with 5 or more views for the year are listed. Some actually have zero views, and that’s cool. I have wordpress set to annoy the five people in the magic ice cream club who follow me on twooofter and I usually get more rebleats than actual views. I also realize that WordPress’ stats aren’t exactly accurate.

The dull as dishwater musical details:

Post (music title in brackets) Views
Nothing about Big Dogs (And Something About a Witch) 47
That’s some Big Dog(WHO BEAMED THE BIG DAWG OUT) 46
Guaranteed to Offend (Hail the Eternal King of Olympus Mons) 41
In a Galaxy Just Next Door (Theme from the Waxbase) 32
Late to the Party (Mein Waffle) 31
2009’s Pig in a Slanket Collection. (2009’s music as a collection) 30
Come On, Now You’re Not Even Trying. (Dean of Science) 25
The X Stands for CASH (Suxmas, from 2009) 24
The Past Future Imperfect of Law Enforcement (Lament for a Cyborg) 23
Make It Stop (WTFTATR) 21
Rampant Attempt at Seasonal Commercialism 2010 (AWXMASFY) 17
The PenIs Mightier than the Sword (You Got Kicked in the Pills) 17
Crackpot, Buzzkill, Asshole (Buzzkilled and In the Morning, Yo. Featured on No Agenda) 17
Catbounce (Nitrogene) 16
I Warned You. (Glaze) 15
Still Ruining Other People’s Work (She Insisted) 14
Green’s Function and Reciprocity Chicken Chicken Chicken (Euclidean Space) 14
Decompression Fitting (Wrath of the Waxbase) 14
A Public Service Announcement for Dorks. (not music) 13
Load of the Rings (Amon Hen Goes Nothing) 13
QUOTA IS NOT MET (Omatic) 13
Sham Along (Fence Post) 13
Fifty Seven Seconds (The UxHJ, not music) 13
Whoring Out Roundup (Theme from Sexbase 69, For Those About To Disco, and
A Very Special For Those About to Rock)
Live from Douchestock (A Flash of Internal Organs) 11
You still won’t like it (Haus of Waxbase) 11
Intermission (L’Hopital’s Rule) 11
Move along, nothing to see here (Teared, from 2009) 11
… and Special Guests The Harlem Globetrotters. (Metalologist) 11
Creep’s Show (Feature Creep) 11
The House the Tired Meme Built (Eerie Ham) 11
Meh. (Meh) 10
The Cut of your Jib (Herp deDerp) 10
Stink it up (Stink the Bismarck) 10
Bonus Wound (Ah Pretension) 9
The Defendant Ate The Witness (Trial for the Shark) 9
Ratyuan Poroga Westip Ubucap (Yarga Lomba) 9
No Profanity Contained Wherein (The Pimento Oaf) 9
Executive Derision (And With That) 9
Cleanse the Patella (Le Parc du Coq Sac) 8
And now there only was. (Fart in a Spacesuit) 8
The Contractual Obligation Piece (Interstellar Crotchicanery ) 7
Two Thousand and Ten and One and Two and Three and (Sacrifical Anode) 7
Genie in the Bottle (Spilled) 7
The Dork Knight (Midknight) 7
Decoughinated (Punitive) 7
Timed and Timed Against. (KICKSTANND) 7
Sabre Dance (Conference Slide) 7
The Interactive Nonfiction Best-Seller (Antialiased) 7
With Powdered Milk Love is Eternal (Interior Liquid) 6
The Hedgehog’s Hedge Fund (Beatstone, from 2009) 6
You want your money back. (Auld 2010) 6
Five Pack of Brown Paper Bags (Endless Chicken at the Ritz) 6
Sold. (Kimg of the Assholes) 5
Voided (Destination Waxbase) 5
Fourteen Sticks (Skein of Evil) 5
Movie of the Weak (Oak) 5
You can’t catch salmonella from Cooley-Tukey. (Walt’s Crack, from 2009) 5
Mindless Repetition is Boring. (Fawdown) 5
Screaming Bunny Ninjas (The Catscape Expanse) 5
Dubious Achievement Unlocked (Have You Seen) 5
The Gene Pool Can Be Pretty Shallow (Off the Weak End, from 2009) 5
2010’s “AND WITH 2010, FU” Collection (2010’s music collection) 5
Fatfinger and the Humminao Zwo (Humanatio, from 2009) 5
Wide Open Throttle (WOT) 5
Carborundumbest (Reaction Bonded Carbide Blues) 5

Now, those are post views, and all the music posts have the embedded flash music player (I can’t get stats for if anyone actually plays anything from the flash player), but you can also download the MP3 to keep if you wish. Very few people do that. Top one of those is “Hail the Eternal King of Olympus Mons” (16 times), and then “Euclidean Space” (9 times). Lots of people download the schematic for where to pop off the capacitor from their Arduino, for some reason.

In trivia, the reason Meine Waffle is so high up the list is because it’s the post adjacent to that “do my homework for me” thing with 2910 views. People read about how to cut off a capacitor, click to see the next post, and then… leave.

Also in trivia, the “all time” top music post is “The X Stands for CASH”, 2009’s xmas crap (67 total).

I’m also dismayed that “Dean of Science” is as poopular as it was. Scott Redman, one of the two people who actually listen to this stuff, (unsolicited) sent me one of his guitars from his collection. The Dean guitar is beautiful, and a damned order of magnitude nicer than my Ibanez EX350 I’d been using up until that point. I took it out of the box, didn’t tune it, plugged it in and recorded something and pushed it out. Mr. Redman also sent along the acoustic guitar from “Teared” which appears in a few places. Thanks, Scott, who didn’t have to do that.

I should point out that I don’t ask for money or anything, as I am rich in the spirit of our Lord and Saviour Geddy Lee. Hell I’ll send you a disc of this shit for free if you actually figure out how to ask. If you want to support someone, donate some money to your local animal shelter or your favourite Podcast. Sometimes those are the same thing, I think.

I have this habit of taking existing themes/pieces and backing over them again like you would an old lady at the intersection. Big winner this year was the theme from podcast Starbase 66, for which I managed to squeeze out 1,2,3,4,5 versions, plus 6,7 which were the “Big Dawg” variations. Starbase 66 got so damned tired of listening to me do this they replaced their intro music with a variation of Theme from the Waxbase.

For Here Goes Nothing’s theme I ended up doing 1,2,3 (SB66 Crossover),4 and also Metalologist which featured a clip of Casey from HGN playing guitar. I also did a couple of stingers that made it onto HGN (“That’s Not Metal/Now That’s Metal”, and the F-U-Haiku backing track)

I did 1,2,3 bits based on For Those About To Rock, and by virtue of being the only entry did 1,2 show intros for them. “A Flash of Internal Organs” was a bit I took on as a challenge issued by the FTATR folks during an episode to cut their jibjab during that show into a song.

To round out the whoring-out report, Lament for a Cyborg got chosen by Brad Thornton as a closing theme for the first couple of episodes of his podcast A Brief History of Music.

In an embarrassing situation, the bit I’ve done that the most people have probably heard was “In the Morning, Yo”, which I managed to assemble from some snips of Adam Curry during an episode of No Agenda. I sent the thirty-three second piece to Adam and to my surprise he played it on NA244. No Agenda says they have around 450,000 listeners. Thankfully he did not credit me on the show.

This year I also submitted a few tracks over to Radio Reddit, and according to theory they add things to their playlist. The reality seems to be “they will add it to the playlist if I make a donation”. Well, not really. It just feels like that. I submitted AWXMASFY (2010’s Xmas crap) a few weeks before xmas, they even put out a call for xmas music to play on Dec 25th, and as of Jan 11th it still hasn’t been approved. Only two songs have actually been “submitted” to reddit by listeners anyway. (Unlike some folks, I’m not a whore and don’t submit my own stuff from Radioreddit to Reddit). Not really a compelling use case for Radioreddit, but hey, it’s there.

In technical terms, up until “Dean of Science” all the guitar bits were done with my Ibanez RG350 which I got at the pawn shoppe and has a shitty floating floyd rose tremelo I can’t stand. All the post-“Dean of Science” bits are done with the Dean. Scott’s a great guy, unlike myself.

The only other equipment change was at one point I got completely fed up with my Digitech GNX3000, which I’d been using for the guitar work. The GNX3000 was nice when it was new, but as of OSX 10.5 it had become just about useless. It was perpetually not being recognized as an audio input, making me hack the xml files and constantly reboot to get it to work, which kinda cramps your muse. I also noticed I was never actually using any of the onboard effects (which is what it’s for, dammit) – I was doing everything with the realtime processors in Garageband/Logic anyway. So I sold that and it went to a nice home, and got a Presonus Firestudio mobile unit, which runs over firewire and has been absolutely rock solid. I got that around the end of April, so probably everything from May onward was done with the Presonus. The acoustic is recorded with a Shure SM57 which also goes into the Presonus. I know, you don’t care.

Up until “Smoak”, other than a couple of test pieces from 2009 everything was done with Garageband. I had famously bought Logic 8 and hardly used it due to the learning curve. When I plunked out another five hundred bucks to buy Logic 9 I figured I had to learn it. First was “Test Was Negative” from 2009, then “Smoak”, and from “Theme from the Waxbase” on everything is done in Logic 9.

So, what did I personally think of this year’s shit? I’ll freely admit that I’m vain and I listen to my own music, since why the fuck not – that’s why I make it in the first place. Some pieces I think turned out not-so-bad were “Wrath of the Waxbase”, “Destination Waxbase”, “Spilled”, “Your Wallet, Sir/And Your Watch”, and “She Insisted”. Some other pieces have some nice segments (4:05 in “The Hazmat Suit Suite”, 5:34 in “Have You Seen”, 2:20 in “Conference Slide”, 10:25-11:45 of “A Flash of Internal Organs”, 2:05-3:00 of “Haus of Waxbase”). Some of them even I won’t listen to (“Omatic”, “Artherioysuisocialism”, “Deneb”, “Stump”). I have no clue what the two listeners liked/disliked.

Last year’s big piece that took forever was “You Look Feiss Today” (because it used so many tracks). This year’s big winner for time suck was “A Flash of Internal Organs” because of all the bits I had to do to meld in the lines from FTATR.

As if you can’t tell by listening to them, “Ah Pretension/The Ibuprofen doesn’t help” were quite literally experiments in “record something really fast and try to build something out of it”. I really liked how those turned out in the end.

I think the official count for 2010 was somewhere between 90-95 pieces depending on what you wanted to include. I only had a few things that I did that I never published. After hearing “Omatic” you’d have to figure that I’d publish anything. I have a few unfinished things that either I didn’t like anything I could do with them, and one case of a collaborative project that I think has died on the vine. I think the best part was tricking convincing Ro Karen to do the cover art.

So, that’s it. I haven’t picked out a name for the 2011 collection yet. And with that, fuck you.

2010’s “AND WITH 2010, FU” Collection

December 2012 update: There’s now a remaster edition available, Here’s some more details on that.

It is with great trepidation that I present to you, 2010’s complete collection known as “Crap Chute’s Sluice Juice” , which if you were observant would have known about since January 2010.

Here’s the best part only good part, the cover art:

Yes, you can download the full size cover art

The cover art was created specifically for this project by talented artist Ro Karen. You can find more of Karen’s work at http://www.lobablanca.com, which I guarantee is a place far more coherent and articulate than this site.

You can download the entire 2010 collection in one zip file here. me.com is dead

You can download the entire 2010 collection in one zip file here. google docs is dead

(Here is a Mirror in case the first one is offline). dropbox is dead

Do yourself a favour and get the 2012 remaster version instead. Yes it’s still free, it’s still CC-BY-SA, you can enter $0 for a price and I won’t be mad.

It’s 836 MB. Total running time is about seven hours and nineteen minutes. There’s nothing in this zip that hasn’t already been published, except for the things that haven’t been. If you want to download individual tracks go ahead. Just be aware that you’re still under the conditions to not be a dork. Don’t complain to me.

Once again, don’t write to me and complain that it doesn’t play on your Victrola, or your Kinescope, or your Sinclair Spectrum.

The MD5 is 8ccccde97d4a8d292d07129f47e764db. Again, if you don’t know what an MD5 is, don’t worry about it.

The bit nobody reads: Like I said last year, I could fuss all I want about licensing but I know nobody will read it or follow it. Having said that, if you somehow make money from this you could consider giving some to me, or to Ro Karen, or to your local animal shelter, or your rich uncle’s lawyers. I still reserve the right to come and punch you in the face, regardless. This is under a pretty loose Creative Commons license. If you want to know more read this. I know you won’t.

Creative Commons License

For a limited time, or until my DVD supply run out, if you send me a nice email with your name and address, I will mail you a DVD with everything from 2009-2010 on it. No charge. I may even autograf it. I probably won’t. Hell, I’ll mail it and you’ll probably never get it. Don’t complain to me. I’ll leave the exercise how to email me with a request to you as an intelligence test.

AW 2010, FY.

Crackpot, Buzzkill, Asshole

Here’s a strange one. In a total shock to myself, and likely their listeners. A mockup of some of my FAT BEETS was played mocked on No Agenda Show 244 on October 17th, 2010 by none other than Adam Curry and John C. Dvorak themselves.

I’m the asshole, in case it’s not obvious.


Mocked on No Agenda 244

So, when life gives you lemons, punch it in the mouth.

and, a different take.

Creative Commons License

The Future of

In 2016, I managed to wedge this content into a music track I made for Night Attack.


Modify an Arduino for DebugWIRE

This article talks about the Diecimila, but there is a newer article that talks about the Duemilanove

Here’s a departure. Today I’m going to give a little instruction in how to modify an Arduino board so you can actually do something useful with it – like debug it.

No warranty is expressed or implied in this. If you do this and you wreck your Arduino, your AVR Dragon, your wife leaves you and the dog eats your shoes don’t complain to me. Blah blah blah.

The Arduino (http://www.arduino.cc) is a very nice idea. Little boards based on the Atmel 8-bit line of microcontrollers. Nice and cheap basic little boards that have a USB connection, and an onboard bootloader so you don’t need another piece of hardware to program it. You program in a language they say is based on Processing, but to the user just looks like C++ with a lot of busy-work done in libraries for you. If you’re new to microcontrollers but want to do stuff, the Arduino is a good choice for a start. There’s also a significant community built up around the Arduino now, so you have lots of other people to compare with for help and ideas.

What’s nice about the Arduino is the hardware isn’t particularly bound to the pseudo-Processing-C++ language. If the day comes you become frustrated with the limitations on Arduino code and want to go on and be a full on Atmel Assembler/GCC nerd, you can. You can also ditch the onboard bootloader for more space, if you feel like it.

Speaking from my background, I do some embedded system stuff, and the frustrating part of the Arduino is the lack of an “ICE” (In-Circuit-Emulation)/”OCD” (On-Chip-Debugging) workflow. Sure, you can pepper your code with Serial.println() statements, but that only gets you so far if you’re staring at the board and asking “Just why aren’t you doing what I want?”

With previous Atmel microcontrollers I’ve worked with they have an interface called JTAG. A few years ago I went out and bought a JTAGICE clone so I could debug my stuff. JTAG is great.

Problem: The chip on the Arduino Diecimila/Duemilanove (ATMega168 or ATMega328), doesn’t have JTAG. Whoops.

The chips used in the Arduino use Atmel’s fancy new proprietary method called “DebugWIRE.” JTAG uses a ten-pin connector and uses I/O lines that your circuit might want during debugging. DebugWIRE allegedly uses just one – the reset line. I say “allegedly” since you seem to have to be hooked up via the ISP (in-circuit-programming) six-pin connector to make it work, but at least it doesn’t take out one of your I/O banks.

The barrier to DebugWIRE for me for a long time was the cost. Normally you had to buy the JTAGICEMKII. which is damned expensive (CDN$352 at Digikey. I seem to recall a couple of years ago that thing was $600. There aren’t any clones that I know of for the JTACICEMKII since DebugWIRE is proprietary. I think my JTAGICE clone was only $70 in 2005.

Enter… the Dragon.

The AVR Dragon is a nice little programmer that

  • Has USB (no fussing with 9-pin serial ports)
  • Does DebugWIRE, ISP, and JTAG
  • Is Cheap ($57.74 at Digikey. Not super-cheap, but not $352).

In the picture of my Dragon, I’ve added a 40-pin ZIF socket and some more pin headers. The default Dragon does have ISP and JTAG headers mounted, so it’ll work for this stuff right out of the box.

In my first experiment with the Dragon I was unhappy to find it did not work with the Arduino board. Hook it up, kinda get a response, but generally nothing worked right. Did some reading, did some looking at schematics, and here’s the problem:

This is for an Arduino Diecimilia board, the Duemilanove might be a little different, check first.

One of the nice things the Arduino does for the casual user is eliminate the need for fussing with bootloaders and external programming hardware. One trick it uses is to trigger the RESET line via the USB controller chip – this way when you go to “Upload” your program from the Arduino IDE it issues a board reset (thus activating the bootloader) and slurps up your code over USB. The problem: it does this by tying one of the USB FTDI chip serial control lines to the ATMega168 RESET line via a 100 nF capacitor.

Remember, DebugWIRE uses the RESET pin to do all the chip control and debugging. The protocol is proprietary, but let’s be realistic – there’s no easy way to do On-Chip-Debugging via one stupid pin and not have to signal the hell out of that pin – who knows in what weird ways. With this 100 nF dude in place, DebugWIRE gets all confused and… you get disappointing results.

So I figured, I spent my $57.74, and I have some time, I’d see if this assertion was correct. I tracked down in the schematic (shown above) and from the Diecimila page what component would have to be removed. I couldn’t trace very well on the nice little board itself, so I dug out the schematic in Eagle and made sure of the location of the capacitor to be removed in the board layout. (Aside: Eagle is nice, free to use for small things, cheap for non-profit hobby folks).

As lots of people will tell you, hand-soldering with surface-mount components is a pain. Luckily you don’t have to solder anything onto the board, you just have to remove the one there. I did it my favourite way, which is looking down a stereo dissecting microscope – which you can buy off eBay for a hundred bucks. If you’re going to solder small things and you’re half-blind like I am, a microscope is worth it.

So, a quick trip under the microscope. I took out the Atmel microcontroller from the board (it’s in a socket, hey hey smart people) to make sure I didn’t destroy it by accident. Heat up the pad with the iron, use a little soder-wick, use a little pressure and the capacitor pops off. You could use a vacuum desoldering gun, one of those spring-loaded jobs, or you could probably just cut the capacitor in half with an x-acto knife if you’re so inclined, I suppose.

That was pretty easy, wasn’t it? If you were super-ambitious you could wire in a jumper so you could engage the capacitor when you weren’t needing to use the debugger. I wasn’t that ambitious. Here’s why you might want to consider this:

You’ll recall from earlier I said that Arduino’s IDE used this capacitor to auto-reset the board via USB when you went to do a code upload. Well, thanks to this surgery that capability’s been removed. What that entails is that when you want to program the Arduino now, you have to manually hit the big reset button on the board a couple of seconds before the Arduino IDE attempts to download it. Arduino’s IDE does a compile before an upload, so in my case I just wait for the message about a successful compilation to appear and hit the reset. Chip goes into bootloader mode, IDE triggers a new upload, everything’s great.

So let’s consider getting setup for a DebugWIRE session on the Diecimila. We’ll use this boring demo code from the Blink demo that everyone can understand:

This is a graphic because WordPress\’ code tag doesn\’t work right.

I used arduino-0017 for this. I’ve heard with 0018 that it changes handling for locations of compiled code, so take that into account. Compile the code with the Arduino IDE and upload it to the board, and watch the hardware perform as it should.

Now, hookup the Dragon via the ISP connector

Hardware for debugging is only half the magic. The other magic is AVR Studio 4, which is Atmel’s own free development environment for programming Atmel stuff. Couple this with the free GCC compiler WinAVR. AVR Studio does Assembler, and if you have WinAVR installed will also let you jack in and program with GCC (C normally, C++ if you’re a risky fellow). You’ll need WinAVR for this experiment, for reasons that will become obvious.

This is important, because microcontrollers like the ATMega168 don’t ‘speak’ C, they speak assembler opcodes. When you program it you’re downloading a bunch of assembler hex bytecode that actually makes the chip operate. AVR Studio lets you jump one step back and use your GCC source code to step through program operation on the chip.

Here’s why this works: although Arduino’s language is called a variant of “Processing”, under the hood it’s really just GCC C/C++ with a lot of nice libraries for handling the hardware easily. When the Arduino IDE compiles, it invokes the GCC compiler and produces a hexcode file to upload to the Arduino.

So this means – you compile your code in Arduino’s IDE, then you load the compiled project into AVR Studio. In AVR Studio 4 you open an existing file, navigate into the subdirectory called “applet” under where the “Blink.pde” source was saved, and open the file that ends in “.elf” ELF is a format that AVR can use to “connect the dots” between the .hex you loaded onto the Arduino, and the Arduino (secretly C/C++) source code you actually wrote. AVR Studio will want to save your project as a new project, which you should.

Note you don’t have to recompile anything with AVR Studio, just open up the .elf in it, and AVR Studio will take over.

Then it’s just a matter of hooking up the Dragon and configuring it in AVR Studio. Configure your project to use the AVR Dragon (not the Simulator) and set the installed chip type correctly (ATMega168 in this case). “Select Platform and Device”. .

Tell it you’re using ISP to start. With the right chip selected, pick “Read Signature”. This makes the Dragon talk to the chip, and find out who it is. If you have trouble with your hardware setup this is where you’ll find it first. Make sure it reads the correct signature before you go any further.

You can check the fuses of the chip (more on this later):
Fuses are ATMega settings that are stored on the chip, like which interfaces are active, and the chip’s reset condition. If this is your first time looking at this board, take note of all the fuse settings in case you goober them up and have to reset them to the Arduino’s default settings.

Then it’s just a matter of starting a debug session (“Start Debugging”). If your chip isn’t in funky DebugWIRE mode AVR Studio will prompt you to change it. Here’s where things start to get dangerous. Once you enable DebugWIRE, you can’t use the ISP interface anymore (the SPI interface is disabled). This means if you goof something up in DebugWIRE mode you can’t use the ISP or the Arduino Bootloader to reprogram the chip.

This isn’t what some call “bricking” the chip. It’s still perfectly fine, you just have to get it out of DebugWIRE mode first. The problem is there’s only one spot to actually do that, so you tend to forget to do it. That’s in the Dragon programmer options. Once you disable DebugWIRE everything goes back to normal.

If you’re like me, and you accidentally did goober your chip up, you can pull the chip and put it into another programmer (like your Dragon, if you’ve outfitted it with the sockets, or an STK500 in my case) and use the high-voltage programming mode. HVPP mode doesn’t care about SPI being enabled or not, and is how I saved myself every time I did a “whoops, screwed that up, time for a reset” while figuring all this out. This is where those fuses are important. If you use HVPP and muck up the fuses for bootloader and boot reset configuration, the Arduino’s Bootloader will mysteriously work exactly once and never again, making you reflash the bootloader code. I know, I did that. The bootloader code is in the Arduino software directory, with a .hex for your particular board. You can reflash it to the chip with AVR Studio.

Protip: To get the chip out of DebugWIRE mode, you just have to start a debug session with the Dragon in place. You don’t have to have the actual code that’s on the Arduino at the moment. Just load up something (like the blink.cpp.elf project), go into the Dragon options and just disable DebugWIRE. Presto, good as new. Someday Atmel may fix this deficiency in AVR Studio, but this works for now.

So… hardware hooked up? DebugWIRE enabled? Well hell, start debugging. AVR Studio will find all your source code files and give you all the magic you need to single-step and breakpoint operate your Arduino. You’ll find your code has some extras in it you didn’t write, since that’s the nature of the preprocessor that Processing uses to get the code to compile by GCC, but that’s a story for another time.

That’s a lot of words to say “remove a capacitor and it works.”