Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Reputation Activity

  1. Like
    t0mpr1c3 reacted to RobG in [Group Buy-18][D] WS2812 SMD RGB LEDs with integrated driver chip   
    Why not redo PCBs and use 5x10cm boards with WS2812Bs. You should be able to get 2 sets of 5 PCBs which would cut the cost (Elecrow has a deal on 5x10) and would make them easier to assemble.
  2. Like
    t0mpr1c3 reacted to beef3k in 120 LED Ring Clock   
    Nice project! Been thinking about something similar myself.
    One tip regarding the LED's: the newer WS2812B has only 4 instead of 6 pins which means 240 less solder poinst for this clock. Other improvements (according to this post)
    simpler layout helps prevent shorts improved voltage drop improved thermal dissipation higher brightness I've found these in lots of 200 at AliExpress for $30 plus $20 shipping.
  3. Like
    t0mpr1c3 reacted to cubeberg in [Group Buy-18][D] WS2812 SMD RGB LEDs with integrated driver chip   
    What's the possibility of getting clock PCBs as well?  I'd be in for a set of the LEDs and PCBs if that's possible.  Bit of a soft-spot for clocks
  4. Like
    t0mpr1c3 reacted to xxx1 in [Group Buy-18][D] WS2812 SMD RGB LEDs with integrated driver chip   
    @@t0mpr1c3 Count me in.
    125 pcs +25 Extras if available.
    I'm OK with the new WS2812B.
    WS2812B vs WS2812 (http://www.rgb-123.com/files/WS2812B_VS_WS2812.pdf)
  5. Like
    t0mpr1c3 got a reaction from dpharris in [Group Buy-18][D] WS2812 SMD RGB LEDs with integrated driver chip   
    1900 WS2812Bs and 50 PCBs are on order. 1 set of 5 PCBs (to make 1 clock) are available, please sign up on this thread if you want them. Cost is $9.98. First come first served!
    As used in the LED ring clock in quantities of 120. It is a nuisance to buy 200 when you only want 120 plus a few spares. 4 lots of 125 = 500 LEDs which would cost around $85 shipped (surface) to me. 8 lots of 125 = 1000 LEDs which would cost around $165 shipped (surface) to me. 10 lots of 125 plus 50 extras = 1300 LEDs for $196.43 makes $18.89 per set of 125. After PayPal costs that's around $22 just under $20 per lot of 125 plus shipping from me (in USA) to wherever you are. Once we have enough people signed up I'll ask everyone to pay, and once everyone has paid I will order the LEDs.
    If people want WS2812B's instead we could do that instead, as long as we all agree. Shouldn't be too hard to fix the LED ring clock design to handle that. I will be ordering WS2812Bs. Greg has kindly redone the Gerbers to match with some advice from RobG.
    Post on this thread to sign up, I'll keep a list on this post. Let's try to deal in units of 125. If you would like extras please indicate in your post. If enough people want extras we might get to the target quicker. I can also order PCBs and distribute them, but it definitely won't be worth it for less than 50 boards and it might be a bit marginal even for that quantity. which should present some kind of saving, but I'm not sure how much. 40 5x10 boards from Elecrow shipped DHL cost 4 * $12.90 + $28.26 = $79.86, or just below $10 per set of boards.
    Member      | Qty | OK with WS2812B? | PCB sets | Address | Payment Rec'd | Shipped ----------- +-------+------------------+----------+----------+---------------+-------- pyrosster | 150 | Y | 1 | Spain | Yes | cubeberg | 150 | Y | 1 | USA | Yes | dpharris | 150 | Y | 1 | Canada | Yes | greeeg | 250 | WS2812B only | 2 | Aus | Yes | vicvelcro | 125 | Y | 0 | USA | Yes | Yes marsbase | 250 | Y | 2 | USA | Yes | enl | 125 | Y | 0 | USA | Yes | Yes GeekDoc | 150 | Y | 1 | USA | Yes | dubnet | 125 | Y | 1 | USA | Yes | t0mpr1c3   | 150 | Y | 1 | USA | ---
  6. Like
    t0mpr1c3 reacted to xxx1 in 120 LED Ring Clock   
    @@greeeg Very, very nice project.
    @@t0mpr1c3 count with me for a group buy!
  7. Like
    t0mpr1c3 reacted to greeeg in 120 LED Ring Clock   
    Hey, It's been along time since I've posted. but I've been keeping busy with uni and working on some cool projects for the last year.
    This is something I'd like to share with you guys, it's not finished yet but the hardware is more or less complete. It is an RGB LED ring clock.

    The clock is comprised of 2 rings of 60 LEDs each. the LEDs are WS2812 parts, which include a built-in driver.
    The PCB is one of the interesting parts of this clock. I designed the board in altium as a single 6 LED segment. and then left pads at each end to allow them to be soldered onto another segment.

    Using seeed's 10pcs PCB program I was able to create the full ring.
    Currently I am using a MSP-EXP430FR5739 board to drive it, using some very in-efficient assembly code that requires a 20MHz clock.
    I'd like to optimise the code to use an internal SPI module? or timer to bring that clock speed down.
    Hopefully also design a control segment with LEDs on one side that could replace one of the current segments in the ring.

    Edit: I've built up a simple controller based on the G2121. yes, 1kb Flash, 128b of RAM!
    I decided to test my asmebly skills and use naken430 the msp430 assembler. Here is my code
    I also added a ring of perspex to help difuse the LEDs
    Here is a video of the clock in action.
    edit: 06/03/14
    Version 2_02!
    Major differences:
    "double" so you need only 5 pcs to make a full ring, the pieces fit in 5x10cm Uses new 4 pin WS2812b parts
    PCBs arrived, been tested and is functional, but has some very small issues.
    Known Errata:
    Doesn't account for very small milling tolerance, means small gaps at joins No silkscreen for LED footprint, only shows orientation Edge connectors a few mm from the edge. Vias connecting to pour have star connections, should be direct connection Thin soldermask trace around OSHW logo is to thin 1 LED under OSHW logo isn't concentric with the rest of the LEDs (<1mm off)  
    There is also a special controller board in the mail, this will be tested and documented when it arrives.
    edit 2/06/13
    Please see this project for lot of photos and additional information about version 2_02
    Version 3!

    Boards have been designed, and I have some prototypes on the way. Designed mainly to upgrade the MSP430 used in the last design to a more capable one.  Boards arrived Some small errata found, pads to small for regulator, JTAG pins in wrong order. New board has been design to fix these issues. There is a tindie page where you can register any interest in buying.
  8. Like
    t0mpr1c3 reacted to roadrunner84 in 6pin connector for SpyBiWire+Serial?   
    If you consider using a 2.54mm pinout over the ez430 1.27mm, consider using a 2x3 layout that allows you to connect a crimp connector on a 6 wire ribbon cable.
  9. Like
    t0mpr1c3 got a reaction from roadrunner84 in UV/uranium glass wearable   
    Thanks for taking a look. I'll look out for a SOT23 LDO Vreg. Actually I have a reasonable amount of space, the main requirement is really low standing current. I am leaning towards using a diode for that reason alone.
    You are right about the voltage across the resistor changing with load. The LEDs will run on a low enough duty cycle that it can be compensated in software as is commonly done with multidigit segment displays. But I could probably squeeze in 2 or 4 resistors. I do think 8 would be slightly overkill.
    And there will still be code space for some kind of Easter Egg...  beeping "Happy Birthday" on reset if a buzzer is connected to a certain pin.
  10. Like
    t0mpr1c3 got a reaction from roadrunner84 in Contiki port for G2553 (no uIP)   
  11. Like
    t0mpr1c3 reacted to bluehash in Members will now be warned for incorrect post content format.   
    @@pjkim Thanks for your view. 
    Although downloaders have nothing to contribute, they are still using the service for free. Registering takes under 30 seconds. It is true only 2000 of the 20,000 members are active. Is it that bad to have a large user base? 
    This community runs on servers. Servers need money to run. Having a larger userbase allows me to get in advertisers. Also, this is not always cash. These advertisers either pay or give products for giveaways, which in turn attracts more people who can contribute and post content.  Plus there is cost of domains, licenses, design content, shipping giveaway prizes, sponsoring bossterpacks etc.
    Having them to register benefits the whole community.
  12. Like
    t0mpr1c3 got a reaction from Automate in Contiki port for G2553 (no uIP)   
  13. Like
    t0mpr1c3 reacted to bluehash in Contiki port for G2553 (no uIP)   
    Thanks! Asked him if he could do one for the FF29 LP with uIP. 
  14. Like
    t0mpr1c3 got a reaction from bluehash in Contiki port for G2553 (no uIP)   
  15. Like
    t0mpr1c3 got a reaction from spirilis in How to monitor heating system status: looking for ideas   
    The joys of knob and tube wiring: live wire over here, return wire who knows? Probably connected to a different breaker.
    And don't touch the insulation, it turns to cursed mummy dust.
    Power monitoring is another of those items to put down on my home automation... list? burden?
    Maybe project *is* the right word, since it will obviously never get finished.
  16. Like
    t0mpr1c3 got a reaction from dubnet in Furnace relay for home thermostat   
    So, I'm planning a home automation system based around wireless nodes (MSP430G2553 plus NRF24L01+ module). Part of the motivation for doing this is that the wires carrying 24VAC between the furnace in the basement and the thermostat 2 floors up have broken and it's a terrible pain to fish new wires in a 100 year old house with knob and tube wiring inside the walls.
    The PCBs for the nodes are on the way from Elecrow, giving me an opportunity to experiment with the radio modules and start on some other bits and pieces. Here is a simple relay box that will be used to switch the 24VAC line to the furnace contactor. It uses a double coil latching relay bought for some long-forgotten project and is powered by a 8.5 VAC doorbell transformer. The doorbell wires run conveniently adjacent to the furnace control lines in the basement.

    I made a hideous mess of soldering to the perfboard, having both omitted to breadboard the circuit and misread the relay datasheet. The saving grace was using 2x turned pin DIP8 sockets to mount the relay. These little project boxes from Rapid are very handy, but slightly too small for this job. They will be perfect for the wireless nodes though. I am hoping the aluminium lids will made great ground planes for the dipole aerials JPN told us about.

  17. Like
    t0mpr1c3 reacted to dubnet in eLua for Stellaris Launchpad   
    @@t0mpr1c3 , here is a page that goes through the setup process for the kit: http://wiki.eluaproject.net/TILM3S
    Documentation is here:  http://www.eluaproject.net/doc/v0.9/   Look under 'Reference Manual' -> 'Platform Modules' -> 'lm3s' -> 'disp'  for the commands pertaining to the OLED display. Use 1000000 for the frequency parameter.
  18. Like
    t0mpr1c3 got a reaction from shluzzzoid in [ ENDED ] Nov 2013 - Jan 2014 - 43oh Project of the Month Contest   
    The background to this project is that when we moved into our house 18 months ago the heat wouldn't turn on. It turned out that the wires connecting the thermostat in the 2nd floor hallway to the furnace in the basement were broken. I moved the thermostat into the basement and ever since we have been trying to guess the settings that will keep the rest of the house a stable and comfortable temperature.
    Those days are on the way out. In place of the old thermostat is a wireless thermometer based on my own "Magic Mote" MSP430G2553 sensor node with NRF24L01+ module. I am using aDHT22/AM2303 digital temperature and humidity sensor.

    Controlling the furnace is a 2-coil latching relay on a very ugly perfboard circuit powered by the doorbell transformer in the basement and governed by a second Magic Mote receiving the 2.4 GHz signals from the temperature sensor.

    I am satisfied with the hardware design. The only blemish I have  identified is that the TXD and RXD pin labels are reversed.

    Github repo: https://github.com/t0mpr1c3/magicmote
    This picture shows a populated board on a 2xAA battery pack with DS18B20 thermometer.

    The documentation of the firmware is a work in progress. Wireless communication uses
    the msprf24 library by Spirillis. The DHT22 is read using an interrupt driven routine by TheDZhon ported to C.
    Github repository: https://github.com/t...rnace-relay.git
    Blog post: http://smokedproject...d-wireless.html
  19. Like
    t0mpr1c3 reacted to spirilis in [ ENDED ] 43oh-Stellarisiti Nov 2013- Jan 2014 Project Of The Month   
    I would like to enter my Kitchen Roast Thermocouple Monitor project!
    This was a low-budget gift for my wife I put together in the last 3 days before christmas.  I chose the Stellaris LaunchPad simply because I had no firm plans for it, and I have two Tiva-C LaunchPads that succeed it.  The application itself would be much better fit for an MSP430 (and could be implemented with battery power too) but alas, it was a good test of my last-minute resourcefulness
    First, pics!
    We start with the TI Stellaris LaunchPad.

    Then home-etch a PCB using the laser toner-transfer process and ferric chloride, with some MG Liquid Tin for a nice tin protective coating:

    This board features the MAX31855 Thermocouple Amplifier chipset along with a Nordic nRF24L01+ PA+LNA board with external antenna.  The latter is used to report temperatures to my Linux server, which posts them on a webpage every 30 seconds so my wife can view the state of her roast remotely with her iPad.
    Then add @@bluehash 's first attempt at the Nokia 1202 BoosterPack, unfortunately the LCD on this board had its white backing removed (noob mistake I have not repeated since) so the LCD has a weird background effect to it-

      Stack them all together:

    I am not good with woodworking, but I made an exception here and worked hard with a circular saw and dremel out in my garage.  Used boiled linseed oil as a simple coating on the outside of the enclosure, milled out the holes with a drill & dremel...

    It could definitely use some strain relief for the cord, I'll probably wrap it around the bottom female headers of the Stellaris LaunchPad at some point:

    Anyway, my wife used it to make fudge and to make a rib roast for Christmas and it turned out perfectly!  This unit is expandable, meaning I can pop the top and replace/re-etch the boosterpacks as I see fit.  If she asks, I may implement more than one MAX31855 and possibly home-etch a Nokia 1202 boosterpack with pushbuttons with some implement to allow her to press them from the top wooden cover.
    Board files for the custom MAX31855+nRF24L01+ PCB: Thermocouple_BPak40_draft1.zip
    Nokia 1202 boosterpack from 43oh: http://forum.43oh.com/topic/3724-43oh-nokia-1202-lcd-display-boosterpack/
    Used Energia 11 for this one.  First off, 2 libraries:
    Nokia1202 - https://github.com/spirilis/Nokia1202
    Enrf24 - https://github.com/spirilis/Enrf24
    Nokia1202 requires 9-bit SPI, while I have an alternative Energia SPI lib for MSP430, I didn't have one for Stellaris/Tiva-C.
    It required one update.  Updated energia-0101E0011/hardware/lm4f/libraries/SPI/SPI.cpp and SPI.h files: SPI_lm4f_9bit.zip
    Energia sketch:
    #include <ste2007.h> #include <Nokia1202.h> #include <Enrf24.h> #include <nRF24L01.h> #include <SPI.h> struct MAX31855_DATUM { uint32_t rawData; int16_t tcDecimalC; int16_t tcC; int16_t tcF; int16_t ambDecimalC; int16_t ambC; int16_t ambF; uint8_t faultBits; }; void max31855_read(struct MAX31855_DATUM *); #define TC_CS PA_3 #define nRF24_CE PC_7 #define nRF24_CSN PE_0 #define nRF24_IRQ PD_6 #define LCD_BL PA_4 #define LCD_CS PA_5 #define LCD_RST PA_6 #define RADIO_CHANNEL 10 #define RADIO_ID 20 // 30-seconds between polls #define WAIT_TIME 30 const uint8_t radio_basestation[] = {0xDE, 0xAD, 0xBE, 0xEF, 0x01}; Nokia1202 lcd(LCD_CS); Enrf24 radio(nRF24_CE, nRF24_CSN, nRF24_IRQ); void setup() { // put your setup code here, to run once: //Serial.setBufferSize(512, 64); Serial.begin(115200); Serial.println("Init TC CS, SPI-"); pinMode(TC_CS, OUTPUT); digitalWrite(TC_CS, HIGH); SPI.begin(); SPI.setDataMode(SPI_MODE0); SPI.setBitOrder(1); radio.begin(250000, RADIO_CHANNEL); radio.setCRC(true, true); radio.setTXaddress(radio_basestation); radio.autoAck(false); // Manually reset LCD Serial.println("Resetting LCD-"); pinMode(LCD_BL, OUTPUT); digitalWrite(LCD_BL, HIGH); pinMode(LCD_RST, OUTPUT); digitalWrite(LCD_RST, LOW); delay(250); digitalWrite(LCD_RST, HIGH); Serial.println("Init LCD-"); lcd.begin(); // Cursor enabled, contrast at medium, tabstop=4 lcd.clear(); Serial.println("Writing splash screen-"); lcd.print("Kitchen Roast!\nTemp Reporter\n\n"); lcd.print("From Eric with\nLove \n\n"); lcd.print("Web address:\nsisko.lan/roast"); delay(2500); Serial.println("LCD splash screen delay complete-"); } void loop() { uint8_t nrfmsg[32], cursor = 0; struct MAX31855_DATUM tc; uint32_t lastupdate; Serial.println("max31855_read()-"); max31855_read(&tc); // Update display Serial.println("LCD update-"); lcd.clear(); lcd.println("Kitchen Roast!"); lcd.setCursor(0,2); lcd.print("Temp: "); lcd.print(tc.tcF); lcd.print('\x7f'); lcd.println("F"); lcd.print(" ("); lcd.print(tc.tcC); lcd.print('\x7f'); lcd.println("C)"); if (tc.faultBits) { lcd.setCursor(0, 7); if (tc.faultBits & 0x01) lcd.print("DISCON "); if (tc.faultBits & 0x06) lcd.print("SHORT "); } lcd.setCursor(0, 6); lcd.print("sisko.lan/roast"); Serial.println("nRF24 radio transmit-"); nrfmsg[0] = 0x10; // PROTO = THERMOCOUPLE UPDATE nrfmsg[1] = 0x06; nrfmsg[2] = RADIO_ID; nrfmsg[3] = tc.tcC & 0x00FF; nrfmsg[4] = tc.tcC >> 8; nrfmsg[5] = tc.ambC & 0x00FF; nrfmsg[6] = tc.ambC >> 8; nrfmsg[7] = tc.faultBits; radio.write(nrfmsg, 8); radio.flush(); Serial.print("Waiting "); Serial.print(WAIT_TIME); Serial.println(" seconds before next update-"); lastupdate = millis(); while ( (millis() - lastupdate) < 1000*WAIT_TIME ) { delay(1000); lcd.setCursor(15, cursor); cursor ^= 1; } } void max31855_read(struct MAX31855_DATUM *datum) { uint32_t tcread; int16_t tmp; digitalWrite(TC_CS, LOW); tcread = SPI.transfer(0) << 24; tcread |= SPI.transfer(0) << 16; tcread |= SPI.transfer(0) << 8; tcread |= SPI.transfer(0); digitalWrite(TC_CS, HIGH); datum->rawData = tcread; // Thermocouple temp, degrees C and F tmp = (tcread & 0xFFFC0000) >> 18; if (tmp & 0x2000) tmp |= 0xC000; // sign-extend // tmp = TC deg C decimal datum->tcDecimalC = tmp; datum->tcC = tmp / 4; datum->tcF = ((tmp * 9) / 5 + (32*4)) / 4; // Ambient temp, degrees C and F tmp = (tcread & 0x0000FFF0) >> 4; if (tmp & 0x0800) tmp |= 0xF000; // sign-extend // tmp = Amb deg C decimal datum->ambDecimalC = tmp; datum->ambC = tmp / 16; datum->ambF = ((tmp * 9) / 5 + (32*16)) / 16; // Fault information datum->faultBits = tcread & 0x00000007; }
  20. Like
    t0mpr1c3 got a reaction from spirilis in Furnace relay for home thermostat   
    Blog post: Furnace relay controlled by MSP430G2553/NRF24L01+ wireless nodes
  21. Like
    t0mpr1c3 got a reaction from bluehash in Wishing Everyone A Happy 2014!   
    You too B# and everyone on the forum. I enjoyed your company these past 12 months.
  22. Like
    t0mpr1c3 reacted to jpnorair in 300m Range RF PCB discussion   
    A member recently asked me a bunch of questions through private messaging.  I'm posting the dialog here in case anyone else is interested.
    there's nothing at 2.4 GHz that is going to give you more than 100m range.  The NRF24L01 is good for about 20m.  What are your requirements for power & long range?
    To communicate further than 300m, you need to worry about multipath.  Multipath is interference coming from the signal bouncing-off things.  The receiver sees copies of the same signal, and it can be difficult to decode.
    There are some ways to reduce multipath interference.
    1. Use lower frequency.
    2. Use a modulation that has redundancy, like wideband FSK.  Alternatively, use DSSS.
    3. Use lower data rate.
    I've never heard of anyone using MRF49XA.  You may want to try Semtech SX127x, which is indeed the device used by SigFox.  There are many, new, low power RF IC's coming out.  The ones most interesting are: Semtech SX127x, SiLabs Si4463, TI CC1200, and ST SPIRIT1.  All have slightly different advantages, although I use SPIRIT1 primarily. 
    You can probably forget about communicating faster than 50kbps, maybe 100 at most.  Higher data rate reduces range.  You can do some tests to figure out what works best for you -- multipath is your biggest problem, and it is nonlinear, so you might find that there is 10% packet loss at (for example) 50kbps and 90% packet loss at 60kbps.  You should just test and find out -- make sure to adjust digital RX filter bandwidth together with datarate!
    Yes, use an external dipole.  Monopole is OK too, but only if you know how to tune the design on your board.  So just use the dipole.
    Of those chips, use whichever chip is easiest for you.  Make sure to use wideband FSK (set Fdev larger than baud rate) with FEC enabled on CC1200 or SPIRIT1.  On SX127x, make sure to use a combination of spreading (DSSS) and FEC.  Without going into great detail, I will say that SPIRIT1 is the best chip to use if you are an expert.  It is like a race car that is extremely fast, but difficult to drive.  SX127x is like a fast car that is easy to drive, so I recommend it for you.  If you cannot achieve 300m with SX127x, then you are doing something very wrong .
    I think the only difference is that 1272 is for 862, 866 MHz bands only, and 1276 can use 169, 433, 862, 866.  1272 is probably cheaper.  For small volumes, 1276 is probably better, because you might want to try different bands.
    RX filter is a setting on the transceiver.  If your RX filter is narrower than the emission spectrum (known as power spectral density, PSD), you will not receive all the power of the signal.
    In systems with monopole antennas, it is important to have an uninterrupted ground layer.  It dipole systems, this is less important.  However, you also want a ground layer underneath the transceiver and front-end analog circuits.  For 866 MHz you will want the spacing to be no more than 0.8mm.  For 433 you can get away with 1.6mm.  You also want to sink a lot of vias between ground layers.  This prevents ground loops.
    Therefore, 2-layer is OK, but it is difficult to design a PCB that is good for RF with only 2-layers.
    Yes, 0.8mm PCB if you use only 2 layers, and you use 866 MHz.
    You should probably use 433 MHz, anyway, since range is important.  169 MHz would also be an option, although it is a new band so it can be difficult to find ready-made parts for it.  169 MHz on a dipole will go 300m easily!
  23. Like
    t0mpr1c3 got a reaction from spirilis in 12V MOSFET Cape   
    I got some of those MOSFETs at Tayda IIRC.
    Might be good to switch 12V brushless pumps for irrigation or brewing projects.
  24. Like
    t0mpr1c3 got a reaction from GastonP in Chronos and Fraunchpad on offer for the holidays!!!   
    If you needed an excuse to get a Fraunchpad...
    Cypress AN87352 describes the advantages of F-RAM
  25. Like
    t0mpr1c3 got a reaction from bluehash in Wireless Sensor Node with MSPG2553 and 8-pin NRF24L01+ module   
    It's a quality seal indicating that all the electricity in the device has been zapped out and the magic smoke pre-released to ensure 100% safety on site.
  • Create New...