Jump to content
Forum sending old emails Read more... ×


Popular Content

Showing content with the highest reputation since 02/17/2018 in all areas

  1. 4 points
    Rei Vilo

    Energia FAQ

    Some topics come aver and over again. Here are the most frequent questions. Wouldn't be nice to have all of them in one single place? Listed questions: Netiquette for Newbies What Information to Provide When Asking for Help I²C Check-List Porting an Arduino library to Energia Use Pins Number instead of Pins Names with Energia Add a New Board to Energia LaunchPad and BoosterPack Pins Maps Boards Supporting the Galaxia Library Netiquette for Newbies What Information to Provide When Asking for Help I²C Check-List Porting an Arduino library to Energia
  2. 3 points

    RFC: CNC BoosterPack

    Design is now published on Github, driver code to follow when completed - some new features needs to be verified first. A Youtube video showing off the PCB and some additional parts is here: GRBL DRO & MPG Terje
  3. 2 points
    TI has listed a solution here: http://www.ti.com/tool/MSP-EXP430F5438 http://www.ti.com/tool/cc256xmspbtblesw The CC2650 seems to fit your requirements and you can get additional help on e2e if needed.
  4. 2 points
    Rei Vilo

    Interfacing BMG250 with TM4C1294XL

    It looks like the I²C implementation requires a specific period between write and read.
  5. 2 points

    msp430g2553 with cc1101

    Please find my attachedCC1101.7z library
  6. 2 points
    As an electrical engineering student at John Brown University, we were tasked with creating a useful product or service using the combined skills gained through our embedded systems class. As someone who likes interior decorating and hates mismatched paint, I came up with the idea to make an RGB color sensor attachment for a camera. Of course converting RGB data to paint colors is not conventional, it is something that could potentially be viable. To make things interesting and for the experience of working with a Raspberry Pi, I used a raspberry Pi camera to act as the base for the project. A KMASHI 10,000mAh power bank was used as the power source to make it portable and act as a psuedo case to strap all of the components together. It is definitely not elegant in any way, shape, or form, but it is more experience for me and hopefully you can find an interesting tid bit here or there in my documentation! Enjoy! RGBColorSensorAttatchmentRPI.docx
  7. 2 points

    MSP430 Week - Discounts in TI Store

    In case you need to stock up on MSP430 dev boards, it's MSP430 week in the TI store. http://www.ti.com/store/featured/msp430week18.html
  8. 2 points
    Wire.begin(ADXAddress); configures the TM4C129 as an I²C slave, not an I²C master. Please refer to http://energia.nu/reference/wire/wire_begin/
  9. 2 points

    MSP430 Nixie Clock

    @RobG, I requested the source code about 8-9 months ago. I finally found some time to add an option for cathode poisoning prevention to trigger every 5 minutes. nixie.h main_v5.c The updated list of options are: Cathode Poisoning Prevention Effects [0-3] 0. No effects 1. Slot machine (Every 1 Minute) 2. Slot machine (Every 5 Minutes) 3. Display time for 2 seconds, off for 8 seconds I plan on trying to create a case to enclose the sides. If I come up with something I'll share it in this thread. Thanks for creating a fun kit to build with clean code to modify. -Brad
  10. 1 point
    INTRODUCTION This guide's intent and purpose is to allow a user with minimal Linux experience to successfully setup an absolutely free development environment to program the STM32F0 microcontroller with full debugging capability. PREREQUISITES A Linux distro, I used Linux Mint 13 (Ubuntu works nicely too) An Internet connection At least 2gb of spare hard drive space Familiarity with terminal A STM32F0 Discovery Board! PART 1 – Install Codesourcy PART 2 – Install OpenOCD PART 3 – Install Eclipse PART 4 – Setup File Directory PART 5 – Setup Eclipse PART 6 – Configure the gdb/OpenOCD Hope you enjoy! Any questions, comments, feedback, feel free to sound off below.Also a STM32F4 guide is on its way. When it gets here depends on how much spare time I have.... Edit: Thanks bluehash! Guide is now hosted on arm-hq. v1-2 Downloads stm32f0_v2.doc
  11. 1 point

    Energia FAQ

    Thanks. The above content is listed at the top of all Energia forums.
  12. 1 point
    Have you checked the usual suspects at I²C Check-List https://forum.43oh.com/topic/13067-suggestion-add-a-faq
  13. 1 point
    The I²C implementation on pins 9 and 10 is software-based (or bit-banging). Some functions may work differently from the hardware ones. Let me try with a very standard I²C device.
  14. 1 point
    The MSP430G2553 has two I²C ports available. See I²C Check-List at
  15. 1 point

    Supported MSP430's

    BTW, If you don't want to design board right now, I have 2 breakout boards left, for MSP430x2xx 38 pin TSSOP devices.
  16. 1 point

    Advice for proper chip selection

    In general, the G2xx chips have 16 interrupt-capable pins (if they have that many pins at all). For development, I'd suggest the G2553 on the LaunchPad.
  17. 1 point

    Wireless JEopardy Buzzer System

    This is a fun project that was created for my embedded systems class at John Brown University that allows you to create your own quiz wizard similar to the jeopardy game show system. The main portion of this code is run on an MSP430F5529 launchpad, and nRF24L01 transceiver modules were used to obtain the wireless functionality. It makes use of the Enrf24.h library to operate the transceiver modules, and the user interface is output to the serial monitor of the energia IDE. Four buttons wired into the MSP430F5529 then allow the user to interact with the system. The wireless module was created by using an MSP430G2553 launchpad, button, and LED for indicating power on. The LCD display can be integrated although an Arduino MEGA is needed to have it be fully functional with the rest of the system, so the code for this portion of the project was not uploaded. Enrf24_RXdemo.ino Enrf24_TXdemo.ino Rough Circuit Schematic.pdf
  18. 1 point

    The Marquee Clock

    Back in December 2016, I had a hard disk failure and I lost my firmware and hardware design files for this project. It was a sad day when I discovered this. I have since rewritten the firmware and it is much better this time. I am so happy that it is sporting a proper command line interface now. No more single letter chicken-pecking commands. I have also recaptured the schematics and pcb layouts for the ring pcb and the cpu pcb. The power supply design is a lost cause because I couldn't figure out what TI bucking power supply chip that I used in the first design. Oh well. What are you going to do? This time around, I will be redesigning the cpu board to include a few more features that I think are necessary. CdS light sensor to automatically dim the LEDs in a dark room. BQ32000 RTC IC to preserve the time even through the loss of power. ADC monitoring of the power supply rails to determine if the main power has been lost. Maybe put in an LM386 and speaker so the clock can finally sing Happy Birthday to my daughter on her actual birthday. I know this is just another clock but it is very gratifying to see something come to life from my imagination. So I am going to keep plugging away on it.
  19. 1 point

    What is your Backup Process?

    It has been a long time since I started this thread. I am happy to report that Nextcloud is still working very well for me. It is reassuring that I can make a change on one machine and then have that change sync over to another machine almost instantly. Given that spinning hard drives have been getting less expensive and larger at the same time, I would highly recommend nextcloud to anyone who needs to keep their data safe.
  20. 1 point

    MSPflash do not work on MSP4305969

    Hi All, Sorry for disturb, I solve already my problem. Thanks all. Best Regards, Lukman
  21. 1 point
    Hi Ananmore, I probably can't help much because I do not understand the backend requirements of embedXcode. But I'm guessing it's assuming a specific environment, so here is what I have set up: 1/ macOS 10.13.1 2/ Xcode 9.2 3/ Arduino 1.8.5 - installed in /Applications 4/ Energia 1.6.10E18 installed in /Applications 5/ Cut / paste example sketch from Energia. 6/ Select Build target, run. 7/ Select Upload target, run - watch your LEDs start blinking. Hope you have some luck, the embedXcode environment is very impressive. I was getting ready to code at the Code Composer Studio level but the Energia/Arduino Sketch framework makes development so much easier.
  22. 1 point

    Raw ECG Signal Processing with MSP430

    One "easy way" is increase the sampling rate and use some moving average or exponential moving average. It's possible to use it without increase the sampling, but will interfere a lot in the waveform. Another way is apply some IIR or FIR filter. You can try my DSP library in this post https://forum.43oh.com/topic/10495-dsp-and-math-lib/
  23. 1 point
    Hello everyone, There is a couple of similar projects available on the internet. Some of them base on Arduino and PIC performs very basic mount control without math intensive computation implemented in embedded controller. I decided to build my own with the following goals: ease of use by an inexperienced amateur astronomer (full automatic operation) precision and resolution of position last but not least: the price Final, or better say at the moment, design comprises of the following components: Stellaris LM4F launchpad central control unit, two ULN2003 unipolar stepper motor driver chips, two 28byj-48 stepper motors one moving in azimuth, and in elevation via gear train, communication module: Bluetooth serial module. It allows sending a coordinate set-point and provides position feedback to Stellarium, GPS module providing position and precise time reference - PPS gives 1us accuracy, Nokia 5110 display unit and joystick for standalone operation, now obsolete mouse (PS/2) modified to provide independent (incremental) position information Resolution that was reached is a single step of approx. 5". Given the size of Jupiter to range from 30" to 50", this positioning resolution makes the view comfortably stable in standard 60° FOV eyepiece at reasonably high magnification, without the need to adjust AZ/ALT continuously. During the development I made use of several opensource and projects available online, namely: AccelStepper for stepper control, TinyGPS++ for NMEA decoding, Arduino telescope controller was my inspiration and reference for Taki's matrix method for coordinates transformation, of course Energia as my IDE Upon power-up the mount is performing: homing acquisition of current location (longitude/latitude) and time via NMEA stream moves to 3 brightest (most convenient) stars in succession to perform 3 star alignment procedure - they are selected from the list of over 500 stars in built-in catalog (the brightest are used for the alignment, tough), once aligned the mount is in tracking mode: it tracks the view to counter the apparent movement of objects in the sky, waiting, either for the user to move to particular object - selected from the library of stars and Messier objects, or awaits connection via Bluetooth from a PC running Stellarium with a plugin and slews to selected object. search for the object that should be visible in the eyepiece and display important information on LCD - I compiled in 500 brightest stars from HYGXYZ and full Messier catalog. I have very little experience as amateur astronomer so far, so some of the objectives might have been not very obvious for me in the beginning. This project was also a good way to make use of my free time and gain experience in embedded system design. With kind regards, Szymon
  24. 1 point

    CC2650 SensorTag: Low power checklist

    Here's a list of things to check for if you're getting excessive power consumption on the CC2650 SensorTag - particularly when using TI-RTOS: [3.0mA constant] If you're not using the MPU, has it been powered off? By default the Board_MPU_POWER pin is set to output high during startup (TI-RTOS 2.1). [2.9mA when idle] Do you have a power policy set up in the TI-RTOS .cfg file, and is it correctly configured to run when tasks are idle? [0.5mA when SPI inactive] Are the SPI bus pins set to pulldown when the SPI driver is inactive? If they're left floating the serial flash inputs can draw excessive current. [0.27mA constant (?)] Has the TMP007 been placed in shutdown? By default it powers up in 4x oversampling mode with a typical current of 270uA. [0.20mA when alert active (?)] If you're using the TMP007 alert pin function, have you disabled pullup on Board_TMP_RDY? There's an external pullup on the board already... [0.01mA constant] Has the external serial flash been powered down? It takes a typical current of 10uA in standby, which drops to 1uA in power-down. The ones marked (?) are unconfirmed, and are just based on specifications/schematics. Further to the two TMP007 items on the list: is your TMP007 working at all? If you can't get it to respond to I2C traffic it's possible that it has been damaged. Mine was, and it resulted in additional wasted current of 4mA until I removed the chip. Being a bare die makes it quite vulnerable to damage. If you're not using SPI then the following code fragment will resolve points 1 and 3: static const PIN_Config unusedPinTable[] = { Board_MPU_POWER | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, // MPU power off Board_SPI0_MOSI | PIN_INPUT_DIS | PIN_PULLDOWN, // disable input, enable pulldown to give a defined level on the bus Board_SPI0_CLK | PIN_INPUT_DIS | PIN_PULLDOWN, // disable input, enable pulldown to give a defined level on the bus PIN_TERMINATE }; // Open unused pins to set correct default state // Define unusedPinHandle and unusedPinState somewhere, either static or global unusedPinHandle = PIN_open(&unusedPinState, unusedPinTable); If you are using SPI you'll need to set up a pin table/handle/state for just the SPI pins, then use PIN_open after SPI_close and PIN_close before the next SPI_open. Alternatively you can just keep the SPI open... but that seems to take an extra ~100uA. I think that's because the uDMA forced to stay powered up. For point 2, the easiest way to be certain that the power policy is correctly set up is by calling it from a user-defined idle function. That way you can breakpoint the function and be sure that it is called when all tasks are idle. First you'll need to turn off the option that automatically runs the power policy when tasks are idle: Now add the following code to your project: #include <ti/sysbios/family/arm/cc26xx/Power.h> void idleFxn() { Power_standbyPolicy(); // Breakpoint this line to check that the policy is getting called on idle } Finally set up the idle function: Now run the program in the debugger and check that a breakpoint placed in idleFxn is hit during runtime. You can also step in to the Power_standbyPolicy code and see which low power mode it is able to use; sometimes it's prevented from going into full standby due to constraints set by active peripheral drivers. Removing the user-defined idle function and rechecking the "Invoke power policy when all threads are blocked" should give the same result, but it's harder to confirm that it's working correctly. The tiny saving from putting the flash into power-down for step 5 is barely worth the effort. You need code to initialise the SPI driver, get the flash into a known state from a potentially unknown one and then put it to sleep. The MCU can be reset without the external flash being power cycled, and JTAG blocks SPI traffic making the code untestable in the debugger. I only did this because I'm using the flash in my project already.
  25. 1 point
    A simple well documented hardware uart "Hello World" example. Updated, thanks for member comments 3/13/13 Notes: This code is for launchpad rev 1.5 This is hardware UART, your launchpad jumpers must be set for hardware UART The TI TUSB3410 is a TERRIBLE usb-> UART chip and is very buggy on WIN7 64bit. If your still having issues, it could be a driver issue. Try on XP or use a different USB -> serial device. //Nate Zimmer UART example // Press button to print hello to terminal #include <msp430g2553.h> // System define for the micro that I am using #define RXD BIT1 //Check your launchpad rev to make sure this is the case. Set jumpers to hardware uart. #define TXD BIT2 // TXD with respect to what your sending to the computer. Sent data will appear on this line #define BUTTON BIT3 void UART_TX(char * tx_data); // Function Prototype for TX void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop Watch dog timer BCSCTL1 = CALBC1_1MHZ; // Set DCO to 1 MHz DCOCTL = CALDCO_1MHZ; P1DIR &=~BUTTON; // Ensure button is input (sets a 0 in P1DIR register at location BIT3) P1OUT |= BUTTON; // Enables pullup resistor on button P1REN |= BUTTON; P1SEL = RXD + TXD ; // Select TX and RX functionality for P1.1 & P1.2 P1SEL2 = RXD + TXD ; // UCA0CTL1 |= UCSSEL_2; // Have USCI use System Master Clock: AKA core clk 1MHz UCA0BR0 = 104; // 1MHz 9600, see user manual UCA0BR1 = 0; // UCA0MCTL = UCBRS0; // Modulation UCBRSx = 1 UCA0CTL1 &= ~UCSWRST; // Start USCI state machine while(1) // While 1 is equal to 1 (forever) { if(!((P1IN & BUTTON)==BUTTON)) // Was button pressed? { UART_TX("Hello World! \r\n"); // If yes, Transmit message & drink beer __delay_cycles(100000); //Debounce button so signal is not sent multiple times } } } void UART_TX(char * tx_data) // Define a function which accepts a character pointer to an array { unsigned int i=0; while(tx_data[i]) // Increment through array, look for null pointer (0) at end of string { while ((UCA0STAT & UCBUSY)); // Wait if line TX/RX module is busy with data UCA0TXBUF = tx_data[i]; // Send out element i of tx_data array on UART bus i++; // Increment variable for array address } }