Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


ILAMtitan last won the day on October 13 2014

ILAMtitan had the most liked content!

About ILAMtitan

  • Rank
    Level 1

Profile Information

  • Gender
  • Location
    Dallas, TX
  • Interests
    Electronics, Smart Grid, Electric Vehicles, Hacking, Motorcycles
  1. Came home to a new package at my apartment today. I was expecting some screws for another project I'm working on, but was surprised by a much bigger box. Inside was a surprising new alarm clock, which is actually a lot cooler than it sounds! Really jazzes up my workbench. I decided that Vader needed to hop on his ride. Just kidding, he's joined me in at his right full place by my side, on my nightstand. We'll see how long he stays intact before his power is extended. Thanks Cubeberg!
  2. @@RobG, that looks great! I'm absolutely picking up a kit for my cube here at TI.
  3. ILAMtitan


    It sure does perform as advertised. The new MSP430i20xx family is initially targeted for low cost embedded e-metering applications, and other industrial markets where high precision analog is a must. We already have a few TIDesigns posted regarding its usage: http://www.ti.com/tool/TIDM-SERVER-PWR-MON and http://www.ti.com/tool/TIDC-SMARTPLUG-WIFI In e-meter applications you must sample the voltage and current signals simultaneous, or else you will inject an artificial phase delay that has to be compensated in software. To accomplish this, all of our meteorology devices have multiple dedicated SD converters. Obviously you can use the high precision analog in other applications as well, but I'll leave that as an exercise for the reader.
  4. ILAMtitan


    That shouldn't be a problem. Our next meeting is Tuesday, so I'll make sure to bring my good camera and get some shots of the team.
  5. I've tossed around the idea of making an e-meter booster pack, but the Launchpads just don't have the proper analog to do the TI energy metering solutions justice. We did just release a new TIDesign for a branch cirucit monitor that can measure up to 7 current channels: http://www.ti.com/tool/TIDA-00222 That might be a decent starting point if you want to make one of these yourself. Hopefully it goes without saying though, mains voltage is super dangerous, and make sure you play it safe.
  6. ILAMtitan


    My apartment complex sent me a message that I had a new package delivery! Thanks USPS!! Luckily everything inside was intact. 30 RocketBadges from @@cubeberg! I'll be using these to teach some high school kids where I volunteer as a robotics mentor how to solder. Hopefully I'll be back later with photos from the lessons.
  7. Ya, I just looked up the WS2811 lib on the Stellaristi forum, and it's SPI based. Someone with more experience would have to make a new one for the CC3200 since the devices don't share a serial coms peripheral. It would be really cool to have WiFi controlled LED strips though. I might just have to get a CC3200LP and start working on this anyway.
  8. @@MORA99 - This lib is very MSP430 asm dependent. The CC3200 uses an M4, so there is no chance of a direct port. You might have some luck looking into a Tiva WS2811 library since it's the same core, but I doubt it would be a simple port. Once I get my hands on a CC3200 LP I'll probably try to make a compatible WS2811 library for it, or expand this one to work with it as well.
  9. That looks awesome. I would love to hang one in my cube here at work. (I already have a nixie clock at home) Something that you might consider is adding some blue led back lights to the tubes. I built one for my brother that had them and they look really slick.
  10. So, a few tests later, and I have a few things to report if anyone is going to try and make these. 1. The mechanical connections are critical. I wore them for a day, and by the end the LED strips were rather flaky. I need to go in an resolder some connections now. 2. The LED strips don't like the flex. One of them has a break in the DIO line that I had to track down and rebridge. 3. NiMh batteries are far superior to alkaline. Three Alkalines will dip below the dropout voltage of the LDO at around 60-70% life, while NIMhs will stay strong will close to 90%, with a bit extra capacity. I have a new board out to fab that will have support for an external LiPo with a proper boost converter to power the LEDs at 5V, and provide more robust connections. Once I get that put together, I'll do a night run for you @@bluehash. (Even though I'm not a runner, and the chucks aren't really running shoes).
  11. As I teased a little bit in another post, here's my latest project: GrownUp LA Gears! For those of us who were growing up in the mid 90s, LA Gears were the best thing you could strap to your feet. They had LEDs in the heal that would flash when you walked. I wasn't lucky enough to have a pair when I was a kid, so maybe this whole thing is just me living out a lost childhood fantasy..... Much like the WS2811 driver library this project is being used to demo, I also snagged the idea from AdaFruit: https://learn.adafruit.com/firewalker-led-sneakers/overview I recommend reading through the post, since they do a better job of explaining things than I will here. While their design is good, there are some improvements to be made. Mainly, there isn't an MSP430 in it. Hardware I didn't want to strap a launchpad to my shoe, so I deadbuged a 430 with the minimal requirements to run it. A small 3.3V LDO, pins broken out for input and programming, and a pullup on RST. I don't have pictures of the final build, but you get the idea. Once all the joints were made, they were encased in hot glue, the best strain-reliever and sealer known to man. For the shoe itself, the LEDs where mounted around the perimeter and glued in with RTV silicon adhesive (https://learn.adafruit.com/firewalker-led-sneakers/attach-neopixel-led-strip). I ended up drilling some holes in the battery case and sewing it to the side of the shoes. The Chucks worked well because they have handy vent holes on the sides to run wires through (they are also classy for every occasion). AdaFruit used a custom sensor made of velostat, a material which changes resistance when force is applied. If you connect the sensor between ground and an analog input, then turn on an internal pullup for that IO, you can essentially make a simple voltage divider. The problem here was that the velostat sensor I made went from 1kohm with no pressure, to 300 with pressure. This in series with the internal 40k of the MSP was just too small a range to detect well. I ended up using a force sensor from SparkFun that goes from 1Mohm down to 1kohm. It saturate at 10kg, but it works well. I may revisit the velostat for cost reasons, but I'm happy with this guy: https://www.sparkfun.com/products/9376 I ended up just gaff taping it down inside the heal. With LEDs on, and sensor in place, it just has to be wired up. Here's a quick block diagram and image of what it all looks like mounted. You can see that I left TEST and RST on there for programming. Software The main push behind these was that I had the modifications to Rickta59's WS2811 driver done, and needed a demo platform ( http://forum.43oh.com/topic/2882-energia-library-ws2811driver-led-controller-class/ ). Since that lib does the hard part, the rest of the Energia project is pretty easy, and hopefully well documented in line. #include <WS2811Driver.h> #define N_LEDS 44 // TOTAL number of LEDs in strip #define SHOE_LEN_LEDS 23 // Number of LEDs down ONE SIDE of shoe #define SHOE_LED_BACK 8 // Index of REAR-MOST LED on shoe #define STEP_PIN 2 // Analog input for footstep #define LED_PIN 3 // NeoPixel strip is connected here #define MAXSTEPS 3 // Process (up to) this many concurrent steps #define STEP_TRIGGER 30 #define STEP_HYSTERESIS 200 WS2811Driver strip = WS2811Driver(N_LEDS, LED_PIN, NEO_GRB); //Globals, becouse lazy boolean stepping = true; // If set, step was triggered, waiting to release uint8_t dup[SHOE_LEN_LEDS]; // Inside/outside copy indexes uint16_t Filtered; uint8_t step_order = 1; void setup() { //Enable internal pullup for analog sensor pinMode(STEP_PIN, INPUT_PULLUP); //Setup the array to index the two sides of the shoe memset(dup, 255, sizeof(dup)); int8_t a, b; for(a=1 , b=SHOE_LED_BACK-1 ; b>=0 dup[a++] = b--; for(a=SHOE_LEN_LEDS-2, b=SHOE_LED_BACK+SHOE_LEN_LEDS; b<N_LEDS;) dup[a--] = b++; //Start the LEDStrip strip.begin(); //Max desired drightness strip.setBrightness(255); } void loop() { //Wait until a step is detected while (stepping == false) { pinMode(STEP_PIN, INPUT_PULLUP); Filtered = analogRead(STEP_PIN); if(Filtered < STEP_TRIGGER) stepping = true; } //A step has been detected, so play the desired pattern //Pulse a different color each step and then fade out switch(step_order){ case 1: colorWipe(strip.Color(0, 0, 255), 5); // Blue step_order = 2; break; case 2: colorWipe(strip.Color(255, 0, 0), 5); // Red step_order = 3; break; case 3: colorWipe(strip.Color(0, 255, 0), 5); // Green step_order = 1; break; } for(uint16_t i=0; i<128; i++) { strip.setBrightness(255-(2*i)); strip.show(); } colorWipe(strip.Color(0, 0, 0), 1); // blank strip.setBrightness(255); //Restore brightness for next pass //Simple back to front color wipe /* colorWipe(strip.Color(128, 0, 10), 5); // Redish colorWipe(strip.Color(255, 255, 255), 5); // White colorWipe(strip.Color(0, 0, 0), 5); // blank */ //Holdoff until the foot has been lifted while (stepping == true) { pinMode(STEP_PIN, INPUT_PULLUP); Filtered = analogRead(STEP_PIN); if(Filtered > STEP_HYSTERESIS) stepping = false; } } // Fill the dots one after the other with a color void colorWipe(uint32_t c, uint8_t wait) { uint8_t j; for(uint16_t i=0; i<strip.numPixels(); i++) { strip.setPixelColor(i+SHOE_LED_BACK, c); // Pixels along inside are funny... j = dup[i]; if(j < 255) strip.setPixelColor(j, c); strip.show(); delay(wait); } } Final Product And here it is! I wore then to a friend of mines baby gender reveal party, and the three AAAs lasted all night. No idea what the actual battery life is yet, but I'll probably do a V2 with a LiPo system. The rainbow pattern is actually in the sample code I put with the library, I was just testing it here. The videos really show it off. Just ignore my messy living room. These are both out of the code I posted above, just comment out the different sections.
  12. I'm just standing on the shoulders of giant's here. There sadly aren't many photos of the shoes during the build process so far, but I'll probably still do a project post about them when they are done.
  13. Hey guys, I haven't been around much lately, but a recent project brought me back here and using this WS2811 library. I'm trying to enable more people to use the LaunchPad in some of my volunteer work (FIRST robotics) and flashing LEDs is a good eye catching way to do it. To help facilitate people who are already using Arduino and the venerable AdaFruit NeoPixels, I ported over almost all of her functionality to work in Energia. https://github.com/ILAMtitan/WS2811Driver With this, any project using the NeoPixel library will be near 100% compatible. I also took some time and worked out support for 25MHz on the 5529 LP (although it's a bit crude). My assembly knowledge is also only enough to get me so far. I haven't been able to work out the best way to enable PORT2 to be used since it's a #def in the assembly. If any of you guys can help work that out, it would be awesome. I know y'all are also really good at finding problems with code, so feel free to do some QA for me I've tested the timings up to 120 LEDs at 25MHz, but it might fail beyond that (I only had two strips to play with). And here's a little preview of the first project I'm working on with it:
  14. I was able to extract the cover from Garrett's STL file and extend it a bit to fit the TRF-7970 NFC BoosterPack. I added 6mm to it as you can see here: It should be able to fit with many other Boosters as well, but I haven't really tested it out. It sits only a few mm off of the Booster PCB so that the NFC tag is close to it. And here's the file for you guys to play with. 7970_5529Top.zip
  15. I'm very interested in getting the STLs. We just got a 3D printer in the MSP430 lab!
  • Create New...