Zum Inhalt springen

Usblinky: Unterschied zwischen den Versionen

Overflo (Diskussion | Beiträge)
Overflo (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(5 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:


'''usblinky'''
'''usblinky'''
* is a small usb stick with 4 wires on on end
* is a small usb stick with 4 wires on one end
* controls up to 150 addressable RGB lights (for example WS2812B)
* controls up to 150 addressable RGB lights for example WS2812B, the current is the limiting factor here. if you run them directly form your USB port 20 individual pixels will work
* can run stand alone from a USB power supply once programmed
* can run stand alone from a USB power supply once programmed
* consists of:
* consists of:
Zeile 61: Zeile 61:
But this microcontroller was too small to do fancy effects and so i made a completely new design for this job.
But this microcontroller was too small to do fancy effects and so i made a completely new design for this job.


Later on I finally found a reason to check out [http://http://www.openscad.org/ OpenSCAD] and boy do I like that. What a great tool!
Later on I finally found a reason to check out [http://www.openscad.org/ OpenSCAD] and boy do I like that. What a great tool!


I made a fully parametric design to use with the usblinky as a psychedelic nightlight.
I made a fully parametric design to use with the usblinky as a psychedelic nightlight.
Zeile 90: Zeile 90:
Later on i found out that the bootloader on the trinket is fragile.
Later on i found out that the bootloader on the trinket is fragile.


Under some special circumstances it can happen that the bootloader falsy triggers and the FLASH on the MCU is damaged and it can not be programmed any more over USB.
Under some special circumstances it can happen that the bootloader wrongful triggers and the FLASH on the MCU is partially overwritten and it can not be programmed any more over USB.


It can still be recovered with a dedicated programmer but this was to fragile for my usecase.
It can still be recovered with a dedicated programmer but this was to fragile for my usecase.
Zeile 120: Zeile 120:
I tried many different approaches but didn't succeed till I did this:
I tried many different approaches but didn't succeed till I did this:
* flash the bootloader
* flash the bootloader
* write the prgram over USB
* load the userprogram over USB
* read back the flash from the attiny (avrdude -p attiny85 -P usb -c usbtiny -U flash:r:flash.hex:i)  
* read back the flash from the attiny (avrdude -p attiny85 -P usb -c usbtiny -U flash:r:flash.hex:i)  
* write that dump to future usblinky sticks.
* write that dump to future usblinky sticks


All the relevant script for reading and writing and a script for semi-automated flashing in a loop can be found [https://github.com/hackerspaceshop/usblinky/tree/master/software/builds/scripts here on github]
All the relevant script for reading and writing and a script for semi-automated flashing in a loop can be found [https://github.com/hackerspaceshop/usblinky/tree/master/software/builds/scripts here on github]
Zeile 132: Zeile 132:


==Links==
==Links==
[http://www.hackerspaceshop.com/blinky/usblinky.html hackerspaceshop]
[http://www.hackerspaceshop.com/blinky/usblinky.html hackerspaceshop, buy one there]
 
[https://www.tindie.com/products/hackerspaceshop/usblinky/ also available on tindie]


[https://github.com/hackerspaceshop/usblinky github]
[https://github.com/hackerspaceshop/usblinky github]