Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by mtlevine0

  1. Got my PCBs in the mail. Thanks for the caps Rob really appreciate you including those!
  2. abecedarian ----- 2 modules ----- 2 boards ----- CONUS Tribes ---------- 2 modules ----- 2 boards ----- Germany Johan489----------2 modules ----- 2 boards ----- CONUS t0mpr1c3----------0 modules ----- 2 boards ----- CONUS Luke--------------2 modules ----- 2 boards ----- CONUS legailutin--------0 modules ----- 2 boards ----- CONUS Mtlevine0---------2 modules ----- 2 boards ----- CONUS
  3. Received my order a few days ago. I'm looking forward to messing around with these once I finish up my finals. Thanks for putting this group buy together Rob!
  4. I've played around for an hour or so in Eagle before. I haven't heard of DipTrace before. It looks like there is a limited freeware version of DipTrace available (very limited budget, so free is a requirement). This board is about as simple as it gets so the crappy autorouting shouldn't be too big of an issue?
  5. Got mine up and running a few days ago, figured I'd show it off here. When I first powered it on the tube displayed gibberish and the display driver was over heating. I found I had soldered the right angle headers on the wrong side of the tube PCB.. After fixing my mistake the clock works fine :thumbup:
  6. Member Name ------| Quantity | US only spirilis ---------| 50pcs AND 2m --- | GeekDoc ----------| 4m AND 2 boards| Philipp ----------| 2m | Intnl. | Rockets4Kids -----| 25pcs AND 8m | SugarAddict ------| 4m of 60/m | Mtlevine0---------| 1m of 60/m AND 50pcs AND 3 boards
  7. I have several of these case fans installed on my PC. Each fan uses four standard 5mm LEDs like the one pictured here. I'd like to replace each LED with an RGB LED controlled by a ws2801 ic. I plan to design a small PCB which would include the ws2801 controller along with a 5mm RGB LED. I would probably just control the whole thing with a Launchpad and use the USB to UART connect for communication with a visual basic or python app on the PC side. The board I'm planning would almost identical the Sparkfun ws2801 breakout, the only differences being the dimensions and LED type. This will be the first PCB I've ever designed so I'm hoping the 43oh community will be able to help me with some advice and hopefully double checking my work. The PC side app would allow for the user to select any color or animation. Another mode I'd like to implement would be a visual temperature monitor that would fade the LEDs from blue to red based on ambient or CPU temp. Phase One: Design PCB: Would you guys recommend I use Eagle PCB for this? Any tutorials you would recommend? I'll be doing this over the next few weeks or so depending on my class work load. Order PCB: I'm going to need 8 to 12 identical boards (depending on price breaks) for two to three fans. Whats the recommended budget PCB house around here, Itead/Dorkbot? Phase Two: Write embedded application: I'm thinking a MSP430g2553 should be fine, It's overkill really. Write PC side application: A GUI that runs in the background and hangs out on the task bar would be awesome for this. This will be another learning curve for me. That's all for now, let me know what you guys think. -Matt
  8. bluehash ------ 1 ----- [PAID] pbirkel --------- 2+ ---- [PAID] cubeberg ------ 2 ----- [PAID] Mtlevine0 ----- 2+
  9. Member Name------| Quantity | US only RobG------------ | 50pcs AND 2m GeekDoc----------| 50pcs AND 1m Rickta59---------| 1m <----------------------------------- REVISED oPossum----------| 35pcs Bluehash---------| 100pcs[50 for Store] SugarAddict------| 100pcs Cube-------------| 10-20pcs Touch------------| 25pcs Luke-------------| ? Bobnova----------| 1m Mtlevine---------| 25pcs AND 2m <------------------------- REVISED Revised my order from "50pcs OR 1m" to "25pcs AND 2m". Also revised Rickta59's order from "50pcs" to "1m" as he stated in his post above. -Matt
  10. I would be in for ordering 50 individuals, or a single strip if your still accepting orders.
  11. What GeekDoc said is fair. I didnt expect any kind of warranty with this kind of thing, stuff happens. I wouldn't mind just buying the parts myself directly from the distributor.
  12. Bluehash ------------ 2 viperspd--------------1 cubeberg-------------2 Mtlevine0------------2
  13. Bluehash ------------ 2 Rob ------------------ 2 Cubeberg------------ 5 SugarAddict--------- 5 GeekDoc------------- 2 NullColaShip---------3 [international] Ohagendorf----------2 [international] Corkypa--------------2 adrianF---------------2 speckone-------------2 newdendrite---------2 arashi----------------2 MakersWorkbench--2 TheFool--------------1 Mtlevine0------------2
  14. So have you tried the mod username? I've been looking into the mod, currently I'm debating if I should just spend the extra $50 for the 1102e. The two scopes actually have identical hardware, basically you just tell the 1052e that it is a 1102e through USB or RS232 and that enables the 100mHz bandwidth. Rigol has been trying to combat this with firmware upgrades on newly sold models but it doesn't seem like they have had much success (link to the EEVBlog forum discussion).
  15. Thats a good point Rob, the 3 year warranty the Rigol would come with is a big selling point for me.
  16. Thanks for the input I knew the 43OH community would provide some good insight. Some guys r/electronics are also advocating the Rigol scope. At the moment I'm looking at a Tek TDS320 and a Tek TDS360 on Ebay I'll take either if I can get the total with shipping to be less than $200. Also what do you guys think of the HP/Agilent Scopes? I've used the ones in like link below in all my EE labs so far. http://www.ebay.com/itm/HP-Agilent-5460 ... 3377477e2b
  17. I'm an EE undergrad and i've been wanting to purchase a scope for a while, I think I can finally afford a somewhat decent one for hobby use. I'm debating whether or not to get a used older model from a well known name brand such as Tektronix or if buying a new chinese model is worth any possible risk in quality etc. I have a price range of roughly $200 to $400 and I'm thinking 100 Mhz bandwidth is enough for any projects I'll be using it for. What do you guys suggest? Heres some that I've looked at (ebay links are just for reference): http://www.saelig.com/PSBE100/PSPC017.htm http://www.ebay.com/itm/TEKTRONIX-TDS-340-DIGITAL-2-CHANNEL-100MHz-OSCILLOSCOPE-/330726883754?pt=BI_Oscilloscopes&hash=item4d00dbc1aa#ht_1377wt_1141 http://www.ebay.com/itm/ATTEN-ADS1102CA ... 2803wt_955 http://www.ebay.com/itm/NEW-Rigol-DS110 ... 1135wt_955
  18. Hey I just got on of these powertip LCD's off Ebay. Not a whole lot of info out there on the LED backlight, how are you guys powering yours?
  19. Thats a nice little display! I'll have to pick one up when I have the money. I'd be interested in seeing the code.
  20. I could draw up a schematic but its so simple its probably not worth it. I use a 5v power supply to power the LED display. The display uses three pins connected directly to the Launchpad. The Launchpad UART over USB takes care of all the communication with the PC. Here is a link to the LED display used (a newer version): http://www.ebay.com/itm/3208-Green-LED- ... 3697wt_957 I just picked up a bluetooth wireless module that interfaces very nicely with the Launchpad. I'm just waiting for a USB bluetooth module to arrive in the mail so I can implement it in my final version of the project. I've noticed that the Python script crashes. Sometimes it will run for 12 hours without crashing sometimes 30 minutes. Anyone with experience using Python want to take a look at it? I'll post the error message I get when I get a chance.
  21. Here is the Python code I wrote to send Tweets to the MSP430. This is my first time using Python so this code may make some more experienced Python users cringe, Any input is appreciated. # # LED Twitter Ticker - This Python script fetches the latest tweet from a given twitter # account and sends its out via serial to the MSP430. Once the MSP430 # has finished displaying the tweet it requests that the script sends the # next tweet to be displayed. # # Jan, 2012 # By Matt Levine # # Special thanks to: # pySerial # http://pyserial.sourceforge.net/ # python-twitter # http://code.google.com/p/python-twitter/ # from time import sleep import twitter import serial port = 3 index = 0; api = twitter.Api() ser = serial.Serial(port-1) #user = api.GetUser("@LDisplay") user = api.GetUser("@_AthensOhio") oldStatus = twitter.Api() print ser.portstr ser.write(" \r") while True: if ser.read() == 'A': if index == 0: user = api.GetUser("@_AthensOhio") status = user.GetStatus() print status.GetText() ser.write(" " + status.GetText() + " \r") if index == 1: user = api.GetUser("@Ohiou") status = user.GetStatus() print status.GetText() ser.write(" " + status.GetText() + " \r") if index == 2: user = api.GetUser("@LDisplay") status = user.GetStatus() print status.GetText() ser.write(" " +status.GetText() + " \r") if index == 3: user = api.GetUser("@BreakingNews") status = user.GetStatus() print status.GetText() ser.write(" " +status.GetText() + " \r") if index == 4: user = api.GetUser("@Hackaday") status = user.GetStatus() print status.GetText() ser.write(" " +status.GetText() + " \r") index = -1 index +=1 #sleep(1)
  22. Here is the C code I wrote for the MSP430. Code is a bit messy and unorganized I plan on cleaning it up further and adding support for more LED display modules. Any input of the code is appreciated! /* * LED Twitter Ticker - A Python script running on my PC sends a tweet via serial to the MSP430 * and is scrolled across an 8x32 LED display. * * Jan, 2012 * By Matt Levine * * Special thanks to: * Bill Westfield: Code for communicating with the LED display * (http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1225239439) * Richard Prinz: 8x8 ROM PixelFont Editor * (http://www.min.at/prinz/software/pixelfont/) */ #include #include "ht1632.h" #include "8X8!FONT.h" #define X_MAX 31 #define Y_MAX 7 #define ASSERT(conditon) // do nothing #define ht1632_data BIT3 // Data pin (pin 7) #define ht1632_wrclk BIT4 // Write clock pin (pin 5) #define ht1632_cs BIT5 // Chip Select (1, 2, 3, or 4) #define HIGH 1 #define LOW 0 #define SCROLLDELAY 0 // delay in ms between pixel shifts #define LED BIT0 typedef char byte; void digitalWrite(unsigned char bit, unsigned char val); void delay(unsigned long ms); void ht1632_chipselect(byte chipno); void ht1632_chipfree(byte chipno); void ht1632_writebits(byte bits, byte firstbit); static void ht1632_sendcmd(byte command); static void ht1632_senddata(byte address, byte data); void plot(char x, char y, char val); void scan(void); byte ht1632_shadowram[64]; // our copy of the display's RAM (much faster then using onboard display ram) byte buffer[32]; byte length = 0; byte uartIndex = 0; char message[140]; byte t,j,i,x,y,temp; int main(void) { BCSCTL1 = CALBC1_16MHZ; // Setup basic clock for 16MHZ DCOCTL = CALDCO_16MHZ; // Set DCO to 16MHZ WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer P1DIR |= ht1632_cs + LED; P1OUT |= LED; digitalWrite(ht1632_cs, HIGH); /* unselect (active low) */ P1DIR |= ht1632_wrclk + ht1632_data; P1SEL = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD P1SEL2 = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD UCA0CTL1 |= UCSSEL_2; // SMCLK UCA0BR0 = 0x83; // 16MHz 9600 UCA0BR1 = 0x06; // 16MHz 9600 UCA0MCTL = UCBRS0; // Modulation UCBRSx = 1 UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine** IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt __bis_SR_register(GIE); ht1632_sendcmd(HT1632_CMD_SYSDIS); // Disable system ht1632_sendcmd(HT1632_CMD_COMS10); // 16*32, PMOS drivers ht1632_sendcmd(HT1632_CMD_MSTMD); // Master Mode ht1632_sendcmd(HT1632_CMD_SYSON); // System on ht1632_sendcmd(HT1632_CMD_LEDON); // LEDs on for (i=0; i<64; i++){ ht1632_senddata(i, 0); // clear the display! } for(i = 0; i < 32; i++){ buffer[i] = 0x00; // clear the buffer! } for(i = 0; i < 140; i++){ message[i] = 0x00; // clear the message! } while(1){ for(i = 0; i < length; i++){// message index for(t = 0; t < 8; t++){//8X8!FONT.h index //Write buffer to display for(x = 0; x < 32; x++){ for(y = 0; y < 8; y++){ plot(x,y,((buffer[x]>>y) & 0x01)); } } //Update buffer with scrolling for(j = 0; j < 32; j++){ temp = buffer[j+1]; buffer[j] = temp; } buffer[31] = font[message[i]][t]; delay(SCROLLDELAY); // delay in ms between pixel shift } } UCA0TXBUF = 'A'; // request next tweet while(UCA0STAT & UCBUSY); // wait until byte has been sent } } #pragma vector=USCIAB0RX_VECTOR __interrupt void USCI0RX_ISR(void) { P1OUT ^= LED; // show uart activity on Red LED while (!(IFG2&UCA0TXIFG)); message[uartIndex] = UCA0RXBUF; if(message[uartIndex] == 0x0D){ length = uartIndex; uartIndex = 0; i = 0; // reset message index? }else{ uartIndex++; // increment message index } } void digitalWrite(unsigned char bit, unsigned char val){ if(val){ P1OUT |= bit; }else{ P1OUT &= ~bit; } } void delay(unsigned long ms){ while (ms--){ __delay_cycles(16000); // 16mhz (1000 for 1mhz) } } /* * ht1632_writebits * Write bits (up to 8) to h1632 on pins ht1632_data, ht1632_wrclk * Chip is assumed to already be chip-selected * Bits are shifted out from MSB to LSB, with the first bit sent * being (bits & firstbit), shifted till firsbit is zero. */ void ht1632_chipselect(byte chipno) { digitalWrite(chipno, 0); } void ht1632_chipfree(byte chipno) { digitalWrite(chipno, 1); } void ht1632_writebits (byte bits, byte firstbit) { while (firstbit) { digitalWrite(ht1632_wrclk, LOW); if (bits & firstbit) { digitalWrite(ht1632_data, HIGH); __delay_cycles(130); //MSP430 @ 16mhz } else { digitalWrite(ht1632_data, LOW); __delay_cycles(130); //MSP430 @ 16mhz } digitalWrite(ht1632_wrclk, HIGH); firstbit >>= 1; __delay_cycles(65); //MSP430 @ 16mhz } } static void ht1632_sendcmd (byte command) { ht1632_chipselect(ht1632_cs); // Select chip ht1632_writebits(HT1632_ID_CMD, 1<<2); // send 3 bits of id: COMMMAND ht1632_writebits(command, 1<<7); // send the actual command ht1632_writebits(0, 1); /* one extra dont-care bit in commands. */ ht1632_chipfree(ht1632_cs); //done } static void ht1632_senddata (byte address, byte data) { ht1632_chipselect(ht1632_cs); // Select chip ht1632_writebits(HT1632_ID_WR, 1<<2); // send ID: WRITE to RAM ht1632_writebits(address, 1<<6); // Send address ht1632_writebits(data, 1<<3); // send 4 bits of data ht1632_chipfree(ht1632_cs); // done } /* * plot a point on the display, with the upper left hand corner * being (0,0), and the lower right hand corner being (23, 15). * Note that Y increases going "downward" in contrast with most * mathematical coordiate systems, but in common with many displays * No error checking; bad things may happen if arguments are out of * bounds! (The ASSERTS compile to nothing by default */ void plot (char x, char y, char val) { char addr, bitval; ASSERT(x >= 0); ASSERT(x <= X_MAX); ASSERT(y >= 0); ASSERT(y <= y_MAX); /* * The 4 bits in a single memory word go DOWN, with the LSB * (last transmitted) bit being on top. However, writebits() * sends the LSB first, so we have to do a sort of bit-reversal * somewhere. Here, this is done by shifting the single bit in * the opposite direction from what you might expect. */ bitval = 8>>(y&3); // compute which bit will need set addr = (x<<1) + (y>>2); // compute which memory word this is in if (val) { // Modify the shadow memory ht1632_shadowram[addr] |= bitval; } else { ht1632_shadowram[addr] &= ~bitval; } // Now copy the new memory value to the display ht1632_senddata(addr, ht1632_shadowram[addr]); }
  23. I've been working on a project using the launchpad with the msp430g2553 interfaced to a LED display. A Python script running on my PC fetches the most recent tweet of a specific twitter user and sends it to the launchpad via serial. Being my first time ever using Python I was impressed to find how easy it was to implement this. I plan on adding an unread email counter and weather ticker to the script in the future. Heres a quick video of it in action: http://www.youtube.com/watch?v=IDIMfBfikjU I tweeted "Hello 43oh.com" from my twitter account and of course twitter shortened it with their url shortener. Couldn't find an option to turn that feature off. Edit: I was able to get my hands on a nicer camera, so I replaced the video with a nicer looking one.
  24. I'd be interested in buying an RGB kit without the LED's. I checked your ebay and it seems you only had one for sale and its been sold already.
  • Create New...