Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by greeeg

  1. @Peabody The MSP430F5514 does have a default USB based BSL. (It's located in FLASH and can be user modified) I wanted to create a firmware upgrade process that anyone could perform. Copying a single firmware.bin is easier for a non tech savy to grasp. Additionally to enter the integrated BSL extra hardware changes are required. the PUR pin must be held high while the RST pin is toggled. This has an advantage that even a bad firmware cannot brick the bootloader. I would have liked to add some additional circuitry to enable this feature. (Hold down button for ~15 seconds to enter boot
  2. Finally got around to coding a bootloader for this project. I'm posting version 0.1 here for reference. Lots of times people seem to have trouble with bootloaders (I put off writing one for ages) But this should show you can start simple, and optimise later. The code right now is very rough. But is written in a way that could allow updating of itself it the help of a bootstrap Application. ie: Load new application which when run loads a new bootloader. This bootloader isn't 100% fool proof, if a bad app is loaded that fails to perform as a USB MSC then the user cannot use the USB por
  3. This project was put on hold over the holidays. It's always a busy time, plus the club doesn't hold meets over summer. But I have just completed another 10 units. More of the same, but thought you guys might enjoy some more photos. I couldn't get the same batteries as the last batch, which were 650mAh, these have much smaller 220mAh. But this still provides about 4 hours of run time. The uBlox GPS modules are a huge improvement. Even without the SAW filter in the RF path and the sub-optimal PCB size compared to the antenna. These find more GP
  4. I would say that for a typical application the cost COULD pay itself off VERY quickly with time saved debugging. Of course it does depend on what you do. Often hobbyist/small commercial projects that's not so true. I personally have a OpenBench Logic Sniffer. (Which is compatible with Sigrok) I've really only used it a handful of times, The best example from my use case was reverse engineering an old B/W LCD module that I wanted to use in my project. But typically I'm much more productive with a Scope. (But of course limited to 4 channels.)
  5. You should try some larger needle tips. My pickup tool is a small DC motor pump + PVC tubing and Luer-loc syringes, I've found switching to larger diameter tip enables me to pickup larger parts TSSOP and 32 pin TQFP.
  6. I personally Haven't used it on my router, but I've installed it and looked around, FlatCam might be a good choice, Takes PCB gerbers directly (Can use any EDA tool) And it generates isolation tracks around your copper in G-code. Cross platform too! http://flatcam.org/
  7. For typical 3d milling I've had great success with Fusion 360 (free for hobbyists and small <$100K/yr startups) (windows only) for creating G-code. You'll then need to feed that G-code into Mach-3 to actually run your machine. I doubt having the part submerged in water is a good idea. (also tub doesn't look big enough) From my understanding coolant's main purpose it to extract heat as-well as remove chips from the cutting area. A submersed part will not aid with the chip evacuation. Lastly I believe that the spindle will require water cooling, but that is a completely separate cooli
  8. greeeg


    It's weird that they do that, given that I believe it all comes from digikey's warehouse. I just got a new (to me) air filter (a purex fumecube 2). and I bought a Hakko Fume extractor nozzle to pair with it. Hakko obviously wasn't designed for the Purex and didn't fit....so I had an excuse to 3d print an adapter + cap. Already love it, it's great being able to look right over your work and not have to worry about flux smoke. The Hakko arm moves around easily but stays pretty rigid as you can see. I'm sure future me will be grateful in avoiding smoke damage to my lungs.
  9. I have used sample programs in the past as a Hobbyist back in high school. I don't believe that it was strictly against their T&C back then. But given the growth of electronics over the past 5 years I can see a samples program getting out of hand. Pretty sure all the big companies require .com corporate emails. Personally I don't understand samples. Surely the couple of dollars worth of chips is almost a drip compared to the NRE costs of a typical commercial project?
  10. @@yyrkoon Double sided alignment - I believe that you can use some form of holes and pins to re-align the PCB. This may have gotten better, but I never had a good workflow. Your CNC probably needs a nice fixture plate to make this reliable. Plated Through holes - Fair, enough. (This is a show stopper for me) Small SMT parts - I haven't seen a milled PCB that went below 0.65mm pitch TTSOPs. You should be fine for SMT passives. Commercial solutions - I was talking about a commercial PCB prototype plotter. My only experience was with this (http://www.lpkf.com/products/rapid-pcb-prototyping/ci
  11. My personal opinion is not worth it. Based on the following points Double sided boards are not easy No plated through holes Most of my designs are fully SMD (0603 or smaller) often with QFNs or TTSOPs DIY setups require ALOT of time to tune/setup Commercial solutions are VERY expensive (paying for the time to develop a reliable machine) Minimum space is size of cutting bit (typically >0.4mm) No soldermask Prototyped designs are significantly different to Fabbed designs This might seem like I'm complaining about things that don't matter. But if you compare a milled PCB and a professionally
  12. P1_7, P1_6, P2_4, P2_3 are all connected to LEDs as your schematic shows. If you are using pull-downs on these pins you will probably have a small current flowing through these LEDs. Likely not enough to light them, but larger than the power drawn by the MSP430.
  13. greeeg

    gpio interrupts

    Isn't this still producing the wrong result?? After negating , if you add you'll get an overflow.... (~BIT0) + (~BIT5) == (~0x01) + (~0x20) == (0xFE) + (0xDF) == (0x1DD) If you insist on negating within brackets then you should be using AND operations to receive the required result, not ADD. (~BIT0) & (~BIT5) == (~0x01) & (~0x20) == (0xFE) & (0xDF) == (0xDE)
  14. Achieving ultra-low power can sometimes take a bit of work. It might be helpful to see a circuit diagram. If you have a pull-down resistor with a logic HIGH applied you will have power loss through that resistor (for example your serial lines?) Are there any other parts fitted on your custom PCB? Just having the debugger connected adds additional power loss, even when the MSP is in LPM4.
  15. @@veryalive Yes. Take a look a little further down. The single user license can be installed on up to two PCs.
  16. greeeg

    gpio interrupts

    I'm curious about this snippet of code. Your use of brackets is confusing to me. Particularly these 3 lines. To me this feels like it will be performing function A. Which results in an overflow. Is this your intent? A. (~BIT0 + BIT5) == (~0x01 + 0x20) == (0xFE + 0x20) == (0x11E) == 0x1E <- After it's put into a 8bit register B. ~(BIT0 + BIT5) == ~(0x01 + 0x20) == ~(0x21) == 0xDE Doesn't look related to your issue. But still looks like a bug.
  17. Polyurethane parts have come up nicely. Main advantages of this method of rapid prototyping Part cost is low these use about $0.05 of polyurethane resin. Parts can easily be coloured using dyes. (as demonstrated) Very little time needed for each cast (about 5 minutes) 1-2 Hour cure time 1-1 replica to original part. Of course you need to invest the time and money to make the silicone molds to begin with. So for a single part 3d printing is often the preferred approach. The parts are a perfect fit over the button and LEDs.
  18. Thanks, But don't be fooled. My setup takes quite awhile to setup. And I'm still learning all the time, The first pass I made on this cutout skipped steps somehow, ruining this enclosure. I'd love to own some better tools But I'm going to make use of what I have right now. But I took the opportunity to try some cool stuff. (note the mis-aligned cutouts at the bottom and the duplicates on the far side.) Infill on my engravings and engraved pixel fonts! Getting the hang of F360, slowly. Working on some custom parts now. Using a molding technique using milled ren-shape,
  19. Got my enclosures today. That means I now have all the hardware parts for this batch. I've been playing around with Fusion 360 instead of Rhino, mainly due to the integrated CAM processor. Also it has easy to use rendering stuff out of the box too. This is the reason I love companies that provide 3d CAD files. I can define some simple stroke text, and Fusion 360 will project it over the 3d curvature of the part. My CNC setup is in dis-array. The setup is sub optimal. But I think the results speak for themselves. I want to experiment with filling the engravings with a
  20. You can't move the interrupt vectors around in FRAM, the physical address is hard coded to a specific interrupt. So address 0xFFFE is always the reset vector. If you want to alter the interrupt table, for a boot loader lets say, you can use an alternative address for these interrupts that exists in RAM, it's still a hardcoded memory location for each interrupt vector, 0x23FE for reset. But you can easily change where the interrupts will go, because they're in RAM.
  21. Just did a test in CCS on my MSP-EXP430FR5969 #include <msp430.h> #include <stdint.h> // Timer0_A1 Interrupt Vector (TAIV) handler #pragma vector=401 __interrupt void ram_handler(void) { switch(__even_in_range(TA0IV, TA0IV_TAIFG)) { case TA0IV_NONE: break; // No interrupt case TA0IV_TACCR1: break; // CCR1 not used case TA0IV_TACCR2: break; // CCR2 not used case TA0IV_3: break; // reserved case TA0IV_4: break; // reserved case TA0IV_5: break; // reser
  22. I personally have not looked into it in too much detail. But from what I've read the interrupt vectors are by default fixed at the top* of FRAM 0xFF80 - 0xFFFF Or if the Alternative vectors are selected at the top of RAM 0x2380 - 0x23FF. If you would like to have 0xFF00 - 0xFF7F mapped to interrupt vector you will need to copy these into the alternative area within the RAM and then activate the alternative interrupt setting before enabling interrupts.
  23. Went through and soldered up a batch of new PCBs Paneling PCBs made this process much fast. I'm still using my manual PnP which isn't very fast or accurate, especially after a few coffees.
  24. @Fred It would be nice to see how much of a performance gain I get with/without. The LNA is already designed to only amplify within the range of GPS + GLONASS frequencies. As mentioned just bypassing the filter with a bodge wire seems to work quite well. I did a very quick side by side test, and the new uBlox MAX M8Q with a 25x25mm antenna shows twice the satellites than the old g-top modules, all with improved signal strength. For reference here is a comparison of the path antenna sizes. (Left to right: 12x12mm, 25x25mm, 35x25mm) The 35x35mm was in stock at digikey so I bo
  25. I have a PCB soldered up. Everything working as expected, except no GPS acquisition. After some re-soldering and fault finding. Found the SAW filter wasn't working. The antenna seems to operate fine without it. (I imagine the GPS module has it's own internal SAW filter....) I fell into a newbie trap. Here is a page from the B8813 datasheet. Notice the "Bottom view" text, because I did not when I made the footprint.
  • Create New...