Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Reputation Activity

  1. Like
    Automate got a reaction from bluehash in panStamp switching to CC430   
    In addition to Energia, they've announced the new panStamp will be compatible with Arduino 1.5 IDE.
  2. Like
    Automate reacted to szhao in RC Car Made with LaunchPad Box   
    Since I am working on the Robotics Boosterpack with @@HylianSavior and @@jwp071, I decided to make a prototype with the box LaunchPad comes with. I've used Firmata to send command to LaunchPad. Check out my other post here. 

    A quick overview of what's inside.
    - G2 LaunchPad Box 
    - MSP430F5529LP
    - Fuel Tank Boosterpack
    - DRV8833 Motor Drive Control
    - HC-06 Bluetooth
    - Pololu Gear Motor
    - Caps, wires, breadboard
    - Firmata over serial (enabled by Bluetooth)
    - Energia Library on LP
    - NodeJS on PC
  3. Like
    Automate reacted to maelli01 in decode the LEGO power functions protocol   
    LEGO power functions is a system of electronic components, motors,
    lights, remote controls to power various LEGO models.
    The remote control works with IR, but works surprisingly well even
    when there is no direct visual contact. The handheld unit is small,
    has two joystick-buttons, and allows 4 different channels to be selected.
    Much cooler than a TV remote!
    Interesting for hacking, LEGO has made the protocol open source, so 
    anybody can play with it, as long as not making it commercial.
    The protocol can be found here:
    So I decoded the powerfuctions protocol with the launchpad/energia:
    Apart from the lauchpad, I only needed a IR receiver. I tested with 
    a Vishay TSOP38338, other sensors might work as well.
    The processor sleeps when doing nothing, wake up only when there is 
    something to do. It is low power, but not ultra low, since the IR
    receiver needs around 0.4mA.

    //example program f
  4. Like
    Automate reacted to greeeg in Custom EzFet Lite   
    Soldered up a new board. Works like a charm, unfortunately I don't know actually have any target boards to use this with, as it's a different pinout.

    Fuse is a 1206 footprint, but I ordered 0805's No big deal, just looks funny.
  5. Like
    Automate reacted to szhao in Remotely Control Your LaunchPad with Firmata and Bluetooth   
    Programming a microcontroller for the first time can be a daunting task. What if you can remotely control your microcontroller by simply clicking few buttons on a PC GUI? 

    With Energia support, I was able to port existing Firmata code used for Arduino onto LaunchPads. Firmata is a serial communication protocol that allows a host (PC) sending commands to the microcontrollers (MSP430). You can use it to toggle pins and LEDs, or read digital and analog inputs without writing any C code. This makes it super easy to test out your new sensor or debug your circuit. Bluetooth simply creates a virtual serial port that emulates a physical serial port wire, so you can control and monitor your board remotely.
    Here is a demo video: 

    The application GUI is written in NodeJS. The browser is connected to the Node server using web socket. Whenever the user clicks a button, a message is sent to the server and the server will send Firmata commands to the LaunchPad.
    You can easily expand on top of the demo GUI I created by writing some javascript. Let's say you want to turn on an LED when the temperature is too high. You can let your Node server constantly check the temperature reading. Once it reaches the threshold, then set the LED pin to HIGH. 
    You can find out the source code of my project at my GitHub page: https://github.com/shengzhao91/FirmataGUI
  6. Like
    Automate reacted to HylianSavior in Robotics Boosterpack   
    Here's a BoosterPack that @@szhao, jwp071, and I are working on. It's a BoosterPack that turns a 40-pin Launchpad into a fully functional robot.
    It has two Micro Metal Gearmotors from Pololu driven by a DRV8833 motor driver IC and has five QRE1113 reflectance sensors from Fairchild for line tracking. It also has breakouts for a Sharp IR distance sensor and a servo. For power, a 3xAAA battery holder fits between the LP headers, which powers the 3.3V and 5V pins, as well as 9V for the motors.
    No pictures yet, as I'm in the middle of routing the board. I'll post updates as they come.
    Edit 6/30: A picture of the board in progress: https://dl.dropboxusercontent.com/u/538662/robot-boosterpack.png
    You can see the motor mounts at the far end.
    Edit 7/1:
    Quick update: https://dl.dropboxus...oosterpack2.png
    The five sensors up at the front are reflectance sensors on the bottom of the board for line tracking and maze solving. The middle three are for PID line following, and the two at the edges are for recognizing splits in the track
  7. Like
    Automate reacted to SixSixSevenSeven in Windows IoT program   
    I've been reading up all I can on the galileo and its workings, of course just about everything out there so far assumes the default setup with the galileo having the yocto linux distro preinstalled and supposedly being programmed from the modified arduino IDE which won't be so useful. Still, learning all you can about it can't do any harm.
    Considering intel seem to want the quark being used as a microcontroller, its a bit odd it has none of its own GPIO, but then I guess it is x86 and its not like x86 is world renowned for having GPIO. The galileo uses a GPIO expander on the i2c bus instead. Apparently the chip itself has some sort of high speed mode, but the arduino software doesnt support it out of the box, it has been the cause of many concerns among the arduino users as I/O is otherwise quite slow (some LCD's dont work for instance), whether we will be stuck with the same issue with microsofts tools or not remains to be seen.
    Onboard level translation between 3.3v and 5v, jumper selectable to run at 3.3v native if you wish. A bit of an odd one, the IORef pin will be set by the 3.3/5v jumper. The analogInput range will also match the state of this jumper so in 3.3v mode you can only record upto 3.3v without damage supposedly. Yet the ADC will always reference signals to 5v (the AREF pin is non functional). That could have resulted in some headscratchers if I hadn't read it beforehand.
    The onboard EEPROM is also an i2c device. That is an odd choice to me, I'm sure they could have emulated the EEPROM in a file on the flash instead although I guess most people are hardly short of i2c addresses.
    There is also a VIN jumper. There is no onboard 5v regulator on the galileo so the VIN pin is instead connected to 5v. Of course if you have a shield which genuinely uses VIN this will cause problems so there is a jumper to disconnect it. Personally I'd have preferred if it wasnt connected in the first place, but I am not everyone. If I do get the board, the jumper will be coming off and staying off.
    Under the boards own arduino firmware, mPCIe cards are not supported, you have to use the larger SD card install to access them. Even then only the intel N135 and N6205 cards are supported (and the N6205 is a half size card requiring an adaptor), its possible to install more though. This information is less relevant to us, remains to be seen what the situation will be with microsofts tools.
    I'm interested to see what microsofts setup is going to be with these boards. Then it will be time to come up with some project ideas.
  8. Like
    Automate got a reaction from Fred in Windows IoT program   
    Apparently there will be a new free version of Windows Embedded called Windows for IoT. http://www.pcworld.com/article/2138465/ ... hings.html

    It was announced at the Microsoft Build 2014 event. The below video starts talking about the Galileo board at the 51:15 mark
  9. Like
    Automate got a reaction from cubeberg in Windows IoT program   
    Thanks @@cubeberg,  I'm a .NET programmer so looking forward to one of these.
  10. Like
    Automate reacted to cubeberg in Windows IoT program   
    Looks like Microsoft is getting started on IoT - so for the .NET programmers - this might be an interesting thing.  I signed up - apparently they're sending out free dev boards - https://www.windowsondevices.com/
    Could be a cool sensor hub for instance.
  11. Like
    Automate reacted to L.R.A in Maybe add support for ADC hardware oversampling?   
    Adding hardware oversampling would be realy easy and would make it more easy use this feature with Energia
    it's exacly the same as analogRead but you would need to add 
    uint16_t analogRead(uint8_t pin) {    _analogRead(pin,0); }   uint16_t analogReadOverSample(uint8_t pin,uint8_t factor) {    _analogRead(pin,factor); }   uint16_t _analogRead(uint8_t pin,uint8_t factor) {     uint8_t port = digitalPinToPort(pin);     uint16_t value[1];     uint32_t channel = digitalPinToADCIn(pin);     if (channel == NOT_ON_ADC) { //invalid ADC pin         return 0;     }     ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0);     ROM_GPIOPinTypeADC((uint32_t) portBASERegister(port), digitalPinToBitMask(pin));     ROM_ADCSequenceConfigure(ADC0_BASE, 3, ADC_TRIGGER_PROCESSOR, 0);     ROM_ADCSequenceStepConfigure(ADC0_BASE, 3, 0, channel | ADC_CTL_IE | ADC_CTL_END);     ROM_ADCHardwareOversampleConfigure(ADC0_BASE,factor);     ROM_ADCSequenceEnable(ADC0_BASE, 3);       ROM_ADCIntClear(ADC0_BASE, 3);     ROM_ADCProcessorTrigger(ADC0_BASE, 3);     while(!ROM_ADCIntStatus(ADC0_BASE, 3, false)) {     }     ROM_ADCIntClear(ADC0_BASE, 3);     ROM_ADCSequenceDataGet(ADC0_BASE, 3, (unsigned long*) value);     return value[0];   }
  12. Like
    Automate reacted to kim27 in Greetings All!   
    Hi All!
    I've enjoyed playing around with the MSP430. My current project is a temperature sensors. You can read about it here.
  13. Like
    Automate reacted to zlalanne in RedBot BoosterPack   
    I have finished my first revision of the RedBot BoosterPack. For those that don't know SparkFun has a robotics kit they call the "RedBot". Which is basically an Arduino, robot chassis and a bunch of sensors. This BoosterPack basically replaces the Arduino and allows you to plug in your favorite 40-pin LaunchPad to interact with the hardware. Check out my GitHub link below for more information on the differences. 
    SparkFun sells the robot chassis and motors for $15 on its website, using it with this BoosterPack and a LaunchPad is a low cost way to get into robotics. I have started to port the Arduino library to Energia and currently have support for the motors. The GitHub project below has a lot more info and the current project status.
    The BoosterPack by itself:

    The BoosterPack + F5529 LaunchPad mounted to the robot chassis. The chassis from SparkFun includes all screws + standoffs to mount correctly

    Sideview of the BoosterPack + F5529 LaunchPad mounted to the robot chassis

  14. Like
    Automate reacted to jpnorair in Anyone using TI-RTOS?   
    I blasted through the modules.  By "blasted" I mean that I fast forwarded through the slides, but I'm an embedded RTOS expert, so to speak, so this was enough.
    It's clear TI has sunk a *ton* of money into this.  Mostly that's a good thing.  On the other hand, it's also clear that all of the tools they have built are designed to prevent you from ever porting or easily using it with anything other than a TI chip.  I would be really careful with that, because things happen in the semiconductor industry, and TI isn't always where you want to be (sacrilege... I know).  If you have a goal to do something on the extreme side, e.g. *lowest power* or *cheapest* or *fastest frame rate* (etc) or some other extreme performance metric, by no means do you want to use this.  In that case you need something more portable.  Otherwise, no big deal, you can probably stay inside the TI stable without trouble.
    Another thing I noticed is that TI-RTOS is fairly well abstracted across HW.  This means that it either has multiple, *very different* ports or that it is equally crappy on all the platforms.  I'm not sure which.  As a side-note, you can find embedded RTOSes that started with MSP430, others that started with Cortex-M, others that started with 8bit archs.  There's a legacy that makes them optimized for the original arch.  Contiki 3, for example, is in development and undergoing a massive effort to move all the legacy AVR8 ideology into ARM-CM ideology.  The take-home message is that it's a massive effort.  ChibiOS is CM-centric.  OpenTag is an exokernel (and a big mess) with entirely separate kernels for the different archs it supports, but nonetheless there's a clear MSP lineage.  Considering the  hoopla on nested interrupts, I wonder what was the origin of TI-RTOS (SYS/BIOS).  No-one targeting ARM is going to make a fanfare about nested interrupts.
    Finally, my most important piece of advice is also the one I made first: don't put I/O drivers in tasks (or threads).  Module 3 discusses the implementation of an 100kHz Audio driver inside a task.  GAG.  This means the scheduler is going to run *A LOT*.  Since it is a tickless scheduler, it also isn't a small piece of code.  Just be aware of that.  I'm not sure this is the best ideology for low speed MCUs.  What I do is build a driver that exists outside the scheduler, and when it completes enough I/O to qualify as a "packet," it will preempt the task which processes the packet.  This is very efficient, because the scheduler only has to run once per packet.  It is harder to write the driver, sure, but often this is the difference between something working and not-working on a chip like MSP430.
  15. Like
    Automate reacted to tml in Simple MSP430F5529 bootloader   
    I have spent quite a significant amount of time to figure out how and then write a simple bootloader for MSP430F5529 that I would like to share with you.

    It was written for mspgcc (4.6.3) and uses small memory model; for accessing high flash (20-bit addressed) I use some simple assembler inlines. It won't work out of the box in CCS.

    This project is fully functional and I use it to remotely reflash my weather station (https://plus.google.com/u/0/photos/102121325118286323880/albums/5936572393229426625?authkey=CJ3N8Y2CtJiOIQ). I just push the new application image onto the web server, then the application working on the target device downloads it, parses and puts onto the flash and then lets the bootloader do the rest of the work.

    The methods used for reflashing are kinda primitive (e.g. word access, while the block write would be way more efficient), anyway, I had to have this up and running in reasonable time.
    I think making the code CCS-compatibile is not a big deal, the main part is flash access enclosed in flash.c. Moving code to RAM is even simpler in CCS with LOAD and RUN directives.

    Anyway, any issue reports and comments are welcome!

    repo url: https://bitbucket.org/eltomek/msp430bootloader

    Best Regards,
    EDIT: fixed the link to the repo.
  16. Like
    Automate reacted to OppaErich in $4 Cypress Cortex-M0 boards   
    Not TI but we all love cheap stuff. Very small USB-PCB-Plug format.
  17. Like
    Automate got a reaction from bluehash in BBB Revision C with 4GB eMMC   
    Noticed this on the wiki here http://www.elinux.org/Beagleboard:BeagleBoneBlack#Revision_C_.28Pending.29
    Revision C (Pending)
    This revision increases the eMMC from 2GB to 4GB. We are making this change for several reasons:
    1) Complaints from the community about lack of space left in the eMMC.
    2) For those worried about their eMMC wearing out, the added space will help in the area of moving the data around to prevent wear out. Assuming of course you don't try and use it all.
    3) Concerns over the long-term availability of the 2GB device. 4GB is currently the low end of the offering. This also gives us two sources.
    We are planning a price increase for the Rev C somewhere between $5 and $15. We are working to figure out where it needs to be. This is for several reasons:
    1) To cover the increased cost of the 4G devices.
    2) Currently there is $0 margin on these boards which limits our ability to bring more manufacturing capacity on line. Added some margin allows us to find more capacity.
    3) Without margin, we cannot respond to component price increases due to market forces. This is of particular concern in the area of NAND and DDR3. We have been successful in fighting back some increases, but we don't know if that will continue.
    We plan to start production on this revision in 4-5 weeks. We will continue to build and ship the Rev B boards until then.
  18. Like
    Automate got a reaction from zeke in IoT Router idea   
    Speaking of panStamp, they have a discussion about what people want in an IoT router/gateway.  http://www.panstamp.org/forum/showthread.php?tid=2872
    From the comments there is a wide range of functionality people expect from a gateway.
  19. Like
    Automate got a reaction from bluehash in Open source wireless dev system   
    I came across this interesting Indiegogo project https://www.indiegogo.com/projects/vocore-a-coin-sized-linux-computer-with-wifi/x/4207492#home from a developer in China. 
    He originally assumed that FCC certification would be too expensive and was not planning on it for his project.  But then found it was not too bad.  His English is a bit broken but here is his comment.
  20. Like
    Automate reacted to esteimle in Open source wireless dev system   
    Well I thought I'd shamelessly post my MSP430 project here and see what people think of it ( I asked the mods first   Anyway it's a two part CC430 system with an access point and wireless endpoint.   The AP runs a small ethernet webserver that takes variables, and commands from a browser or an iphone app, and sends them to it's endpoints.   Then you can activate the endpoint's, relay, leds, or read it's opto isolator input, or A2D channels.  I made a indiegogo for it here to see if I can get it FCC certed https://www.indiegogo.com/projects/konexs-wireless-development-kit/x/7274449  Even if that doesn't work out it was still fun to work on   Thanks for checking it out!

  21. Like
    Automate reacted to KatiePier in programming a MSP430G2955?   
    Hi kendalls,
    Sorry for all of the frustration this has caused. I thought I might be able to provide some useful information for others trying to use G2955 in the future and an update on some of the topics in this old thread.
    The MSP-EXP430F5529LP launchpad has a newer redesigned emulation than the MSP-EXP430G2 Launchpad, and this is why this works for your setup. For reference, the G2 launchpad emulation section is usually called "eZ-430" and the new one on the F5529 is "eZ-FET Lite". Now, the reason the G2xx5 support was not added in later on G2 is because there is not a good way built in on that emulator to be able to reliably update the firmware - please see Dietmar's comments in these e2e threads concerning these topics: http://e2e.ti.com/support/microcontrollers/msp430/f/166/p/255422/900180.aspx#900180 http://e2e.ti.com/support/microcontrollers/msp430/f/166/p/254008/897717.aspx#897717 The G2xx Launchpad wasn't really designed to be used with other devices or to be updateable, and unfortunately G2955 came out later (and can't fit in launchpad board).
    However in that second post you can see where Dietmar mentions that the "next generation on-board emulator will be update-able and support all MSP430 devices" - this is the eZ-FET lite that he was referring to, which is now available on the F5529 Launchpad. So F5529 Launchpad supports most MSP430s (basically all SBW devices) including G2955 - you can see this on this wiki page as well: http://processors.wiki.ti.com/index.php/EZ-FET_lite and in the F5529 Launchpad user's guide http://www.ti.com/lit/pdf/slau533 p. 25 section 2.5. This is what we are using on new boards going forward, as you can see this is true on the new FR5969 Launchpad as well: http://www.ti.com/lit/pdf/slau535 section 2.6.
    And then of course as always the FET tool can also be used to program all MSP430 variants, and has additional features (adjustable voltage level, 4-wire JTAG as well as SBW, faster programming, etc). One more note - there is a target development board available for G2955 as well: http://www.ti.com/tool/msp-ts430da38 though of course you can make your own board too.
  22. Like
    Automate reacted to rolando07 in Pool Boy - Automated Pool Skimmer   
    Hello, my name is Rolando Correa. I am a Junior student at John Brown University located in Siloam Springs, Arkansas.
    This semester I have been working in a project called "The Pool Boy" for my Embedded Systems class.
    Project Objective
    The purpose of this project was to design and assemble a pool skimming system.  The final product, the Pool Boy, can autonomously navigate and filter the surface of an 800 square foot pool in under 60 minutes.  It filters the surface of the pool via water intake system driven by high efficiency electrical motors.  The Pool Boy follows a random path based on a "random generated number" to efficiently cover the entire surface of any size or shape of pool. The onboard proximity sensor allows it to navigate around stray objects and pool walls without collision.  The embedded solar panels continuously charge the included rechargeable battery.
    1 Texas Instruments MSP430G2553
    1 Proximity Sensor (4-30cm range) 
    3 Small Solar Panels (0.1mA each output current) *this turned out to be less than expected.
    2 Green LED's
    1 Red LED
    1 On/Off Switch
    1 Rechargeable Battery (7.4 V)
    2 EDF 50mm DC Motors
    High Density Foam
    1 MOSFET Driver (4426)
    2 Power MOSFET 
    1 Voltage regulator
    Feel free to leave a comment for more information.

  23. Like
    Automate reacted to jpnorair in Adding CC430 support   
    Cool.  The stock Chronos 433 antenna is absolute rubbish, though, so it is a low bar.
    In any case, I can mail you a hand-built ~5cm reference monopole, if you want to compare RSSI readings (send me a PM).  I have tons of these, which I manufacture in the lab.  Normally I don't offer this sort of thing, but you are actually working on something that is of interest to me.  The same offer goes towards anyone doing 433 MHz Chronos work, or for that matter CC430, CC11xx, and CC1200 work.
    It's also important to mention that a single-ended antenna (monopole) needs a decent-sized ground plane to work properly.  The Chronos doesn't offer this, but if it is plugged-in to a USB cable or some other path to mains-power, this will serve as an excellent ground (even plugged into a battery powered laptop, smartphone, etc, this is plenty of grounding).  As soon as you remove this ground, the antenna performance will get much worse.  Ideally your ground plane on a monopole configuration has radius of quarter-wave, but if you don't need wide bandwidth you can hack a decent antenna system just by having the perimeter of the ground plane >= half-wave (in this case, you are actually building a dipole).
  24. Like
    Automate reacted to dpharris in can bus?   
    I just got a Stellaris and a Tiva Launchpad talking CAN without a driver chip.  This uses diodes on the Tx pins, to common single bus wire with and a pull-up resistor.  This is strictly short-distance, but proof of concept for a quick hack.  See: http://www.mikrocontroller.net/attachment/28831/siemens_AP2921.pdf for details.   I used 3.3V, so I used a 3k pull-up, and used 1N4148 diodes.   
  25. Like
    Automate reacted to salmankhalid29 in Arduino Like Interface for BeagleBone Black C/C++   

    I got my BBB few days ago and decided to do something to help the BBB community. I found that accessing GPIO and Analog Interface is difficult (without bonescript) when using Linux and accessing them inside a C/C++ application, so I decided to write an arduino like interface for GPIO and Analog. I have plans to add serial, I2C and PWM later. There might be bugs so if you find any let me know. Its very easy to use, there is a test example for both adc and gpio. I need feedback so that it can be improved and more functionalities can be added.

    Git Hub Link for the Project:
  • Create New...