Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Super-minimal experimentation with the AVR’s serial hardware

Here you’ll find code (Python and AVR-flavored C) for an upcoming Make Magazine skill-builder section on using USART serial for two-way communication between the microcontroller and your desktop (for fun and/or profit).

The main.c code for the AVR and the routine for your desktop computer speak to each other using a tremendously simple protocol: sending an "L" to the AVR tells it to toggle the LED on and off, and sending an "X" to the desktop instructs the Python routine to open up a website. Add a button and LED to the AVR and you can be notified when something changes on the computer side, and react to it with a button press.

So far, so good. It was the most I could squeeze out of just a few lines of code.

Along the way, we get to learn stuff about setting up the AVR’s serial peripheral hardware: setting baud rates, enabling transmit and receive, how to queue up bytes for transmission, etc. Solid tutorial material.


From here, it only takes a little more work to flesh this out into something that you’d be willing to have on your desk.

Included are Python routines that check some websites (XKCD and Hack-a-Day respectively) to check if there’s new content, and light up the LED if so. Then, with a button press, the new material is loaded into a browser, the LED turned back off, and the Python routine waits for the next change again.

All that’s left to build up a nice project is a cool enclosure, a swanky (multi-colored?) LED, and a solid button. Have more LEDs and buttons? You can track more websites.



No description, website, or topics provided.






No releases published


No packages published