Jump to content


Popular Content

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

  1. 5 points

    RFC: CNC BoosterPack

    Driver code for a few boards is available from my github account. A PCB design with reduced size allows two boards to be mounted to the EK-TM4C1294XL LaunchPad providing up to 6 axes of control (needs to be verified). I have also added TCP streaming to the EK-TM4C1294XL LaunchPad but usure if I can publish the code due to the "viral" clause in many of TIs files - even the startup code 🙁. Grbl is released under GPL and I have a hard time understanding the legalese related to that... I am currently working on a DRO/MPG for my lathe with Grbl running on a MSP432, and the DRO/MPG code on a Tiva C/MSP430 combo. Threading support is a part of that work and hopefully I'll be able to get it working reliably - looks promising this far.
  2. 4 points

    Sensirion SHTC3 temperature-humidity sensor

    Sensirion has recently introduced an inexpensive, low-power temperature humidity sensor SHTC3 designed for operation in the range 1.62--3.6V . It should be a useful peripheral for MSP430 battery-powered applications. I have tested 3 sensors with the F5529 Launchpad and they exhibit reliable, consistent behavior. For reference, I have written some demo code for I2C communication that is available on github: https://github.com/microphonon/SHTC3 The SHTC3 comes in a small DFN package, so to do breadboard testing I had to build my own breakout boards and use reflow soldering (see photo).
  3. 3 points

    Bosch Sensortech BME280

    The Bosch BME280 pressure-temperature-humidity sensor is very popular for projects because there are breakout boards available from Adafruit and Sparkfun as well as a large library of code to interface it to Arduino MCUs. Not so much for the MSP430, especially transparent code to understand what is happening at the register level. I have written and tested some demo C-code that hopefully fills that gap. It sacrifices generality and efficiency for compactness and transparency. I use the F5529 Launchpad and communication with the sensor is via SPI using the UCB0 module. I2C is also available for the BME280 but not implemented here. Temperature and relative humidity (no pressure) data is obtained using the forced mode with periodic polling by the MSP430. Sensor and MCU are in low-power sleep modes when not active. Data is streamed to a terminal program that is interfaced to the Launchpad via serial UART. Each BME280 has unique trimming parameters that must be retrieved and properly parsed to convert the raw data. This process is quite complicated, so separate functions were developed to handle them and placed in an include library. My IDE is CCS 6.1.3 with nofloat printf support. This code should work directly in the MSP430x5xx and MSP430x6xx families. Other MSP430 series such as FR and value-line will need to make appropriate module/register modifications. Link to github is here: https://github.com/microphonon/BME280
  4. 3 points

    TI HDC2010 temp-humidity sensor

    There is code available to implement I2C communication between the MSP430 and the HDC2010 temperature-humidity sensor, but it's a bit like an onion -- you have to peel away layer after layer in various libraries to drill down into what is happening at the register level. I decided to write some transparent demo code for this sensor that is self-contained: everything related to the I2C interface is in a single C program. It has been successfully tested with the F5529 Launchpad. This is a simple MCU polling operation that periodically makes a T-H measurement using the on-demand mode of the sensor. The data is sent to the serial port for display on a terminal program. The on-board heater is activated for a few seconds upon reset. I have not implemented the temperature-humidity high/low interrupts. One could also configure the sensor to output data periodically and toggle its DRDY pin to wake-up the MCU from LPM4. Polling code is here: https://github.com/microphonon/HDC2010 The HDC2010 is a tiny sensor with a 6-bump BGA footprint. TI makes an evaluation module that uses an MSP430F5528 to interface the sensor with a configuration/graphing GUI program. Their program only runs on 64-bit Windows. The portion of the PCB hardware containing the sensor can be broken off (permanently) to reduce thermal mass and allow placement in a project. I decided to make my own breakout boards (see photo), but just learned that MikroElektronika started selling essentially the same thing for $13 (MIKROE-2937).
  5. 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
  6. 1 point
    I've done this on products - powered an analog section off an I/O pin. It is the cheapest power control method - heck it's free and it takes no power to implement. If you need more current you can parallel two or more pins. There is no problem with parallel MOSFETs, they will current share as rdson increases with temperature.
  7. 1 point
    Announcing the release PRTOS, an open-source preemptive real time operating system kernel for bare-metal applications. You may find PRTOS a good choice if you want to learn about preemptive multitasking. The API, though having all the features of FreeRTOS or uC/OS, is much simpler and easier to learn. Additionally the system will fit into much smaller processors. PRTOS is released by Cleveland Engineering Design - the developer of the CoRTOS cooperative real time OS, also available on Sourceforge. PRTOS presently supports the MSP430 and AVR architectures. PRTOS is available on Sourceforge at https://sourceforge.net/projects/prtos-preemptive-rtos/ The advantages of PRTOS are: It has the smallest footprint of any true preemptive system: 1.3kB for basic scheduling and task control, 4.8kB with all the features below (MSP430 / size optimization); Only 950 lines of code implement all of the RTOS features (SLOC-L); The system is configurable, you include only the features you need; There is minimal to zero interrupt burden; The system is well documented with a short but comprehensive manual, well-commented source code, and a test suite demonstrating the features; The system is proven - it has been in use since 1982 with applications in in-vitro medical equipment, process control instrumentation and industrial machinery; It is released under a GPL V3 license and commercial licensing is available. PRTOS provides the following features: Scheduling Preemptive Prioritized Round-robin equal priority tasks Task Control Initialize/Ready Suspend/Resume Lock/Unlock Change priority Relinquish a round-robin turn Communication Messages, priority messages Signals Delay & Time Task delays Time-outs Periodic signals Run timers Resources (mutexes) Multiple resource ownership Priority inversion mitigation Priority or FIFO queuing Semaphores Binary Counting Signaling ISR -> task functions Send signal Send message, send priority message Resume task
  8. 1 point

    MSP430FR2433 SleepSeconds 18ua

    Have you looked at what's happening "under the hood" with CCS or similar? All things considered, I find it amazing that the current is as low as it is. Energia is a great place to start and experiment, but it's not intended to replace coding that is far closer to the metal, er, silicon. Given it's heritage as a msp430 version of the Arduino, it's a very impressive piece of work. But, to manage the supporting classes, and the ever-present loop, it is constrained if your're looking for ultra-low power apps. You have already demonstrated that differential with your driverlib version.
  9. 1 point

    Using FRAM above 0x00010000

    "support has been added in Energia for the MSP430FR5994" but Serial1 is not working, and and even more unfortunate, the available I / O still does not support interrupt handling. I mentioned these problems since May 2018, Energia1.8.7E20 is available and the same problems are still unresolved. It is difficult to try to work with a chip that is very poorly supported by the ENERGIA teams. Sorry for this reminder, but please try to do something! I develloped a simple Lora gateway (Wifi+GSM/GPRS) from this launchpad and the results are good despite these difficulties of programming!!
  10. 1 point
    This board is indeed obsoleted. It was replaced by the RED board many years ago. The TI-RTOS version it was based on no longer receives updates. Hence, it was time to retire this. If you still like access to this board then do the following: Open Energia's preferences (File->Preferences or on macOS Energia->Preferences) Located "Additional Boards Manager URLs" and paste the following link into that field: https://energia.nu/packages/package_msp432_black_index.json Go to the board manager and you should see the black board appear again. Good luck with your Robot project. Robert
  11. 1 point

    RFC: CNC BoosterPack

    I have recently been working on a CNC BoosterPack that I will make available on Github when completed later in the spring. Current specifications: Support for my HALified version of GRBL (based on 1.1), currently drivers has been made for MSP432 (black version), Tiva C and MSP430F2955. NOTE: firmware is built with CCS 6.1, MSP432 driver is 100% CMSIS based. Opto-coupled inputs, NC switches recommended. Opto-coupled outputs with 200mA open drain drive for spindle on, spindle direction, flood and mist. Can drive most relays and solenoids directly. Output section can be powered from internal 3V3 or 5V source, or from external source. If powered from external source outputs can be made opto-isolated via jumper setting. PWM-output for spindle speed currently directly connected to MCU pin (could be changed to open drain). I2C (IIC) interface with selectable voltage level (3V3 or 5V) via level shifter, dedicated interrupt input. I2C pinout compatible with my 4x4 keyboard project, supports jogging etc. Optional EEPROM for configuration settings for MCUs with no internal EEPROM. Polulu 8825 motor driver breakout board compatible. Fault signal routed to GPIO input. Considered for later revision: Break out SPI interface and add full support for Trinamic motor drivers. Optional (SPI) DAC for motor speed (laser power) control. This might require a 4-layer PCB and also solving the pinout cabal... --- Anything you want changed? Terje
  12. 1 point
    Sorry - busy weekend/work week Enabling pull up/down resistors should be sufficient for that problem - it's recommended for low-power optimization anyway. Looks like @NurseBob has done an excellent job answering everything else FWIW - I like Elecrow over Seeed, etc. I've always had good luck with them - and they have good customer service for the few times I've had any issues.
  13. 1 point

    SIM800L using TM4C123GXL and Energia

    Thank you, Fmilburn! I was wrong when I was trying to use the library SoftwareSerial.h. Now just using Serial3.begin and etc and looking the arm's pin map, the program is working. Thank you one more time!
  14. 1 point
    you can not use Lora library with the MSP430G2553. Ram is to small !!!!! only 512 bytes Arduino 2Kbytes SRAM
  15. 1 point
    >Appreciate if you can further assist me Unfortunately, my current system configuration doesn't support Energia builds at the moment. So, hopefully someone else will be able to help.
  16. 1 point
    Rei Vilo

    Arduino Library to Energia

    Read the FAQ.
  17. 1 point
    > What am I doing wrong? @Jacamo, really hard to say. However, looking at the code (it always help to actually post what you wrote - saves time for looking things up...), you might want to explore increasing the delay interval so the steps, if occuring, are easier to see. FWIW, looking at the schematic in the page you referenced, the resistor is 220 Ohm, not 10K. Also, another FWIW, P1.6 (pin 14) is factory connected to the green LED2 on the board. You needn't actually add an external LED. I had a spare LP with a G2553 (same pinout for the first 14 as your G2231, so same code works) available, pasted the code, added the jumper for LED 2 and ran the code; all works as promised. Do you have the jumper on the LED2? If so, that might interfere...
  18. 1 point
    @poulichp I confirm: Optional step - Format the image to 32-bit PNG with https://www.imagemagick.org/script/index.php Step 1 - Use the utility https://github.com/vaskevich/png2c to convert the PNG file into a C-array. Step 2 - Use the example LCD_screen_Logos from the EduBPMKII_Screen and adapt it to match the size of the image and the Kentec 3.5" SPI display. Image Screen
  19. 1 point
    Let me know if you have a problem with the above steps.
  20. 1 point
    I solved the problem by following these steps exactly: copy <energia directory>\hardware\tools\DSLite\DebugServer\drivers\MSP430.dll to <energia directory>\hardware\tools\msp430\bin\ edit <energia directory>\hardware\energia\msp430\boards.txt an change the 2 occurrences of rf2500 with tilib restart energia and you should be able to upload to the MSP-EXP430G2 with MSP430G2553. Apparently this is a known issue but there's some question about whether it's resolved using latest versions of the tool. The issue is also posted on github: https://github.com/energia/msp430-lg-core/issues/12
  21. 1 point

    PCB Laser Exposer/Printer

    Improved homing cycle has led to (near) perfect registration of solder mask. Layer registration mark, lines are ~0.1mm wide. Part of TSSOP 20 footprint, mask is way past "use before" date so some problems with spots appearing. I have started to apply the Riston film on wet PCBs, dust problem nearly gone - easier to handle. Terje
  22. 1 point

    RGB 4x4 button thing

    Built a second prototype to test out the smaller 0404 LEDs. I thought they might have better colour blending because the LED dies are closer. But the silicone buttons already do alot of that. They don't appear to make much difference. The LED dies are of similar sizes, so the 0606 size is the same brightness of the 0404. At the brightness I'm running at makes the TLC a little warm, but not too much. On the next PCB rev I'll add some thermal vias on the TLC's exposed thermal pad.
  23. 1 point

    [POTM] dAISy - A Simple AIS Receiver

    Good news for everyone having difficulties sourcing the Si4362 radio IC. I verified that the transceiver Si4463 works with dAISy. This probably also applies to Si4460 and Si4461. Besides being more widely available through distributors, more adventurous souls can even find these ICs on Aliexpress. Even better news for those that want to recreate my project with minimal effort: Si446x based radio modules are sold on eBay and elsewhere. I bought the E10-M4463D from eBay for $7.99: http://www.ebay.com/itm/100mw-433MHz-SI4463-Wireless-Transceiver-Module-With-Antenna-2100m-/151243201316 I chose this module over others because all pins of the radio are broken out to headers. Unfortunately two pins (GPIO2 and GPIO3) are reserved to control the RF switch that connects the antenna with RX or TX channels. But after a few minor changes to my code I had dAISy working. Here's the branch on Github: https://github.com/astuder/dAISy/tree/E10-M4463D The wiring changed: GPIO0 -> P2.0 NIRQ -> P2.5 GPIO2, GPIO3 -> no longer connected to the LaunchPad As the modules are built for 433 MHz and AIS is using 162 MHz, I had to replace antenna and passives on the RX side. The new passives from left to right are (ignoring the obvious 0-ohm resistors) 11pF, 150nH, 13pF. As you can see the 0603 components are a very tight fit. I reflowed them with a hot air station instead of using a soldering iron. The clunky thing on the right is a BNC connector, SMA probably would have been a more elegant fit Technically, it's still not ideal. The traces might be impedance matched to the original frequency. However a quick real-world test demonstrated similar sensitivity as my original breakout boards. EDIT: added wiring information EDIT: added link to Github
  24. 1 point

    IPC training information

    Just to follow up ... I found another website tonight called http://www.soldertraining.com/. It is another excellent resource for electronic assembly knowledge. I find the Standards & Manuals - Design attractive and I am considering purchasing a set for myself.
  25. 1 point

    PCB Calculator Programs

    And for those high current PCBs, A trace width calculator. http://circuitcalculator.com/wordpress/ ... alculator/