Archive

Posts Tagged ‘mcu’

Texas Instruments Tiva C Series Connected LaunchPad Unboxing and Quick Start Guide

March 28th, 2014 No comments

Texas Instruments Tiva C Series TM4C1294 Connected LaunchPad is an evaluation kit for the Internet of things with a Cortex-M4 MCU (Tiva TM4C1294), an Ethernet port, and USB interfaces for power and debugging. At $19.99 including shipping via Fedex, it’s one of the cheapest ways to get devices online. I’ve purchased one via TI e-Store, and already received it. I’ll post some pictures of the kit, go through the Quick Start Guide, and provides links to resources to go further.

EK-TM4C1294XL Connected LaunchPad Unboxing

I’ve received the kit in the package below with feature a QR Code linking to http://www.ti.com/launchpad, as well basic specifications (refer to my previous post for specs), list of tools (Code composer studio, Tivaware, Keil, IAR…) and package content.

Tiva_C_Series_Connected_Launchpad_Package
In the box we’ve got the board itself, a retractable Ethernet cable, a USB to micro USB cable for power and debugging, and Connect LaunchPad Quick Start Guide.

Board, Ethernet & USB Cables, and Quick Start Guide

Board, Ethernet & USB Cables, and Quick Start Guide

The Quick Start Guide describes the boards, the different pin on header, and how to get started. You can find both sides of the document here and here.

Top of the Board (Click to Enlarge)

Top of the Board (Click to Enlarge)

A closer look at the board shows the Ethernet port, a micro USB port, two user’s buttons as well as wake & reset button on the left, the MCU is in the middle, and the debug part on the right of the board with another micro USB port. Close to the MCU, you also have several jumpers to select the power source (ICDI (In-Circuit Debug Interface), OTG, and Boosterpack), as well as some selections for CAN and UART.  At the bottom you’ve got a breadboard area, and there are also 4 Boosterpack headers (male) on the board.

Bottom of the Board (Click to Enlarge)

Bottom of the Board (Click to Enlarge)

On the back of the board we’ve got the female headers for the BoosterPacks and description, as well as the MAC Address.

TI_Connected_Launchpad_vs_Arduino_LeonardoThe first time I open the box, I felt the board to be larger than I expected. The above photo shows the Connected LaunchPad next to an Arduino Leonardo clone.

You could also watch the unboxing video.

Getting Started with Tiva C Series (EK-TM4C1294XL) Connected LaunchPad

The board is preloaded with an application that connected to a Cloud based platform called Exosite. The very first thing you need to do is to register your board via ti.exosite.com. This requires registration, and you can also use you Google+ or Yahoo account for this process. After login, go to Click here to add a new device to your portal, click “Select a supported device below”, and “EK-TM4C1429XL Connected LaunchPad”.

Click continue to enter the MAC Address (found at the back of the board), a device name, and the device location as shown on the screenshot below.

Connected_launchpad_device_setupClick Continue and confirm at the next step. The device setup is completed at this stage.

This following step is optional to get started, but if you want to access the serial console, you’ll need to install drivers. It appears many of the tools are available for Windows and Linux (CCS and TivaWare), but the Quick Start Guide mentions a Windows PC is required, so that’s what I used. You’ll need to download Stellaris ICDI Drivers and extract spmc06.zip yo your computer.

Then connect the Ethernet cable between your board and your hub/router, and the micro USB to USB cable between the board and your Windows PC, which should then detect a new hardware. Select to install your own drivers, and select the path “spmc016\stellaris_icdi_drivers”. This will install “Stellaris Virtual Serial Port“. After this is complete, Windows will still detect a new hardware again, twice, repeat the steps above to install “Stellaris ICDI DFU Device” and “Stellaris ICDI JTAG/SWD Device“. If case you have issues, you can check the full instructions (PDF).

Now you can go to the Device Manager, to check installation is complete, and the serial port number, COM7 in my case.

Stellaris_ICDI_Driver_Device_Manager
You can now start Putty or Hyperterminal, and setup a 115,200 baud 8N1 connection on your COM port to access the serial port.

Let’s go back to ti.exosite.com. Under “Device List”, click on your device to connect to it, and interact with  the dashboard.

Tiva_Connected_LaunchPad_ExositeIt will show the Junction temperature, update counters when you press the user’s buttons, and turn on and off two LEDs on your board. The response time was very slow when I tested it maybe 5 to 10 seconds. My Internet connection might be in cause, or the refresh rate of the dashboard.

The portal will also show a map with other Connected LaunchPad around the world (over 300 at the time of my connection), and a game of Tic-Tac-Toe using you board (which I haven’t tried). You can check the full website screenshot.

When you start the board for the first time, and connect to Exosite you can see the following log.

Connected_LaunchPad_SerialAnd if you type “stats”, you’ll basically get what you can see from the Exosite dashboard.
Connected_LaunchPad_Serial_StatsThat’s all for the first steps with Tiva Connected LaunchPad. Texas Instruments also has uploaded a 5-minute video showing the Quick Start Guide steps.

Going further

Texas Instruments redirect developers to www.ti.com/tool/ek-tm4c1294xl  to access the software, drivers, and documentation, to start with “Project 0″ at www.ti.com/tiva-c-launchpad which for this board is Hello Blinky. The project requires the use of Code Composer Studio (SW-EK-TM4C1294XL-CCS), TivaWare (SW-EK-TM4C1294XL), and the ICDI drivers installed previously which you can get via http://www.ti.com/tool/sw-ek-tm4c1294xl. Please note that the download will require you to go through a ridiculous “U.S. Government export approval” form, but I got accepted immediately after application. During installation of CCS you may want to select a custom install, selecting “Tiva C Series ARM MCUs” only to avoid a large download and installation. I haven’t gone further for now due to lack of time. Beside CCS, Keil, Mentor Embedded and IAR Systems IDEs can support the board, and TI Tiva C Series MCUs.

It may also be worthwhile going through “Creating IoT Solutions with the TM4C1294XL Connected LaunchPad Workshop” with provides an introduction of CCS, TivaWare, and should go through all the MCU peripherals via sample code.

There are at least two other third party software tools:

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Low Cost Development Boards Giveaway: Raspberry Pi, BeagleBone Black, MicroZed, Minnowboard, and more

March 28th, 2014 No comments

OpenSystems Media is organizing a giveaway of some development boards targeting hobbyists. They’ll have a draw for the boards at EELive in San Jose, at their booth #2009 on April 1-2, but if you can’t attend you can also get a change to win online. Debelopment_Board_Giveaway

Here’s the list of board given away

You could also double your chances to win by tweeting the text below:

I just entered to win a #DIY board from @embedded_mag from #EELive.  Click here for your chance to #win http://bit.ly/EElivecontest #embedded

I could not find any terms and conditions, so I’m not sure if the giveaway is international, or only limited to the US.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Texas Instruments Tiva C Series TM4C1294 Connected Launchpad Sells for $20

March 11th, 2014 7 comments

There are now many ultra low cost MCU development kit selling for $15 to $25 such as STMicro Discovery Board, but for this price, they’ll usually just feature the MCU, a micro USB, pin header, maybe and maybe some sensors, and they usually lack any form of connectivity, at least without extra hardware. With Tiva C Series TM4C129 Connect Launchpad, Texas Instruments brings a board that can be used for IoT application out of the box thanks to the addition of an Ethernet port. The board sells for just $19.99, which means you could easily make something like a connected 4-relay control system for about $25.

Tiva C Series TM4C1294 Connected Launchpad (Click to Enlarge)

Tiva C Series TM4C1294 Connected Launchpad (Click to Enlarge)

Connected LaunchPad evaluation kit specifications:

  • MCU – Texas Instruents TM4C1294NCPDT ARM Cortex-M4 @ 120MHz with floating point, 1MB Flash, 256KB SRAM, 6KB EEPROM, Integrated 10/100 Ethernet MAC+PHY, data protection hardware, 8x 32-bit timers, dual 12-bit 2MSPS ADCs, motion control PWMs, USB H/D/O, and many additional serial communication interfaces
  • Connectivity – 10/100M Ethernet
  • Expansions
    • Dual stackable BoosterPack XL connection sites
    • Breadboard connection headers – Support for 20-pin and 40-pin BoosterPacker
  • USB – micro USB port for power and programming/debugging (via TM4C123GH6PMI IC)
  • On-board, in-circuit debug interface (ICDI)
  • Misc – 4 user LEDs, 2 user switches, reset switch, wake button, power select jumper
  • Dimensions – 12.45 cm x 5.59 cm x 10.8mm

The Connected LaunchPad Evaluation Kit contains the board itself (EK-TM4C1294XL), a retractable Ethernet cable, and a USB Micro-B plug to USB-A plug cable.

Tiva Connected LaunchPad High-Level Block Diagram

Tiva Connected LaunchPad High-Level Block Diagram

For development, the board is supported by Cloud-based, Exosite QuickStart Application, Code Composer Studio 6 (CCS 6) & TivaWare 2.1 and multiple development tool chain support such as CCS, Keil, IAR, Mentor & GCC.  The user’s guide also mentions it’s possible to use Energia Wiring framework.

Beside the user’s guide, documentation is currently limited, and there are no hardware files for now. Having said that there’s an online workshop for the board using CCS6 & TivaWare 2.1 to show you how to get started.

Texas Instruments Tiva C Series TM4C129 Connected Launchpad is currently available for pre-order for $19.99, and is expected to ship within 6 to 8 weeks. Contrary to most other companies that charge a ridiculous shipping fee for their low cost development kit, sometimes more expensive than the board itself, Texas Instruments does not charge for shipping, so $19.99 is the total price you pay. I know for sure, because I’ve just ordered one :).

For more information and/or to purchase the board, visit Tiva C Series TM4C1294 Connected LaunchPad page.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

STMicro Unveils $10 mbed-enabled and Arduino Compatible Nucleo Development Boards

February 18th, 2014 8 comments

STMicro has already announced a $24 NFC development kit a few days, and they’ve now announced new ultra low cost STM32 development boards. STMicro Nucleo development boards are based on different STM32 MCU based on ARM Cortex M0, M3 and M4, feature Arduino headers, and are supported by mbed platform.
ST_Micro_Nucleo

There are currently four boards available:

  • NUCLEO-F401RE – Based on STM32F401RET6 ARM Cortex M4 MCU @ 84 MHz with 512KB flash memory, 96 KB SRAM
  • NUCLEO-F030R8 – Based on STM32F030R8T6 ARM Cortex M0 MCU @ 48 MHz with 64KB flash memory, 8KB SRAM
  • NUCLEO-F103RB – Based on STM32F103RBT6 ARM Cortex M3 MCU @ with 128KB flash memory, 20 KB SRAM
  • NUCLEO-L152RE – Based on STM32L152RET6 ARM Cortex M3 MCU @ 32MHz with 512KB flash memory, 32KB SRAM

All four boards share the following specifications:

  • STM32 microcontroller with LQFP64 package
  • Two types of extension resources
    • Arduino Uno Revision 3 connectivity
    • STMicroelectronics Morpho extension pin headers for full access to all STM32 I/Os
  • mbed-enabled (mbed.org)
  • On-board ST-LINK/V2-1 debugger/programmer with SWD connector -  selection-mode switch to use the kit as a standalone ST-LINK/V2-1
  • Flexible board power supply
    • USB VBUS or external source(3.3 V, 5 V, 7 – 12 V)
    • Power management access point
  • Three LEDs – USB communication (LD1), user LED (LD2), power LED (LD3)
  • Two push buttons -  USER and RESET
  • USB re-enumeration capability: three different interfaces supported on USB: Virtual COM port, mass storage, and debug port

STMicro_Nucleo_PerformanceAs you can see from the diagram below, they should eventually be at least 8 Nucleo boards to choose from, based on STM32L0, STM32F0 and STM32F3 MCUs. The company will provide a software HAL library including a variety of software examples, and beside the mbed platform, the boards will be supported by other Integrated Development Environments (IDEs) such as IAR, Keil, GCC-based IDEs.

All for boards are currently available for $10.32 via STMicro Nucleo page, where you’ll also find user’s manuals, schematics, gerber files, and links to development tools, firmware and drivers. Four more boards, namely Nucleo-F072RB, Nucleo-F302R8, Nucleo-F334R8, and  Nucleo-L053R8 boards will be introduced in Q2 2014. The company will showcase the boards are Embedded World 2014 in Germany on February 25-27, and if you happen to get there you may get a free sample. All you need to do is to register here. You can also find more information on mbed Nucleo page.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Micro Python Brings Python to MCU Boards and Robots (Crowdfunding)

December 2nd, 2013 3 comments

Micro Python is an implementation of the Python programming language, written from scratch and optimized to run on micro-controllers such as the ones based on ARM Cortex-M cores. Damien George, the developer, also designed the Micro Python board powered by STMicro STM32F405 Cortex M4 MCU for the purpose of running Micro Python.

Micro_Python_BoardEven though in this project, the star of the show is not the board itself, as Micro Python will run on other platform once it’s open source, let’s have a look at the hardware specifications:

  • MCU – STMicro STM32F405RG @ 168MHz with 1MB flash, 192KB RAM, and an FPU.
  • External storage – Micro SD slot
  • 30 general purpose I/O pins – 5 USARTs, 2SPIs, 2 I2C busses, 14 ADC pins, 2 DAC pins, 2CANs, and 4 servo ports with power.
  • Built-in USB interface
  • Misc – 4 LEDs, a user switch, a reset switch, a real-time clock, and a 3-axis accelerometer (MMA7660)
  • Dimensions – 33×40 mm

The USB interface acts both as a serial device (CDC VCP) and removable storage device (MSC) to respectively access the Python terminal & debugging, and copy Python scripts to the board. The USB port can also be used to flash Micro Python onto the micro-controller.

Micro Python will handle the low level talks to boot the board, run ./boot.py to configure USB and other low level parameters, and will look for and launch your main program located by default in ./src/main.py. All you need is a Windows, Mac or Linux computer, connect the board via USB, and copy your Python scripts to the board, which just looks like another USB flash drive from your computer point of view.

Here are some code snippets:

  • Blinking LEDs every second:
    while True:
        pyb.led(True)
        pyb.delay(1000)
        pyb.led(False)
        pyb.delay(1000)
  • Reading accelerometer values:
    accel = pyb.mma()                #Read accelometer values
    print(accel[0])                       #Print x-axis value
  • Controlling servos:
    pyb.servo(1,45)        #Set servo 1 to 45 degrees
    pyb.servo(2,90)        #Set servo 2 to 90 degrees

Micro Python has the following key features:

  • Python 3.3 grammar and semantics. Libraries not all available.
  • Support for 32-bit ARM processors with the Thumb v2 instruction set, e.g. ARM Cortex-M.
  • Footprint:
    • Space-optimized binary compiled to Thumb v2 machine code: around 60KB
    • Size of all code, including FAT support, SD card, USB serial, USB mass storage, USB HID, Bluetooth, LCD, servo, timer: about 110KB.
    • RAM – “Hello World”: 4KB.
  • 4 types of code emitters – (compressed) byte code, native code, native code with native types, and inline assembler.

Damien George is taking the project to Kickstarter in order to complete the development of Micro Python, make it open source (MIT License), and fund mass production for the Micro Python board, which will also be Open Source Hardware. If you just want to support his development efforts, and get early access to the source code and updates, you can pledge 10 GBP (~$16 US). You’ll have to pledge 24 GBP (~$39 US) in order to receive Micro Python board as well, adding 4 GBP if you live outside the UK. There are also some other pledges with kits (Robotics, Wireless, etc…).  The project already reached its funding target, and delivery is expected in March 2014.

I’ve also discovered another Python implementation for MCU called PyMite (aka p14p, python-on-a-chip) via the Kickstarter FAQ. Damien explains Micro Python does not allocate heap memory for integer operations and method calls, and by doing so, reduces the risk of inducing a garbage collection cycle which would cause performance issues during critical code, e.g. interrupt subroutines.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Silicon Labs Unveils EFM32 Zero Gecko MCU Family Based on ARM Cortex M0+

November 4th, 2013 No comments

Silicon Labs, who bought Energy Micro earlier this year, has recently introduced a new family of 32-bit MCU based on ARM Cortex M0+ called EFM32 Zero Gecko, as well as the corresponding starter kit. These ultra low power MCUs (currently 16 products) are destined to be used in  IoT applications such as mobile health and fitness products, smart watches, activity trackers, smart meters, security systems and wireless sensor nodes, as well as battery-less systems powered by harvested energy.

EFM32 Zero Gecko

EFM32 Zero Gecko

The key features of this family include:

  • ARM Cortex-M0+ core @ 24 MHz
  • 4kb to 32 kB flash and 2kb to 4 kB RAM memory
  • 17 to 37 GPIO
  • Single 1.85–3.8 V power supply
  • 5 Power modes
  • Hardware AES (Some models only)
  • -40° to 85 °C operation range
  • Package options: QFN24, QFN32 and QFN48

EFM32ZG222F32, the Zero Gecko MCU with the most memory and features, has the following specifications:

  • ARM Cortex-M0+ CPU platform @ up to 24 MHz with Wake-up Interrupt Controller
  • Energy Management System:
    • 20 nA @ 3 V Shutoff Mode
    • 0.5 μA @ 3 V Stop Mode, including Power-on Reset, Brown-out Detector, RAM and CPU retention
    • 0.9 μA @ 3 V Deep Sleep Mode, including RTC with 32.768 kHz oscillator, Power-on Reset, Brown-out Detector, RAM and CPU retention
    • 46 μA/MHz @ 3 V Sleep Mode
    • 114 μA/MHz @ 3 V Run Mode, with code executed from flash
  • Memory – 32 KB Flash, 4 KB RAM
  • 37 General Purpose I/O pins:
    • Configurable push-pull, open-drain, pull-up/down, input filter, drive strength
    • Configurable peripheral I/O locations
    • 16 asynchronous external interrupts
    • Output state retention and wake-up from Shutoff Mode
  • 4 Channel DMA Controller
  • 4 Channel Peripheral Reflex System (PRS) for autonomous inter-peripheral signaling
  • Hardware AES with 128-bit keys in 54 cycles
  • Timers/Counters:
    • 2× 16-bit Timer/Counter
    • 2×3 Compare/Capture/PWM channels
    • 1× 24-bit Real-Time Counter
    • 1× 16-bit Pulse Counter
    • Watchdog Timer with dedicated RC oscillator @ 50 nA
  • Communication interfaces:
    • 1× Universal Synchronous/Asynchronous Receiver/Transmitter – UART/SPI/SmartCard (ISO 7816) /IrDA/I2S with triple buffered full/half-duplex operation
    • Low Energy UART – Autonomous operation with DMA in Deep Sleep Mode
    • I2C Interface with SMBus support – Address recognition in Stop Mode
  • Ultra low power precision analog peripherals
    • 12-bit 1 Msamples/s Analog to Digital Converter – 4 single ended channels/ differential channels, On-chip temperature sensor
    • Current Digital to Analog Converter – Selectable current range between 0.05 and 64 uA
    • 1× Analog Comparator – Capacitive sensing with up to 5 inputs
    • Supply Voltage Comparator
  • Ultra efficient Power-on Reset and Brown-Out Detector
  • 2-pin Serial Wire Debug interface
  • Pre-Programmed UART Bootloader
  • Temperature range -40 to 85 ºC
  • Single power supply 1.85 to 3.8 V
  • TQFP48 package

The company also provides a starter kit (EFM32ZG-STK3200) featuring EFM32ZG222F32 MCU (See specs above) with the following key features:

  • EFM32ZG222F32 Zero Gecko MCU
  • Advanced Energy Monitoring v2
  • Real-time energy and power profiling
  • Backup Capacitor for RTC mode
  • USB interface for Host/Device/OTG
  • LESENSE demo ready
  • Light, LC and touch sensors
  • SEGGER J-Link debugger
  • Free evaluation compiler versions
  • Supported by Simplicity Studio in Windows, Linux and Mac OS X.
EFM32_Zero_Gecko_Starter_Kit

EFM32ZG-STK3200 Starter Kit

Samples of Silicon Labs EFM32 Zero Gecko MCUs are available now in QFN and QFP packages, and production quantities are planned for Q4 2013. Product pricing for the Zero Gecko MCUs in 100,000-unit quantities begins at $0.49. The EFM32ZG-STK3200 starter kit is available now and priced at $69. It’s also possible to win one, if you have an interesting project, and are lucky.

You can find more information on EFM32 Zero Gecko and EFM32ZG-STK3200 Starter Kit pages. You may also want to read one user’s review of the Zero Gecko Starter Kit.

Thanks to Viswa for the tip.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

MCU Energy Efficiency Benchmark – Freescale KL02, Microchip PIC24, TI MSP430, and STMicro STM32L

August 16th, 2013 4 comments

Freescale has recently uploaded a video comparison the energy efficiency of several micro-controllers: Freescale Kinetis KL02, Texas Instruments MSP430, STMicro STM32L, and  Microchip PIC24. Since it’s a Freescale video, we already know the winner, but the test they performed it still interesting, and it shows drastic performance differences between architectures.

The used the following exact MCU for testing:

Freescale did not really select tough competition such as NXP LPC800 Cortex M0+, but instead a Cortex M3 MCU, and older 16-bit MCUs. I don’t know if Microchip has a new generation of ultra low power 16-bit MCUs , but Texas Instruments, for example, launched MSP430 Wolverine MCUs at the end of last year. So this comparison may not be very interesting to find out which company has the best MCU in terms of energy efficiency, but as I mentioned above, we’ll see clear differences between architectures, and I find the setup used for testing interesting.

The hardware setup is shown below.

Freescale_STMicro_Microchip_Texas_Instruments_Testbed

We’ve got four board with the MCUs mentioned above, with 4 fully charged capacitors, and a Freescale MCU measuring the voltage in the capacitor.

MCU_Energy_Efficiency_Test_Software_Flow

Each board is loaded with software that follow the flow chart above. Each board runs Coremark, acknowledges it’s done, sleep 5 seconds and repeat. If the voltage in the capacitor is not high enough for the MCU, there won’t be acknowledgment and the test ends. This power consumption “benchmark” measures the energy efficiency under heavy load, and not the standby power that may be the most important part in some applications.

Freescale_Kinetis_Energy_Efficiency_Demo

Then they visualize the real-time capacitor voltage level, CPU power consumption for all platforms. MSP430 is the device that takes the longest time to execute Coremark, and stops after only 2 cycles, because the capacitor can not deliver the minimum voltage required by the chip (2.2V). Microchip PIC24 stops after 12 cycles (1.76V), STM32L after 20 cycles (1.77V), and KL02 continues but we don’t get to see for how long.

You can watch the 5-minutes video to see the complete test.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter