Reverse-Engineering debugWire

Has this ever happened to you? You start out on a reverse-engineering project, start digging in, and then get stumped. Then you go looking on the Internet for help, and stumble across someone who’s already done exactly what you’re trying to do?

[Geekabit] wrote us with a version of this tale of woe. In his case, the protocol to be reversed was Atmel’s debugWire protocol for debugging on low-pin-count parts. There are a number of websites claiming it’s “secret” or whatever, but it actually looks like it’s just poorly documented. Anyway, [RikusW] seems to have captured all of the signals way back in 2011. Good job!

The best part of [geekabit]’s story is that he had created the Wikipedia page on debugWire himself to inspire collaboration on reverse-engineering the protocol, and someone linked in [RiskusW]’s work. When [geekabit] picked up the problem again a bit later, he did a bit of web research and found it solved — on the page that he started.

Maybe it’s not a tale of woe after all, but a tale of unintentional collaboration. Anyway, it serves as a reminder that if you’re interested in the destination more than the voyage of discovery, it never hurts to do your research beforehand. And now we all know about the low-level details of the debugWire protocol. Anyone written up a driver yet?

Thanks [geekabit] for the tip and the story! Image from ATmega32-AVR, which explains nicely how to use the Dragon in debugWire mode.

Hackaday Retro Edition: TRS Wiki

1977 was a special year for computing history; this year saw the release of the 8085 following the release of the Z80 a year before. Three companies would launch their first true production computers in 1977: Apple released the Apple II, Commodore the PET 2001, and Tandy / Radio Shack the TRS-80 Model I. These were all incredibly limited machines, but at least one of them can still be used to browse Wikipedia.

[Pete]’s TRSWiki is a Wikipedia client for the TRS-80 Model I that is able to look up millions of articles in only uppercase characters, and low resolution (128×48) graphics. It’s doing this over Ethernet with a very cool Model I System Expander (MISE) that brings the lowly Trash-80 into the modern era.

The MISE is capable of booting from CF cards, driving an SVGA display and connecting to 10/100 Ethernet. Connecting to the Internet over Ethernet is one thing, but requesting and loading a web page is another thing entirely. There’s not much chance of large images or gigantic walls of text fitting in the TRS-80’s RAM, so [Pete] is using a proxy server on an Amazon Web Services box. This proxy is written in Java, but the code running on the TRS-80 is written entirely in Z80 assembly; not bad for [Pete]’s first project in Z80 assembly.

vt100normal The Hackaday Retro Edition is our celebration of old computers doing something modern, in most cases loading the old, no CSS or Javascript version of our site.

If you have an old computer you’d like featured, just load up the retro site, snap some pictures, have them developed, and send them in.

Hackaday’s Wikipedia Page Needs Help

Wikipedia-logo-en-bigHey, did you know we have a Wikipedia page? We didn’t either. Until today you could search for “Hackaday” and nothing would come up. That’s because it’s listed as “Hack a Day” and it hadn’t seen any TLC in at least a couple of years.

Here’s the great thing about Wikipedia, they want factual information so they discourage people with Conflicts of Interest from editing the pages. That means that having the Hackaday Staff edit the page is a sticky issue. I did indeed edit the page in order to add more sections (History, Hackaday Projects, Accolades) to make it easier for the community to work on the article. I disclosed this in the “Talk” section, requested the logo be uploaded, and began a discussion suggesting the page be moved.

Ethically this is about all I think we should do. It’s up to you now. We’d love to see a well-written, immaculately cited Wikipedia article for this great thing we’re all involved in.

Staff Update and Philanthropy


It is my pleasure to welcome two new members of the Hackaday team. [Kevin Darrah] and [Kristina Panos] both have electronics backgrounds, and following in the tradition of the entire team they are long-time readers of Hackaday. Both are already hard at work. You can learn a bit more about them on the Staff Page.

While I have your attention the writers, editors and I would like to thank our parent company. We frequently refer to them as the “Evil Overlords” (actually, they started it!) but it’s turning out to be a really great relationship. I asked them to make a donation to Wikipedia in Hackaday’s name and they were happy to do so. Not only do we often link to Wikipedia in our articles, our writers use it constantly when researching for posts. Thanks SupplyFrame!

Build your own Wikipedia reader

One part inexpensive uC, one part touch-screen, one part Internet knowledge-base all come together to make up this Wikipedia reader. It functions in a very similar way to commercial versions by parsing XML dumps from the popular website to an SD card for use on the device. This is not limited to Wikipedia, but could just as easily be an e-reader. [Rossum] developed the package using an NXP ARM Cortex M0 model LCP1114 microcontroller. They cost just a couple of bucks but pack a 50 MHz punch with 32 KB of program memory and 8 KB of SRAM. If the nanotouch and the AVR iPhone concept didn’t convince you that [Rossum] knows what he’s doing, the video after the break of this newest creation will seal the deal.

Continue reading “Build your own Wikipedia reader”

$100 portable Wikipedia


OpenMoko, the company behind the FreeRunner open-source phone, released their latest product today: WikiReader. It’s a small mobile device for browsing Wikipedia. Rather than use a wireless network to pull data off of the web, it has local copy of the database on a 8GB microSD card. This approach has been used before, and it lets the WikiReader be compact and really cheap. It uses a Kindle-esque touch-screen display that allows it to run on 3 AAA’s for about a year. The device itself costs just $99, but you can choose to receive updates by snail mail for just $29/year. Alternatively, you can just download the +4GB file and dump it on the card.

Like the FreeRunner, this project is also open-source. The code isn’t available yet, but they say it will be released soon. With luck, the device will be really easy to hack.


This project is particularly amusing. It doesn’t have a whole lot of practical use, but it makes up for it in style. They have an SD card with Wikipedia from 2003 downloaded to it. This is accessed with a Parallax propeller microcontroller based system and displayed on a small retro looking screen. We like it. We don’t think we would ever actually use it, but we would definitely keep it around.