repair

pin 33 is onderbroken en vervangen door een draadje

Onlangs heb ik de hand weten te leggen op 2 e-paper schermpjes, waar nog een defecte e-reader aan vast zat. Gekocht van een vriendelijke medeCo-er. Beiden met waterschade. (De schermpjes. Niet de CO-er).

Een van de e-readers was compleet verzopen (Maar het scherm is nog goed), de andere was er beter aan toe, maar de connector naar het scherm is gecorrodeerd:

Beide e-readers. Scherm connector van de rechter is gecorrodeerd. Bij de linker is heel de rest gecorrodeerd (maar de schermconnector nog gaaf).
Detail van de gecorrodeerde schermconnector

Na dit goed te hebben schoongemaakt (ook de connector op de print, door er een papiertje met alcohol in te schuiven in plaats van de flexprint van het scherm, en zo goed en kwaad als het ging de binnenkant van de connector daarmee te boenen) was te zien dat pin 33 van de connector eigenlijk volledig weg was. Zoals ook in de eerste foto in deze post gezien kan worden.

Zo ligt het draadje

Ik heb dus een draadje gelegd van de onderbroken pin naar het punt waar deze aan de andere kant van de connector aan vast hoort (door de isolatie van het spoortje op de flexPCB te krassen, er een stukje geïsoleerd (lakdraad) draad aan te solderen, en de andere kant ervan op de print te solderen aan een component dat met dezelfde pin van de connector verbonden is).

Verder ontbraken daar condensators op de print, die heb ik van de andere e-reader overgezet (Spoortjes volgen/componenten komen grotendeels overeen. Van de andere e-reader hergebruik ik alleen het scherm, gezien de schade aan de print). Er ontbreekt er nog 1, die op de andere print niet aanwezig is. Zonder blijkt het echter ook te werken.

Zodoende werkt het scherm van deze e-reader weer. Het scherm van de meer gecorrodeerde viel ook te testen op de minder/niet gecorrodeerde pcb, en blijkt ook te werken.

Daarmee heb ik dus 2 e-paper schermpjes. Mijn e-reader niet meegerekend (Want die blijft gewoon in gebruik als e-reader. En Schaakplankje).

Nu nog een toepassing verzinnen voor die mooie e-ink schermpjes ;). Maar zoals in die 2 linkjes gezien kan worden is bekend hoe ze aangestuurd moeten worden, en is het enige lastige eigenlijk de kleine connector en de benodigde spanningen (+22V, +15V, +3v3, -15V, -20V).

Deze e-readers draaien overigens Linux, dus het schermpje waar nog een e-reader aan vast zit krijgt waarschijnlijk op die manier een toepassing. Mijn ereader draait al een uitgebreid schaakprogramma sinds kobo hun versie verwijderde. (Maar een rant over “verplichte updates” en het daardoor verdwijnen van functionaliteit die een product bij aanschaf wel had, is een heel ander onderwerp).

Recently I bought an USBasp, or at least that’s what I thought. I bought a clone that was advertised as  “USB ISP USBasp USBisp Programmer for 51 ATMEL AVR download support Win 7 64 (RANDOM COLOR)”, marked on the case as “USB ISP version 2.0” and “MX-USBISP-V5.00” on the PCB.

I intend to use this as a TPI programmer for attiny10, so I need the USBasp firmware that supports this. But it turned out not to be compatible… Unless the hardware is modified 🙂 . (So that’t what I did)

USB isp PCB and case
On the case it is labelled USB ISP version 2.0. On the PCB MX-USBISP-V5.00.

Upgrading the firmware is easy. Connect the 10pin connector to another programmers 10 pin Atmel ISP connector, put a jumper wire on the USBasp “update jumper” (Labelled “UP” in above picture), power the “usbasp-clone”, and load the new firmware using the other programmer. Plenty tutorials for that at various places on the web.

However… Before I updated the firmware, the USBasp was seen by my computer, as an “Atmel Incorporated”. After the update, it did not connect any more. It did not show with “lsusb”, and nothing in “dmesg” either. So, after the update, it does not work any more. I broke it. Let’s see if I can fix it too.

Turns out, the USBisp v2 I bought has a slightly different schematic. Among other differences, there is a 0R resistor on the board that connects one of the USB lines to another MCU pin (PD3). PD3 is unconnected in the original schematic. After removing this resistor, it worked again and connected to my PC as a “Van Ooijen Technische Informatica shared ID for use with libusb”, and it is usable with AVRdude as an USBasp (I tested reading an attiny10’s flash, and it worked).

Before that, I tried other modifications that might be needed also, but that by themselves had no effect. The other differences where that my board had a 1k8 pull-up on the USB D- line (R3 in original schematic), and R1/R2 where 100 Ohms instead of 68. So I replaced those resistors with the original values, just in case, but I think it would have worked with 1k8 / 100R.

Also I cut the trace from PD6 to one of the LED pins, as that connection is also not in the original schematic.  And while I was at it, I added a decoupling cap on a vacant spot on the PCB and soldered the mechanical pins on the USB connector.

After all these modifications, it looks like this:

modified USPisp
Modified USBisp

Zoom in to see the red dots marking changed components and the red line indicating the trace I cut.

So now, I have a TPI programmer for my Attiny10’s. And if you bought the same or a similar enough USBisp or USBasp and ran into the same issue putting USBasp firmware on it, now you know how to fix it 🙂 (See first picture for PCB & case markings).

In aanvulling op Opgelost: RC522 RFID lezer leest (sommige) kaarten niet. (Deel 1):

Eigenlijk heb ik een groot deel van wat ik van plan was in deel 2 te schrijven, toch al in deel 1 verwerkt. Er zijn echter een paar “losse eindjes”.

Van de blauwe kaartlezers uit deel 1 bestaan vele varianten (ook in andere kleuren, maar ik doel vooral op de pcb-antenne). Er bestaan echter ook kaartlezers met dezelfde chip, die via I2C communiceren (ipv. SPI). Bijvoorbeeld onderstaande groene:

RC522 I2C
Groene mini RC522-I2C RFID lezer

Ik heb daarvoor de bestaande SPI-library aangepast: https://github.com/lukelectro/rfid/tree/I2Csupport . Er zijn meerdere (en andere) I2C RFID library’s voor deze chip, daar kwam ik echter pas later achter. Het blijft een leuke oefening in OO-programmeren (Mede om die reden heb ik overerving gebruikt. Het had eenvoudiger gekund door de bestaande library te slopen en deels opnieuw te schrijven, maar dan voor I2C. Of nog beter: door communicatie met de kaartlezer te scheiden van de rest van de library en mogelijkheden te maken voor I2C, SPI en UART.).

Deze groene kaartlezer werkt erg goed. Uiteraard, geen enkele garantie dat als je er nu een (aantal) besteld, je dezelfde krijgt als waar ik mee getest heb, waarschijnlijk bestaan er ook meerdere varianten van.

Verder was ik ooit van plan nog wat meetgegevens te posten van de “blauwe” kaartlezers, maar daar zie ik denk ik maar van af. (Ik zou dan moeten uitzoeken welke meting ook al weer waar bij hoorde, plus dat er dusdanig veel varianten van deze lezer zijn dat je eigenlijk zelf zou moeten meten als het niet werkt met de condensatorwaarden die ik eerder postte. Bovendien, en dat is wellicht het belangrijkste argument: Ik werkte toen voor het eerst met een VNA en zou dus zomaar eens meetfouten gemaakt kunnen hebben). Mocht het je echter toch interesseren, vraag dan gerust in de reacties.