Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Reputation Activity

  1. Like
    zeke got a reaction from Rickta59 in Have you experienced a chilling effect?   
    Hi Everybody,
    I'm just thinking out loud as I make this post. My dad would call this "navel gazing". So feel free to challenge these thoughts.
    Lately, I've been thinking about the spirit of this forum community and how it may have been diminished slightly by unexpected events. Maybe it's just me?
    When I first came here, I was looking to learn how to work with the MSP430 processors - how to program them and how to build circuitry based on them. I stayed in this community because I found like minded people who shared my sense of curiousity and who shared my sense of adventure.
    Is someone going to make money off of my knowledge, sample code, or prototype circuit?  Yes, I have already been burned by someone who found me from my contact information here on this forum. I solved his problems and he stiffed me. He didn't think he needed to pay me for services rendered.
    Today, I feel a measure of insecurity about sharing what I know. I do not feel like sharing all of the details of my personal projects. I know that I am withholding all the awesomeness of my adventures.
    I no longer feel the childlike simplicity of sharing everything I learn.
    Am I just growing up?
    Am I giving into my fears?
    Am I growing selfish?
    Am I believing a lie?
    What's the matter with me?
    Is this The Chilling Effect?
    How can I fix this?
  2. Like
    zeke got a reaction from xxx1 in Free shipping at Arrow, including Launchpads and dev kits   
    I have always paid duty, taxes and brokerage fees on FedEx International Economy shipments.
    If you ship FedEx International Priority then those fees are rolled up into the upfront shipping price.
    There's no way around it. Time = money.
  3. Like
    zeke got a reaction from bluehash in The Marquee Clock   
    It's been a long time since I have been able to get back to this project but this week I have spent some quality time working on the software drivers for the APA102 RGB LEDs.
    I started developing code on my F5529LP and a strip of 144 APA102 LEDs I picked up from eBay.
    Here is a short video of some demo patterns:
    Marquee Clock Demo 03.mpg
    Soon, I will switch development over to the CC3200 Launchpad so I can make use of the network capabilities.
  4. Like
    zeke reacted to greeeg in GPS logger for a local Beagle club   
    Ran the enclosures through my Mill, made a little jig to aid in positioning.

    There are a few issues left to sort out.
    PCB is not retained downward in the enclosure, when removing USB the PCB lifts upwards. LEDs leak light between their corresponding holes in the enclosure Button needs a mechanism to reach up through the case. I plan to solve these issues by creating 2 custom parts.
    Part A:
    This part will wedge between the PCB and top of the enclosure. Have holes over the LEDs to create light pipes out of the enclosure. A channel around the button to house a switch cap, part B. Part B:
    Switch cap, poke through the cutout in the enclosure  
    I decided to use my CNC to make molds to form the parts out of polyurethane. Straight from the CNC. You can see the switch part took a few attempts to get the tolerance right.


    Button fits perfectly flush with the case to avoid accidental presses.

  5. Like
    zeke reacted to oPossum in Console with One-Wire Temperature on MSP430F5529 LP   
    This is obviously wrong:

    UCSCTL2 |= 499; // Set DCO Multiplier for 16MHz // (N + 1) * FLLRef = Fdco // (499 + 1) * 32768 = 16MHz change to... 

    UCSCTL2 |= 499; // Set DCO Multiplier for 16MHz // (N + 1) * FLLRef = Fdco // (499 + 1) * 32768 = 16.384 MHz and also change... 

    const unsigned long smclk_freq = 16384000UL; // SMCLK frequency in hertz and delete (or fix and make use of)... 

    /******************************************************************************* * ******************************************************************************/ #define F_CPU 16000000UL #define BAUD 19200 #define BAUD_PRESCALE (((F_CPU / (BAUD * 16UL))) - 1)
  6. Like
    zeke got a reaction from phenyl in Cadence OrCAD Capture Promotion   
    FYI,  this is software that equips you to design schematics and pcb layouts.
    Original Link
  7. Like
    zeke got a reaction from phenyl in Zuken CADStar software promo   
    FYI, this is software to equip you to design schematics and pcb layouts
    Original Link
  8. Like
    zeke got a reaction from Dale in protoboard   
    I regularly use the PAD3U board from Busboard to do similar prototyping.
    FYI, they are based in Calgary so I bet you could get one really quick if you liked.
    Tell them John sent you.
  9. Like
    zeke got a reaction from spirilis in Interrupt Debounce   
    I must be risk adverse because I tend to use both an RC filter and software similar to the HaD article.
    Additionally, if there are several buttons to monitor then the software will get complex.
  10. Like
    zeke got a reaction from bluehash in Cadence OrCAD Capture Promotion   
    FYI,  this is software that equips you to design schematics and pcb layouts.
    Original Link
  11. Like
    zeke reacted to Remixed123 in CC3200 HTTP Client Library, OAuth, REST API, TLS Example Code   
    I've just made available an example whose code could be used in various application that use REST APIs and OAuth authentication.
    It uses the HTTP Client Library that comes with the CC3200 SDK 1.1.0 and TI-RTOS for SimpleLink. All code is in C.
    It performs the following steps:-
    Obtains the current time from a SNTP server (this is required by TLS encyrption)
    Obtain the OAuth 2.0 Authentication token from the Telstra API using HTTP GET over a secure TLS connection
    Send an SMS message using the Telstra SMS API using HTTP POST over a secure TLS connection
    There are many more details on the Github Repository:-
    SMS Doorbell - https://github.com/remixed123/CC3200_SmsDoorBell

    Here is a video demo of the SMS Doorbell being used - https://vimeo.com/132525037

  12. Like
    zeke reacted to Fmilburn in FFT   
    I was inspired a while back by the simplicity of the FFT application written by Shane Ormond and featured on the 43oh blog.  It was easy to duplicate and I've made a few changes, additions, and such that seemed worth documenting.
    I didn't have a signal generator other than the 1kHz square wave on my oscilloscope and some clunky code that I wrote for a microcontroller so I ordered an inexpensive AD9850 and hooked it up to a FR6989 LP so I could use the LCD to display frequency.  I've been pleased with the AD9850 and it is hard to beat it for the price.  The sine wave is more than sufficient for my needs up to 40 MHz - I don't see any deviation from the scope.  The code is here.  This is a picture of the setup being tested on the oscilloscope and nailing it:

    I need to make a little boosterpack for this so it is a little handier to use.
    I made several modifications to Shane's code:
    Number of samples can be specified Bin readings are matched with corresponding frequency interval Frequency resolution of bins can be set Frequencies of up to 5 kHz or more can be measured I used a MSP-EXP432 for the most part but the code was also tested and works on the TM4C123.  You really need an ARM to get this granularity.  The code is here.
    To increase the sample size and allow measurement up to higher frequencies I used Energia's delayMicroseconds instead of millis.  The right way to do this would be with timers and I hope to come back and address this at some point.  To calibrate the bins to their actual frequencies I used a simple one step approach with a single pass that measures the deviation in the sampling time from expected to actual.  Deviations occur due to the lag associated with Energia code and the actual time it takes to sample.
    Precision depends on the bin size and number of samples as well as inaccuracies in using delayMicroseconds.   I posted the serial output into a spreadsheet to get some plots...

    1000 Hz Square Wave

    1000 Hz Sine Wave

    5000 Hz Sine Wave
    My original goal was to create something that could process sound in the range of human hearing and this pretty much gets there.  I need to clear my desk for another project but hopefully I get back to it some day or perhaps someone else will find it interesting and report back
    This is my list of potential improvements:
    use timer for sampling times add a microphone improve the graphical display / GUI It would be neat to get this working on an Educational BoosterPack.
  13. Like
    zeke reacted to RobG in SensorTag, practical use   
    SensorTag can be used not only for development
    I had to find the exact location when fixing problem with my subfloor, so I attached small magnet under the floor and used ST to locate it.

  14. Like
    zeke reacted to spirilis in Quad Thermocouple BoosterPack (MAX31855)   
    This was a project begun last winter in the hopes of having an array of thermocouples to monitor my old woodstove when operating it ... Well I never got around to finishing it, but I have a fancy new woodstove as of this fall, and I would love to monitor its temperature curves likewise!
    This BoosterPack is fancied as a baseboard plugging underneath the LaunchPad, with four holes for mounting studs in case I ever decide to fix it inside a permanent enclosure (probably one made of aluminum due to the heat).  I could have pushed the Thermocouple terminal blocks out a little further to fit more launchpads, as I feel this is a bit tight.  I chose a Tiva-C LP for my pics because it fits nicely but the BoosterPack is designed with low-power features, contrary to the MAX31855's own design.
    This BoosterPack features the Maxim MAX31855 thermocouple receiver chip; this is a precision IC with built-in ADC and digital logic which performs continuous conversions of the thermocouple data and exposes the latest data at the master MCU's demand over SPI.
    As the MAX31855 never really "shuts down", I have introduced logic to allow the MCU to switch on/off the entire thermocouple (MAX31855) power domain, utilizing a TI TXB0108 Level Shifter as a bus transceiver to disconnect all the SPI and four Chip Select lines from the MAX31855's to prevent parasitic power from the I/O lines from clandestinely powering the chips when they're not needed.  TI TPS27081A positive-logic PFET power switches are used to switch the Thermocouple power domain on/off and for slew-rate control of the TXB0108's OE pin.  (I bought a bunch of these for cheap from avnet a couple years ago, figured I should use them!)
    The BoosterPack features my own "remappable" design, where the 40-pins have breakout pads just inside the BoosterPack layout and each of the user-configurable circuit nets (TC power switch, TC#1, 2, 3, 4 SPI Chip Select) can have their default boosterpack pin assignments cut (cut solder-jumper) and a jumper wire soldered from the function's pad to a BoosterPack pad of choice.
    While this doesn't use any standard connector for the thermocouples, I have found dismantling a standard connector and snipping the terminals down to suitable width allows one to shove them into the terminal block without having to splice the thermocouple's wires or insulation.  I'll post a pic of that later on when I get a setup going with my woodstove.



    DipTrace Schematic (PDF): DipTrace_Schematic_-_Multi-Thermocouple-BPak.pdf
    DipTrace EDA files (schematic, PCB layout): Multi-Thermocouple-BPak_draft1_0.zip
    Elecrow 10x10 PCB Gerbers: Quad_Thermocouple_BoosterPack_v1_0_10x10.zip
    I don't plan to sell any of these at the moment, but if anyone's got a burning desire to have one I might be willing to have my arm twisted to buy more BOM and build some
    I haven't got a real thermocouple attached yet, but I was able to confirm that I can read what appears to be valid MAX31855 data from the one populated, including watching the "ambient temp" reading rise as I held my finger against the chip:
    Quad Thermocouple BoosterPack Test #1 TC#1 Result: 7FFD16F1 (sleep 2sec) TC#1 Result: 7FFD1701 (sleep 2sec) TC#1 Result: 7FFD1701 (sleep 2sec) TC#1 Result: 7FFD1701 (sleep 2sec) TC#1 Result: 7FFD1811 (sleep 2sec) TC#1 Result: 7FFD1A61 (sleep 2sec) TC#1 Result: 7FFD1B51 (sleep 2sec) TC#1 Result: 7FFD1BB1 (sleep 2sec) TC#1 Result: 7FFD1BF1 (sleep 2sec) TC#1 Result: 7FFD1C31 (sleep 2sec) TC#1 Result: 7FFD1B71 (sleep 2sec) TC#1 Result: 7FFD1A41 (sleep 2sec) TC#1 Result: 7FFD19A1 (sleep 2sec) Energia sketch:
    #include <SPI.h> static const int TC_POWER = 40; static const int TC1_CS = 39; void setup() { // put your setup code here, to run once: Serial.begin(115200); Serial.println("Quad Thermocouple BoosterPack Test #1"); SPI.begin(); SPI.setDataMode(SPI_MODE0); SPI.setClockDivider(SPI_CLOCK_DIV16); delay(2000); // Init TC#1 Chip Select high so it's not selected pinMode(TC1_CS, OUTPUT); digitalWrite(TC1_CS, HIGH); // Activate TC power domain pinMode(TC_POWER, OUTPUT); digitalWrite(TC_POWER, HIGH); } void loop() { // put your main code here, to run repeatedly: int i = 0; uint32_t res = 0; uint32_t b = 0; // Wait 300ms for TC#1 to do a conversion delay(300); // Select TC#1 and read its 32-bit contents. digitalWrite(TC1_CS, LOW); for (i=0; i < 4; i++) { b = SPI.transfer(0); b <<= 8 * (3-i); res |= b; } digitalWrite(TC1_CS, HIGH); Serial.print("TC#1 Result: "); Serial.println(res, HEX); Serial.println("(sleep 2sec)"); delay(2000); }
  15. Like
    zeke reacted to Fred in 43oh wins TI Community Highlight Award   
    Too shy to tell us yourself, @@bluehash? Well, I'll have to do it then!
    It looks like 43oh has won TI's Community Highlight Award. Definitely well deserved. This place has always been a great source of help and inspiration. Probably the reason why I use TI stuff rather than anyone else's.
    Well done.
  16. Like
    zeke reacted to bluehash in 43oh wins TI Community Highlight Award   
    Thank you all.
    Not to forget that the forum continues to exist because of you all posting and sharing information. I'm super excited for the new year.
  17. Like
    zeke reacted to bluehash in Sensortag - Python interface to Bluez   
    Saw this over at the Linux-Bluetooth forum.
    I'm a bit of a newbie myself although maybe slightly further down the
    path than you.
    I've done some Python to communicate between a Raspberry Pi and a
    Sensor tag. A short video about the experiment is at
    My intention is to clean up the code and post it to
    https://github.com/ukBaz/python-bluezero within the next couple of
    weeks so keep an eye on the repository.

  18. Like
    zeke got a reaction from Fmilburn in How to build Custom GUI for microcontroller?   
    Here's a python project that might kickstart your experimentation: mcuterminal on github.
    Here it is on Instructables.
  19. Like
    zeke reacted to davidgiven in Fuzix for the MSP430FR5969   
    Good news, everyone! I've just ported Alan Cox's Fuzix to the MSP430. It'll run on a MSP430FR5969 and supports up to four 23kB user processes via swapping to an SD card. There's a full Unix filesystem and a tonne of software. It's riddled with bugs, but is surprisingly snappy and usable.
    This is running on a standard MSP430FR5969 Launchpad with the 43oh.com SD card boosterpack plugged into it. The console's via the USB UART. It's riddled with bugs, but there's enough running to be of interest.
    You can find the source code here: https://github.com/davidgiven/FUZIX/tree/msp430
    Here is a somewhat edited transcript from my serial terminal to prove it.
    FUZIX version 0.1 Copyright (c) 1988-2002 by H.F.Bower, D.Braun, S.Nitschke, H.Peraza Copyright (c) 1997-2001 by Arcady Schekochikhin, Adriano C. R. da Cunha Copyright (c) 2013-2015 Will Sowerbutts <will@sowerbutts.com> Copyright (c) 2014-2015 Alan Cox <alan@etchedpixels.co.uk> Devboot 64kB total RAM, 23kB available to processes (4 processes max) Enabling interrupts ... ok. SD drive 0: hda: hda1 hda2 Mounting root fs (root_dev=1): OK Starting /init init version 0.9.0ac#1 # mount # df Filesystem Blocks Used Free %Used Mounted on df: cannot open /etc/mtab: No such file or directory # prtroot /dev/hda1 / fuzix rw # prtroot > /etc/mtab # df Filesystem Blocks Used Free %Used Mounted on /dev/hda1 20480 1218 18622 5% / # ls bin dev etc init tmp usr # cd tmp # cp /bin/sh data # ls -l -rwxr-xr-x 1 root 0 18111 Jan 01 00:03 data # cp data data2 # cat data data2 > big # ls -l -rw-rw-rw- 1 root 0 36222 Jan 01 00:04 big -rwxr-xr-x 1 root 0 18111 Jan 01 00:03 data -rwxr-xr-x 1 root 0 18111 Jan 01 00:04 data2 # rm data2 # rm data # wc big 1696 3086 36222 big # ls /bin > files # wc -l files 101 files # cd /bin # ls b* banner basename bd # banner Hello H H H H eeeeee l l oooo H H e l l o o HHHHHHH eeeee l l o o H H e l l o o H H e l l o o H H eeeeee llllll llllll oooo # ps USER PID STAT WCHAN ALARM COMMAND root 1 Ready 0000 0 init root 2 Ready 0000 0 /bin/sh root 12 Running 0000 0 ps # forth ok BYE # cd /usr/games # ls fish wump # ./fish instructions? yes `Go Fish' is a childrens' card game. (I would like to claim the record for the smallest physical hardware capable of beating me at Go Fish. Alas, Hunt the Wumpus doesn't run, for some reason.)
  20. Like
    zeke reacted to Fred in New TM4C Crypto Connected LaunchPad   
    Got an email today about a new LaunchPad supporting hardware cryptography - mainly aimed at supporting HTTPS for your IoT projects. Promo pricing $16.99, normally $24.99.
  21. Like
    zeke reacted to bluehash in New TM4C Crypto Connected LaunchPad   
    Was looking at the specs.. this thing is loaded!
  22. Like
    zeke got a reaction from spirilis in Questions on SFP transceivers in hobbyist projects.   
    I did a lot of work with SFPs from COTSworks. They take SFPs from other vendors and ruggedize them for aeronautics, military and industrial applications. There's no one else that I know of that does this.  That said, I chose to use their SFF-2G-SX-DPLX-LC-R-A SFP module. The datasheet is right there on the page.
    Additionally, I studied everything I could on LVDS, PECL, and other differential signalling standards. Here's a couple of links:
    LVDS Fundementals - Fairchild AN-5017 Interface Guide - Texas Instruments Board Design Guidelines for LVDS Systems - Altera I bring up the above links because you will soon discover that the differential interface is not the same between all SFPs. Some are LVDS, others are PECL and others something else weird.  It's a small detail that is only discovered after you bought a few samples that you can't use >:-(
    I faced the above challenge because I ended up using SFF modules which are not exactly the same as SFP modules. An SFF has pins and solders into a pcb.
    Here's an excellent summary of SFP characteristics.
    The SFP manufacturer that I turn to first is always Finisar. In my world, they are the largest manufacturer of SFPs. I would bet money that Cisco and JDSU get theirs made by Finisar.  I know that COTSworks sometimes ruggedizes a particular Finisar module when their customer requests it.
    Here's how I classify SFP modules:
    - Glass:  Singlemode or Multimode?
    - Colour:  1310/1550 nm vs 850/1300 nm?
    - Data rate: OC1/3/12/24/48/192/768 ?
    - Distance: practically infinite (SM) vs 2000/550/220m (MM)
    - Cost: SM is usually two to four times the cost of MM electronics
    For fun, here are a couple of videos on fiber optics that I think are fantastic:
    The Engineer Guy - Fiber optic cables: How they work The Discovery Channel - How's It's Made: Fiber Optics  
    Back to circuitry...
    Here is the Finisar FTLX1371D3BCL transceiver datasheet.  It is stuffed with plenty of details that will help you design an interface for it. Look on page 10. There's your basic interface. There are two sections: Signalling and Control.
    The Control interface is power, I/O and I2C. All low speed stuff.
    The Signalling interface is filtered power, RX and TX. 
    You have to translate your single ended signal into an LVDS differential signal. You could make use of an SN65LVDS050-Q1 since it contains two RX/TX pairs. 
    Keep this app note from TI on LVDS Interface circuits.
    I hope this helps to get the ball rolling.
  23. Like
    zeke got a reaction from yyrkoon in Questions on SFP transceivers in hobbyist projects.   
    Hi @@Sterny,
    In my opinion, this is not a fool's errand. Just keep this in mind. You can use SFP modules wherever you might use an optocoupler.
    I personally have integrated SFPs into a large scale data recorder system for the seismic industry. I had to attached them to large FPGAs.  The interface between the SFP module and the FPGA was a high speed LVDS bus that operated in the 3V range. 
    Additionally, there is an I2C interface on every SFP module. It's the Digital Diagnostic Interface and programming port. You can get a ton of data out of it. Check out a document called SFF-8472 for more details.
    I have no doubt that you could get them to run between two MSP430s using a low speed data link. You would have to design an LVDS interface circuit but that shouldn't be too hard. 
    There is a typical application schematic on page 5 of that datasheet you referenced. You can implement most of that and it ought to work.
      The protocol between the two SFP modules would take some thought. Typically, there is a heartbeat signal transmitted on the fiber to tell both ends that the link is still up.
    Also, the protocol is usually 8B10B encoded. This prevents too many 1s or 0s from being transmitted in a row. The receiving end can lose sync if a large number of 1s or 0s are transmitted. I would be inclined to try out the hardware with no concern for 8B10B encoding because the data rate of an MSP430 will never get close enough to cause problems. If, after the tests, data is dropped then I would implement the encoding protocol.
    I really want to design and to create a full duplex fiber optic talk set using SFP modules. I'm working on this idea in my spare time so that isn't a lot of time typically. These days, I do more teaching about SFPs than I do using them. My company teaches people how to work with fiber optics and I am the chief instructor.
    Whatever you do, just remember that you're doing it for fun! :-)
  24. Like
    zeke reacted to enl in What are you doing right now..?   
    Needed a new board vise that would sit flat. The old linemaster is not quite the thing for some jobs, and is kinda a pain to crank, though it is real solid and heavy.
    This was out of the scrap bin in about an hour. 1/2" square tube, 1/4" rod, a spring from the junk pile, and a thumbscrew. Mots time consuming part was tapping the holes. No tools more advanced than a handheld drill and a hand tap and hand die (for the end of the rod). There is a nut inside the tube to jam with the nut on the rod end. I was trying to figure how to mill a tapered grip on a chunk of ABS from the scrap bucket, then I said to myself: "self, it is only going to be a taper edge to just grip the top of the board and hold it down. Why not give more room by using flat head (countersink) screws". So I did.
    Rubber baby buggy bumpers on the bottom for gription.
    Edit: fixing really embarrassing typos. Ok, I'm not really embarrassed... and adding pic holding board

  25. Like
    zeke reacted to Sterny in Questions on SFP transceivers in hobbyist projects.   
    Thank you again.  I cannot express in a forum post how grateful and appreciative I am for you taking the time to point me in the right direction on how to begin my research on this project.  Awesome!!
    Wow, after reading a lot of your posts, I had always assumed you were a design engineer at your day job.  Or, do you do storage admin work in addition to engineering there?
    I noticed that you've designed some boosterpack boards - based on the information @@zeke provided, how big of a lift would a SFP booster pack be?  I'm just curious about some context from someone who has actually gone through that process.
  • Create New...