Skip to content
rhn edited this page Jun 14, 2012 · 7 revisions

This section describes the problems you are likely to encounter and how to solve them.

Hardware problems

Screen always blank

Possible reason: pins misconnected

  1. Check pin names:
    Check preferences.h for pin configuration.
    Check your screen’s pin names
    Check whether the names of connected pins on the mcrocontroller and on the screen match.
  2. Check for loose connections
  3. Check for short-circuits

General info

The screen will not start up before it’s fully connected. Connecting it to Vcc and GND will not make Vout have voltage.
If your connection might be loose and you want to try that by wiggling the cable, reconnect it every time you change position until it shows something.

Screen too dark

Place a capacitor between Vout and GND

I see strange lines after the screen turns off

Reduce the capacitor’s capacity between Vout and GND

I see garbage between characters on the screen

That’s a software problem, fix coming soon

I observe delays after pressing a button

Reduce capacitor size connected parallel with the button (1µF goes well with ATTiny2313 and ATMega8 internal pull-up resistors).

A single button press is counted multiple times

Increase capacitor size connected parallel with the button (see http://www.ganssle.com/debouncing.pdf)

Host software problems

I’m getting permission denied when uploading programs!

You may get output like this:

avrdude -c usbasp -p m8 -U flash:w:mmc.hex
avrdude: Warning: cannot open USB device: Permission denied
avrdude: error: could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc

This means you don’t have necessary permissions to access your USB device. You can:

  1. Upload as root (not recommended – you’re likely to do all kinds of other things as root too)
  2. Change the device permissions

Manual changing of permissions is not worth the trouble. It’s not straightforward to find the device file and it needs to be done at every connect.

To change permissions automatically using udev, make sure you have a group called usb and that your user is its member. Then create a rule file to match your device (don’t forget to change USB IDs):

SUBSYSTEM=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", GROUP="usb"

and save it as /etc/udev/rules.d/10-usbasp.rules.

Restart udev, reconnect the device and check if it works.