Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Reputation Activity

  1. Like
    GeekDoc reacted to Fred in Printing PCB, the end of bread board   
    @@rockets4kids If you think of it a research into something that might one day prove useful then it's great. It's when it gets all Kickstartery and people expect a useful product now that it's ridiculous.
  2. Like
    GeekDoc reacted to rockets4kids in Printing PCB, the end of bread board   
    I completely fail to see the interest in any of these conductive inks.  The resistance is so high that they are practically useless, and the issue of joining parts to the ink is greater than any advantage to be gained, even at  much lower resistance levels.  Nevermind the absurd price.
    In many ways, the "popularity" of conductive ink is representative of everything I loathe in the maker community -- An expensive and proprietary solution for a problem that simply doesn't exist.
  3. Like
    GeekDoc reacted to grahamf72 in 3.3 PWM to 0-5v   
    I know this thread has shifted a little away from the original question, but attached are the 2 basic bipolar transistor circuits for switching loads that require a higher a higher voltage than the microprocessor can deliver. The one on the left is used if you are able to do your switching in the ground wire of the load, as would be typical for most cases where you are driving an LED, speaker etc. The example on the right is used where you have to switch the power line - eg common earthed lamps or relays in a car.  If your load consists of LED's be certain to put appropriate current limiting resistors in.  
    The resistor values and transistor values would need to be calculated based on the necessary current, and the hFE of the transistors. If switching high current loads, you would probably need to use a darlington transistor pair as the driver, instead of the single transistor as shown, so as to keep base currents down to values acceptable for the MSP430.  Let me know if you want me to work some examples of how to choose appropriate values for resistors & transistors.

    How they work
    The example on the left is just the classic open-collector transistor amplifier. When the MSP430 pin goes high, current travels through the base-emitter junction of the transistor, allowing current to flow through the collector-emitter. 
    The example on the right is a little more complicated. We can't just drive the load in the emitter line of an NPN transistor, because the emitter voltage is always less than the base voltage - so regardless of the supply voltage with a 3.6v supply to the MSP430, the transistor would only allow 3V at it's emitter. We also can't just use an open-collector PNP transistor, because the MSP430 wouldn't be able to turn it off.  The MSP430 output can only drive to it's supply voltage. So if the supply voltage was 5V, having 3.6V at the base of the transistor would still allow current to flow and the transistor would still be turned on. So we need the two transistors. The MSP430 can switch the NPN fully off. With no current flowing through the NPN's Collector-Emitter, no current also flows through the PNP's Emitter-Base junction, so the PNP turns fully off. When the MSP430 goes high, the NPN turns on, allowing current to flow through the PNP's Emitter-Base junction, also turning it on and allowing current to flow to the load.  
    Another advantage of both of these circuits is that they don't require inverted logic. The load is turned on whenever the MSP430 pin is high.
  4. Like
    GeekDoc reacted to amstan in Noritake capacitive touch keypad sample offer   
    Yeah, same.
    I have too many things i don't have a purpose for.
  5. Like
    GeekDoc reacted to dubnet in Ease into RF with 60% off of the eZ430-RF2500-SEH   
    Looks like a pretty cool package.  But I really need to stop buying development kits.  I have finally come to the conclusion that they can put these things out way faster than I can possibly utilize them.
  6. Like
    GeekDoc reacted to xxx1 in [Group Buy-18][D] WS2812 SMD RGB LEDs with integrated driver chip   
    Finally, I finished soldering those leds and I'm very happy with the result.
    Given that I have not had much free time.
    @@greeeg the boards are really nice.
    @@cubeberg I like your printed cover.

  7. Like
    GeekDoc reacted to cubeberg in [Group Buy-18][D] WS2812 SMD RGB LEDs with integrated driver chip   
    Had a chance to work on mine on saturday night.  One segment down, four more to go 
    I did manage to design and print a cover that assembles in 5 pieces.  It needs some work - the connectors have to be forced together - so much so that I broke one piece and cracked another.  So that part is a WIP.

  8. Like
    GeekDoc reacted to greeeg in 120 LED Ring Clock   
    I didn't think too much about the LEDs. I don't mind about the sensitivity, If each of the sensors is just a binary value that would work fine.
    I have been using the TI cap touch libs on a homemade PCB and it seems very robust.
    If the sensors dont work I could try implementing something with the accelorometer, it supports tap interrupts.
  9. Like
    GeekDoc reacted to greeeg in 120 LED Ring Clock   
    Sorry about the delay. but I finally started working on a controller design for anyone intrested.
    I wanted to make use of the valueline MSP's oscpin/captouch features. I've designed with capacitive buttons on the top of PCBs before, but due to the limited space I thought something diffrent was in order.
    The sensors themselves are small arc sections around the outer edge of the board. Each pad has ~3 vias also. This design should hopefully allow for a reasonable (probably coarse) slider.
    But in all honesty it might not work at all. I shall post results when the board comes.
    The MSP used is the 28 pin MSP430G2553.
    The circuit also features an accelerometer, LDO, and level shifter to drive the LEDs at 5v (just to be safe)

    Close up of top. LEDs and capacitor placement on top layer are identical.

  10. Like
    GeekDoc reacted to simpleavr in M-Clock build, M for Minimalist, Multi-mode or Matrix   
    Minimalist Multi-mode Matrix Clock

    This is a multi-mode clock project based on the msp430g2432. It can be assembled with minimal parts. With limited 8x8 pixels display resolution, this 12 hour clock shows time in 6 different modes. This project is based on a older attiny 2313 project I did a few years ago.
    HHMM mode, typical hours plus minutes scrolling digits with colon separator.

    Seconds mode, shows only seconds.

    Tix mode (shown below), led matrix is divided into quadrant, the upper quadrants shows the hour in bcd (binary coded decimal) values. they are represented by the number of dots to indicate the digits. the lower quadrants show the minute in bcd. i.e. for 5:34 it shows no dot + 5 dots on the upper half and 3 dots + 4 dots on the lower half.

    Dice mode (shown below), the led matrix is divided into two set of 'dices'. with the upper pair showing hour from 1 - 12, the lower pair of dice shows minutes in 5 minute increments. i.e. for 5:35 it shows dice value upper 5 + lower 7 (5 hour, 7 x 5 min).

    Binary (really it's bcd, or binary coded decimal) mode, (shown below) the hour, minute and second digits are show as binary dot on different columns in the led matrix. the columns 0 and 1 (from left) represents the hour digits, column 2 is blanked, columns 3 and 4 represent the minute digits, colum 5 is blanked, columns 6 and 7 represents the second digits.

    The circuit employs row and column multiplexing to drive the leds, one row at a time, this gives a 12.5% duty cycle when "sets" of leds (8 of them in each of the 8 rows) are turn on briefly. current limiting resistors are eliminated to save breadboard estate and as we are not constantly driving individual leds, they are not going to be damaged.
    The control (user interface) is also arranged so that we only use one tactile button for input. the firmware capture long button presses (press and hold) for menu rotation and normal button presses for menu selection.
    By migrating this project from an AVR mcu to a msp430 mcu I had made it possible to keep time a lot more accurately. During display (i.e. led on) the project runs at 1Mhz DCO. The msp430 mcu has factory calibrated clock values. When not displaying, this project enters a LPM3 (low-power mode 3) to conserve power. At LPM3 the DCO clock cannot be used and the project switches to use a 32Khz crystal based AClk to keep time.
    Minimal component count, 4 parts.
    Battery operated from 3V to 3.6V.
    Use of watchdog timer to keep time, power-down sleep mode (LPM3) takes uA power.
    32Khz crystal to keep accurate time when sleep.
    Runs 1Mhz DCO calibrated clock when active (displaying time).
    This is a 12H clock, not 24H and has no AM/PM indicator.
    Easter egg application.
    Parts list
    msp430g2432 (or other G series dip 20pin devices w/ 4k+ flash)
    8x8 LED matrix display (red only, this is a 3V project)
    tactile button
    32Khz clock crystal
    2x LR44 button cell or 3V-3.6V other battery source

    Application Notes
    Short key press in display mode cycles through HHMM, seconds, tix, dice, binary and sleep modes.
    Long press enters setup mode, subsequent long press rotates thru menu.
    Menu items cycles thru 'Set Clock', 'Dimmer', 'Auto-off'.
    In 'Set Clock' setup mode, short presses increment digit values (hours, minutes) and long press confirms.
    In 'Dimmer' setup mode, short presses cycles through available brightness levels, long press confirms setting.
    In 'Auto-off' setup mode, short presses toggle the auto-off on and off. With auto-off turned on, the clock displays time for 15 seconds and turn itself into LPM3 sleep mode to converse power. With auto-off turned off, display is on continuously.
    When in sleep mode, MCU goes in power down mode, consuming less than 30uA of power, 32Khz crystal w/ watchdog timer is used to keep time. A pin interrupt is enabled to allow for wake up via tactile button. In this mode the main clock is disabled to conserve power.
    Led segment multiplexing includes time delays to compensate for brightness differences for individual rows.
    Breadboard Layout
    the 8x8 led matrix has dot size of 1.9mm and is of common cathode, if you have common anode type, you can change a few lines in the code for adoption. see the following diagram and see if you have the right pin-outs. it appears they are quite common and if you purchase via ebay most suppliers have the same pin-out even if the model number is different.

       |  .  .  +-------------------(1)------------(1) .  .  |
       |  .  .  |  .  .  .  o||o (2)------------------+.  .  | (crystal)
       |  .  ./ |  .  . \.  +--+--+--+--+--+--+--+  . |.  .  |
       |  . (+) |  .  .  o C7 C6 R1 C0 R3 C5 C3 R0  . |.  .  | (2xLR44 cell)
       |  .  .\ |  .  . /.  |    b2 b3           |  . |.  .  |
       |  . (+) |        +--+--+--+--+--+--+--+--+--+ |.  .  |
       |     |  |       |G b6 b7  T  R a7 a6 b5 b4 b3||      |
       |     |  |       |                            ||      | (msp430 mcu)
       |     |  |       |+ a0 a1 a2 a3 a4 a5 b0 b1 b2||      |
       |  .  | (1) .  . .+--+--+--+--+--+--+--+--+--+ |.  .  |
       |  .  +----------(+) +--+--+--+--+--+--+--+ (2)+.  .  | (8x8 red led matrix)
       |  .  .  .  .  .  .  R4 R6 C1 C2 R7 C4 R5 R2 .  .  .  |
       |  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  |
       |  .  . (1)-[  ]-(+) .  .  .  .  .  .  .  .  .  .  .  | (tactile button)
       |  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  |

       *note: all (1)s, (2)s and (+) points are electrically connected


              --------------|RESET            |
              | ------------|TEST             |
              | |           |                 |
              | |   ROW5 <--|P2.0         P1.0|--> ROW4 (of LED Matrix)
     /|\      | |   ROW2 <--|P2.1         P1.1|--> ROW6
      |  _|_  | --- ROW1 <--|P2.2         P1.2|--> COL1
      --o   o------ COL0 <--|P2.3         P1.3|--> COL2
        Button      ROW0 <--|P2.4         P1.4|--> ROW7
                    COL3 <--|P2.5         P1.5|--> COL4
          32Khz /-- COL7 <--|P2.6(XIN)    P1.6|--> COL5
        Crystal \-- COL6 <--|P2.7(XOUT)   P1.7|--> ROW3
                            |                 |

    Follow breadboard layout and place two jumper wires on mini breadboard
    Place msp430g2432 mcu
    Place 32Khz crystal
    Place Tactile Button
    Place power source (I am using 2xLR44 w/ magnets as holders)
    Finally place 8x8 led matrix on top of msp430g2432
    /EDIT match clock mode description w/ photos, current build is on G2432, G2452,G2553, etc will also work.
  11. Like
    GeekDoc reacted to enl in Photodiode as proximity sensor   
    Excellent. that will do the job. Better linearity will come with constant potential across the photodiode. You can do this in your configuration using a PNP transistor, with the photodiode to ground, Or by putting the current-to-voltage conversion resistor on the collector of the NPN transistor and grounding the emmitter. Not worth it if what you have is doing the job.
  12. Like
    GeekDoc reacted to enl in Photodiode as proximity sensor   
    Vr is the reverse potential applied during the test. To classify the photodiode, a constant reverse voltage is applied, the light is varied, and the photocurrent is measured.
    I will suggest that you do NOT use 5V. Use your microcontroller supply This will protect the microcontroller from overvoltage on the input.
    I think that your problem is more likely the resistor you are using to convert current to potential, and the low output of photodiodes. The max classified current is less than 100 microamps. With your resistor, this will give 1V. This is at approximately 1mW/cm^2. This is a pretty high intensity. At high noon on a bright day in the desert, the intensity of solar flux is of the order 1000W/m^2, which is 100mW/cm^2. I would guess that you are working at intensity much, much less than that. Typical bright interior lighting is about 1/100th of that, and reflected light from even a bright IR LED will be much lower yet. At 100microamps, you would see 1V across your resistor. You are likely several factors of ten less. Photodiodes are generally used when high linearity and sensitivity are needed, such as in precision measurement, or high speed is required, such as high speed optical communication. Other devices are usually used for low precision/low speed  tasks like proximity.
    Typically, with a photodiode, you need to amplify the output. Several techniques are common, including using the photocurrent to drive the base of a transistor, using an op-amp circuit designed for photodiode amplification (not complicated, but needs to be right to get good performance), or using an op-amp circuit that keeps the photodiode operating in photovoltage mode.
    For your application, I would use a phototransistor, which can be described as a transistor where the base-emmitter junction acts as a photodiode. Cheap, high output, easy.
    Or, go to an amplified sensor like the OPT101 or similar (there are a lot of options. This is just what came to mind first)
    Edit: fixed intensity value and spelling
  13. Like
    GeekDoc reacted to mochouinard in HD44780 LCD Library (16x2 and other models)   
    This is my attempt for a basic library to control an 16x2 or more LCD display using 6 PIN and controling the hd44780 in 4bit mode.
    Main .c: http://dl.dropbox.com/u/13477186/MSP430 ... _example.c
    Library .h: http://dl.dropbox.com/u/13477186/MSP430 ... _hd44780.h
    Library .c: http://dl.dropbox.com/u/13477186/MSP430 ... _hd44780.c
    Makefile : http://dl.dropbox.com/u/13477186/MSP430 ... 0/Makefile
    It working great for my needs so far. Work on my 4 line display too..
    My next step will be to make this library support the use of an 595 for 3 pin operation. I would also like some way to allow multiple display... But it seem doing this will require using more memory, and I'm trying to stay away from that.
    I'll would love some constructive feedback...
    UPDATE 22h34 4 feb 12: I've lowered the footprint from 800byte to 440 byte for the demo program using compiler optimization and code change.
  14. Like
    GeekDoc reacted to nuetron in HD44780 LCD Library (16x2 and other models)   
    Ah, I missed a line. Here is the corrected version of that command in context with this program:
    rs ? (P1OUT |= RS) : (P1OUT &= ~RS); Thanks for catching that. I'll fix it so other people don't stumble on it.
    There had been several programs I was working with at the time, jumping from program to program that used almost the same functions. In one of those programs, I used a char variable as an 8-bit compact set of bool variables. A char and a bool use the same amount of ram (8 bits), but a bool is used for the least significant bit, and the rest are truncated. I had several global bools, but little ram. So I used a char to hold 8 bools, and I toggled the bit I needed, and read that bit when required, then determined whether it was true or false.
    I could even use that 8 bits as 4 bools and a 4-bit counter. There are all kinds of ways to compress things.
  15. Like
    GeekDoc reacted to ILAMtitan in 3D printed G2LP and 5529LP bumpers/cases   
    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
  16. Like
    GeekDoc reacted to t0mpr1c3 in [Group Buy-18][D] WS2812 SMD RGB LEDs with integrated driver chip   
    Ends today, supposedly.
  17. Like
    GeekDoc reacted to grahamf72 in Connect servo motor with msp430   
    Please don't take this the wrong way, but if you are asking for guidance as to which transistors to use with a 0.8A motor, it doesn't sound like you are confident designing with discrete components, so I'd recommend you use the simpler approach of a H-Bridge IC such as the L293.
    Designing a traditional H-Bridge with transistors is fairly straightforward, however in this case where you are using a 12V motor switched by a 3.3V microcontroller, it does complicate things a little, and requires at least 2 extra transistors to drive the top of the bridge. Depending on the current gains of your power transistors you may also need another 2 transistors to deliver adequate gain to the bottom of your bridge, and by now you are probably in a similar price bracket to an L293 anyway.  
    The only difficulty with an L293 is that it needs a 5V power supply. It is quite happy to accept the MSP430's 3.3V logic though, so you don't have to worry about level shifting.
  18. Like
    GeekDoc reacted to pjkim in Connect servo motor with msp430   
    Captain pedantic here.
    1) The link you provide is a regular motor, not a servo motor -- continuous rotation, no positional feedback. Your choice of driver will depend on how much current. The no load current of your motor is rather low so can be done with a "jelly bean" transistor but the stall current is 0.5 A. If you be driving your motors with this much current, need a power transistor. Your motor drive circuit will also depend on whether you want one directional rotation or bidirectional-- single transistor (or Darlington) or H bridge. Don't forget the flyback diodes to protect your transistors.
    2) True servo motors use a rotary encoder to provide positional feedback which is then used to position the motor. You need a dedicated servo motor driver to use one of these. Rather expensive but have great torque. Continuous rotation.
    3) Hobby servos (very different from true servo motors) take a pulse width modulated signal and turns through a range of ~180 degrees. They can be modified for continuous rotation. Inexpensive, not bad performance, easy to interface to micro controllers.
  19. Like
    GeekDoc reacted to RobG in [Group Buy-18][D] WS2812 SMD RGB LEDs with integrated driver chip   
    See their blog:
    "Our local logistics will be closed at Jan.25, 2 days before that we planned. Your Orders after Jan.20 will be shipped after the Spring Holiday."
    That means they probably didn't do anything since Jan 20th.
  20. Like
    GeekDoc reacted to t0mpr1c3 in 120 LED Ring Clock   
    Here's an in depth look at timing for WS2812/WS2812B signals from today's Hackaday. Claims that you can control them using an 8 bit AVR at 4 MHz. 
  21. Like
    GeekDoc reacted to Fred in Giveaways are fun, only...   
    If TI can donate some CCS licenses then I agree it's a great prize. They're theoretically quite expensive, but if they're giving it to a hobbyist who couldn't ever justify paying that then they've not lost a sale so it's not really costing them anything.
    I got my CCS license bundled with a Piccolo control stick a while ago. I haven't hear of any of those sort of deals recently.
  22. Like
    GeekDoc reacted to cubeberg in Giveaways are fun, only...   
    @@bluehash - a CCS license would be a hell of a prize
  23. Like
    GeekDoc reacted to t0mpr1c3 in Giveaways are fun, only...   
    Free PCBs is a nice way to share.
  24. Like
    GeekDoc reacted to yosh in PCB Give Away   
    @@reaper7 Good to hear :-)
    I use these boards for almost every project, e.g. some minutes ago I made a simple thermocouple board (see image). So in this case I used the MCU board with the OLED attached, a proto board for the MAX31855 IC and a protoboard for a LiPo Accu for regulated 3.3V output (which I made some weeks ago).
    So you could re-use the MCU board for many projects and only have to assemble the proto board for the special purpose.
    Attached you will find an image of the MCU board - it shows which components (resistor, caps, ...) I normally use. I can also send you the fritzing design files if you need them...

    Kind regards
  25. Like
    GeekDoc got a reaction from cubeberg in 120 LED Ring Clock   
    If you design something, I'd love to see it.  Though, my printer is only 100x100.
    Can't wait to get my 250x250!
  • Create New...