-
Revision 3.1 - updates
08/29/2018 at 20:39 • 4 commentsI'm nearly through my stock of Rev3 boards and close to another order. There was an issue with the LEDs glowing a bit when the battery was fresh. Two red LEDs in series on a fresh batterie just wasn't enough of a voltage drop. So I sat down and added 4 more 0805 resistors and rewired it completely. Now it should definitely not glow dimly in a "supposed to be off" state.
old version new version The SAO connector was moved to the bottom center, but I was too lazy to redo the OSHpark upload - png download cycle again.
-
that shitty add on standard
06/30/2018 at 15:56 • 0 commentsI've added a little smd / smt 2x2 header to the badge for future boards, kinda liked the idea to power boards over that instead. Just don't solder the battery holder and the clip and everything should fit.
-
0603 revision of the code
02/02/2018 at 20:04 • 5 commentsRecently on twitter Jon Raymond asked about a firmware update for the older versions of the badge. My hesitation was big until this point, since I thought the charlie-plexing would take up too much space alone, to integrate animations like I did with the newer 0805 version of this badge. As you can see here, I've logged a bit about the progress over on twitter https://twitter.com/davedarko/status/959491261903310848.
I was able to put 7 animations onto the badge! If you want to try out some other animations on the push of a button, you now can!
- added 7 animations, cycling through on push of a button
- removed digitalWrite and pinMode functions and replaced them with setting appropriate registers
- converted every int to 8bit / 16bit unsigned integers where I could
Download the hex - file from the download section and upload it to the attiny via:
#!/bin/bash avrdude -c usbasp -p t13 -U lfuse:w:0x3A:m -U hfuse:w:0xFF:m -B 2000 avrdude -c usbasp -p t13 -U flash:w:KITTiny.ino_attiny13_9600000L.hex
You need to solder a button between the PB4 Pad and GND and find a good spot to glue it down. Have fun :)
slow chaserfast chaser
K.I.T.T. persistance of vision (I'm really bad at this)
cross fader
cross fader beam
police flasher
computing (counting up in binary)
-
0805 are coming to tindie in 2018
12/29/2017 at 21:03 • 0 commentsalso, new firmware :) I've somehow managed to add 5 animations and a switch button to toggle between them! all still fits into the attiny13a.
-
added 0603 kits to tindie
11/30/2017 at 20:00 • 0 commentswhat the title says ;) https://www.tindie.com/products/davedarko/kitt-knight-rider-blinky-led-badge/
-
Sunday is fun day :)
11/19/2017 at 12:54 • 0 commentshad some fun with my cell phone, a ukulele and a soldered badge in the wild :)
-
Knight Rider sweat shop
11/18/2017 at 13:39 • 2 commentsOh help me Michael Knight! So this started yesterday and I just finished a box of 20 "badges" (gotta be careful around here what to call badge and what not). Some conclusions for the next badge, if I ever tend to be so crazy:
- only do ten at a time
- change footprint to 0805
- there's a spare pin that could run through some modes (fast, slow, pov)
- Change to two leds per pins
I stole the idea of processing from tymkrs.com where they put together 10 badges at a time with the help of a lazy Susan. Pretty cool idea and it worked great (unless I forgot I can rotate the assembly line).
So 7 hours of production and I was able to take this picture:
Now I'm off to @Tindie and see that I can put up a store etc. I don't have 0603 resistors for kits yet, once they're here I will put up kits as well. Any tindie tips?
-
code for arduino
10/01/2017 at 21:05 • 0 comments/* Based on https://github.com/maltesemanTS1/Charlieplexing-the-Arduino http://arduino.cc/en/Tutorial/BitMask */ const int LED_1 = 0; //LED row 1 const int LED_2 = 1; //LED row 2 const int LED_3 = 2; //LED row 3 const int LED_4 = 3; //LED row 3 #define PRADC 0 #define PRR _SFR_IO8(0x25) void setup() { // not sure anymore, attiny13? // PRR |= (uint8_t)(1 << PRADC); // not sure anymore, attiny45? // ADCSRA &= ~(1<<ADEN); // disable adc } void loop() { for (int i = 0; i < 8; i++) { charlie(i); delay(50); } for (int i = 0; i < 8; i++) { charlie(7-i); delay(50); } charlie(-1); delay(1000); } void charlie (int var) { pinMode(LED_1, INPUT); digitalWrite(LED_1, LOW); pinMode(LED_2, INPUT); digitalWrite(LED_2, LOW); pinMode(LED_3, INPUT); digitalWrite(LED_3, LOW); pinMode(LED_4, INPUT); digitalWrite(LED_4, LOW); switch (var) { case 0: pinMode(LED_1, OUTPUT); digitalWrite(LED_1, HIGH); pinMode(LED_2, OUTPUT); digitalWrite(LED_2, LOW); break; case 1: pinMode(LED_1, OUTPUT); digitalWrite(LED_1, LOW); pinMode(LED_2, OUTPUT); digitalWrite(LED_2, HIGH); break; case 2: pinMode(LED_2, OUTPUT); digitalWrite(LED_2, HIGH); pinMode(LED_3, OUTPUT); digitalWrite(LED_3, LOW); break; case 3: pinMode(LED_2, OUTPUT); digitalWrite(LED_2, LOW); pinMode(LED_3, OUTPUT); digitalWrite(LED_3, HIGH); break; case 4: pinMode(LED_3, OUTPUT); digitalWrite(LED_3, HIGH); pinMode(LED_4, OUTPUT); digitalWrite(LED_4, LOW); break; case 5: pinMode(LED_3, OUTPUT); digitalWrite(LED_3, LOW); pinMode(LED_4, OUTPUT); digitalWrite(LED_4, HIGH); break; case 6: pinMode(LED_1, OUTPUT); digitalWrite(LED_1, HIGH); pinMode(LED_4, OUTPUT); digitalWrite(LED_4, LOW); break; case 7: pinMode(LED_1, OUTPUT); digitalWrite(LED_1, LOW); pinMode(LED_4, OUTPUT); digitalWrite(LED_4, HIGH); break; default: ; } }
-
someone got lucky today
09/01/2017 at 14:35 • 6 commentsSo guess how many boards I got in my 10+ proto order at dirtypcbs? 40 pcbs! I have to stock up all the parts now :D
-
already had to sell the first assembled one
08/10/2017 at 20:23 • 0 commentsAnd for the money I've bought some more boards, this time black pcbs from dirtypcbs.com though - sorry to every other vendor, but please add eagle brd file support :D Anyway, I wanted to have some black K.I.T.T.s with red LEDs as well.