This is the second part of my USB tutorial for ATtiny2313 and V-USB library. In the first part we learned how to get 3.3V from USB to power our circuits. In this part, we will expand our setup with following parts:
- Larger breadboard and additional jumper wires
- 12 MHz crystal oscillator
- Two 27 pF ceramic capacitors to stabilize the crystal
- Two 68 Ω resistors between USB data lines and the microcontroller pins
- 1 MΩ pullup resistor for D+ and 1.5 kΩ pullup for D-
- 6-pin header for programming the ATtiny and 4.7 kΩ pullup for reset pin
Update: Some people have noted that the setup I’m using here runs ATtiny2313 at 12 MHz with only 3.3V VCC, which is outside the specified range (frequencies over 10 Mhz require 4.5V or more). I’ve never had any problems, and many others have succeeded with this setup, but if you encounter persistent problems, I suggest you to power the ATtiny2313 straight from 5V of the USB line and use zener diodes on D+ and D- lines to drop their voltage, as is done in my later tutorial with the ATtiny85 microcontroller.
This time I will not walk you through every connection. Instead, I’ll just outline the steps needed and show the pictures of end result. Here is the schematic we’re building:
Continue reading AVR ATtiny USB Tutorial Part 2
I wanted to build an USB device using AVR microcontrollers since I found out that it was possible. However, both the USBtiny project and the more extensive V-USB library lacked an easy-to-approach tutorial. So I decided to make one.
This first part covers the basics for making USB-powered devices, and serves as introduction for second part, which goes through simple example for using V-USB library to implement USB communication to and from ATtiny2313. Additional parts might be published later if I have the time and there’s interest.
But let’s get started. Here is what you need for this first part:
- USB cable and pin header
- Small breadboard and a few jump wires
- LED and 330 ohm resistor
- Low voltage drop 3.3V regulator, such as LD1086V33 or LE33CZ
The first thing we need to do is cut the USB cable so the end that goes into computer remains, strip the other end and solder the four wires into a pin header so it’s easy to plug the cable into a breadboard. USB contains four wires which you should solder in the following order (note: not all cables conform to this so check with a multimeter!):
Here you see the end result. When stripping the wire, be careful not to damage the wires and make sure the wires will not touch each other so your cable won’t short circuit your computer or USB hub!
Continue reading AVR ATtiny USB Tutorial Part 1
Long time no see. I decided that instead of rambling on and on about my newly acquired Apple TV, I’ll just write about it in my blag. I’ve divided the review into sections so you can dive into the action if you’re only interested in one of the aspects.
Pricing and the Package
For Apple, the 119 € they charge for the second generation Apple TV is not much. I mean, it’s like two iPad HDMI cables, right? With that price, you get a beautiful and very small black box that has a HDMI (limited to 720p) output for video/audio, alternative optical S/PDIF output for audio, ethernet jack if for some reason you don’t want to use integrated wireless chip, and a micro-USB slot for debug purposes (no, I think you cannot connect external drives).
I really don’t have anything but positive things to say about the package and hardware, every detail is beatifully executed. For reference, the hi-fi Cambridge Audio dock that is basically just the S/PDIF part of Apple TV costs a whopping 200 €. So if you can live without 96 kHz / 24 bit audio and satisfy yourself with “just” CD quality sound output, you save 80 € and get a ton of features for free.
Continue reading Apple TV First Impressions
See the jGoBoard website for more information!
I’ve just finished a “public beta” version of Friendscribe.com, which is a web-based chat for keeping in touch with your friends. The idea is that chat messages are stored in a database, so you don’t need to have your browser always open to see what’s going on – just log back in later and see if someone has said anything while you were gone.
Try it yourself at http://www.friendscribe.com.
By the way, the site is powered by CodeIgniter – a PHP development framework you definitely should try out if you’re into PHP web development!
Just a brief revelation to share with any readers (perhaps they stumble here through Google, or by some horrible accident :).
I’ve had an Abit IP35-E motherboard in my HTPC setup for six months now, and while a great overclocking board, stable and packed with nice features (yeah, right, this is the budget version), I haven’t been able to coerce my Debian Lenny installation copied from previous IDE hard drive, or any Linux Live-CD to properly recognize my 500GB Samsung SATA hard drive.
Because booting to Linux rebooted with USB keyboard on, and IRQ options sometimes seemed to work their magic and temporarily get me to login prompt, I figured there was some IRQ conflict at work. I searched for the fix just half a year ago with no luck, but after 5 months of complete Linux abstince (spelled that wrong, I did), I stumbled upon this:
http://www.fatwallet.com/forums/hot-deals/812946/ (search for “Linux”)
Turns out all I needed was to swap SATA cable from SATA1 port to SATA5. Voila, now everything works great, no IRQ conflicts there (only SATA1-SATA4 ports conflict with USB controller).
Hope this helps someone!
You just have to love coding. I mean, unless you don’t, you’re not likely to put up with two hours of nearly useless debugging, when you realize your WeBRICK or Mongrel development environment do not work as it should. That’s exactly what I just did, and in order to help others, I’ll give you the details so you can get some decent results when Googling.
The problem: I wanted to do some quick template prototyping. Hitting my WebFaction rails development environment, I started to make changes to a page template, update it, make changes, etc. Only this time no changes were shown after initial load! Only a server restart would make the changes visible. WTF. This isn’t how the development environment should work at all!
Continue reading Rails template caching intricasies
Having done web development on several platforms (Perl+CGI, ASP.NET and PHP), I was introduced to Ruby on Rails about two years ago, and it was love on first sight. The separation of code and layout was a bliss after PHP require statements (and vaguely similar to ASP.NET, by the way), and database abstraction was on a wholly different level.
And, you don’t need semicolons after statements in ruby, just how sexy is that? What more can a man need (write a comment, if you disagree :).
Now Rails does have some annoyances, like painful configuration for multiple applications running on a same server. If someone actually likes writing Lighttpd rules and making special provisions for it in routes.rb, again, let me know. It also seems that in some cases, all the abstraction and “there is a really clever hack to do this with just one line of code” -mentality has taken over good sense, which for me has meant that my “Rails 0.9” skillset has been mostly deprecated, and replaced with layers upon layers of new stuff I should be continuously keeping up with.
Now a recent Slashdot article (the one linking the page-long rant from Mongrel developer) had some positive comments related to Django, and I decided to check it out. And guess what? It just rules.
Continue reading Django – next stop after Ruby on Rails?
Just a short note on this Slashdot newsbit that almost got me falling off my chair: Nokia is acquiring Trolltech, the makers of QT graphics library behind the popular Linux window manager (/platform) KDE.
I mean, if I had been asked a month ago the top three companies making money with open source software, I would’ve replied RedHat, MySQL and Trolltech. And since MySQL has already been acquired, I really wonder what is next.
Also, it is interesting that Nokia decided to acquire Trolltech, even though their Maemo platform is based on GTK and Gnome, not QT and KDE. Well, let’s just hope they don’t stop providing a GPL version of QT in the future.
Anyone want to bet who is the next open source shop being acquired by some big players? My bet is RedHat being acquired by Google or Microsoft, because, well, that would just be surprising, wouldn’t it?
Just a short interesting headline that got my attention on Slashdot:
Nanotubes Form The Darkest Material Yet Created
Picture of this 99.9% light-absorbing monster material can be found from news.com.au coverage. Now as many slashdotters pointed out, this opens up obvious possibilities for solar panels, but once these really get cheap, I’d propose a couple of additional ones:
- Limiting the light scatter in open areas where adequate lightning (e.g. for safety) and darkness are simultaneously preferred. Theaters, nighttime transportation (ever tried to sleep in a well-lit train?) spring up to mind
- Ninja clothing. Of course the problem is, that once you actually become darker than the night, you may be more easily spotted.
- Striking interior decoration. Doors that look like black holes? Check. Really black borders for your home theater projector canvas? Check. Sofa that just doesn’t seem to be there? Check!
And of course there is my absolute favourite: MacBook Night Air, as shown below.
Like Nigel Tufnel says in the movie This Is Spinal Tap: It’s like, how much more black could this be? And the answer is none. None more black.