Archive

Posts Tagged ‘freertos’

Mediatek MT2533D is a Bluetooth 4.2 SiP for Smart Headphones & Hands-Free Systems

January 9th, 2017 3 comments

There used to be a time when most products were based on a general purpose MCU or processor that you would interface to over chips like audio codecs, memory chips, flash storage, etc…, but in order to cut costs, application specific SoCs have become quite common over the year, so we’ve had mobile application processors for several years already, but more recently we got “wearables” SoCs and “Smart Home” SoCs, and Mediatek has launched MT2533D “headphone” SiP (System-in-Package) combining a Cortex-M4 MCU, 4MB PSRAM, an audio codec, and a dual mode Bluetooth subsystem.

mt2533-block-diagramMediatek MT2533D specifications:

  • MCU –  ARM Cortex-M4 @ up to 208MHz with 32KB L1 cache, FPU, MPU, AES 128/192/256 crypto engine and TRNG
  • Memory – 160kB SRAMs, 4MB pseudo SRAM
  • Storage – 4MB flash
  • Wireless Connectivity – Bluetooth 4.2 dual mode (classic and low energy)
  • Audio
    • AAC/SBC for Bluetooth audio
    • CVSD/mSBC for Bluetooth speech
    • PCM playback: 8-48kHz sample rate
    • PCM record: 8kHz and 16kHz sample rate
    • Dual-mic noise suppression and acoustic echo cancellation
  • Display
    • Hardware 2D accelerator
    • DBI serial interface up to 320×320 @ 30 fps
    • 1-lane MIPI DSI interface up to 480×320 @ 30 fps
  • Camera – Mediatek camera serial interface up to VGA resolution @ 30 fps with YUV422 or RGB565
  • Other Peripherals
    • USB 2.0
    • 3x UARTs, 3x I2Cs
    • 6x PWMs, 4x SPI masters, SPI slave
    • I2S
    • SDIO v2.0
    • 5-channel ADC
    • Up to 38 GPIOs
  • Package – 172-ball TFBGA with 0.4mm pitch
  • Dimensions – 6.2 x 5.8 x 1.05 mm
  • Ambient temperature – -40°C to 85°C

There are interfaces for small displays and low resolution cameras, as well as a fair amount of I/Os, so it could certainly be use for audio applications outside of simple headphones, not matter how “smart” they may be.

One interesting part is that I did not get the news from MediaTek, but instead MediaTek Labs, Mediatek’s Internet of Things (IoT) developer program, and MT2533 is supported by the MediaTek LinkIt Development Platform for RTOS based on FreeRTOS. That means the SiP will be available to makers, and not only large companies, and development and debugging can be done in ARM Keil μVision, IAR Embedded Workbench and GCC like other LinkIt platforms. A development board or, like Mediatek calls it, an HDK (Hardware Development Kit), based on MT2533D could also be launched in the near future.

However Mediatek Labs only mentioned that MT2533D will be available to device makers in Q1 2017, and the developer documentation and tools will be released in Q3 2017, so we will have to wait for a while before being able to play with the platform. More details can be found on MT2533D product page.

Meet NXP i.MX8 Processor Families: i.MX 8 for High performance, i.MX 8M for Audio/Video & i.MX 8X for Low Power

October 6th, 2016 4 comments

Freescale and then NXP have been talking about i.MX8 processors for several years, and this spring unveiled i.MX 8 Multisensory Enablement Kit without giving much details about the processor except it would include both Cortex A72 & A53 cores. But NXP put out a press release yesterday about “Multisensory Automotive eCockpit Platform to Advance Multimedia Experiences in Future Cars” which appears to be the same news but with different words, except the content of the PR has more interesting bits such as:

The new family, which is based on up to six 64-bit ARMv8-A technology processor cores and includes a HiFi 4 DSP, LPDDR4 and DDR4 memory support as well as dual Gigabit Ethernet with audio video bridging (AVB) capability, is designed to advance automotive dashboard graphics such as instrument clusters, infotainment visuals, heads-up displays, rear-seat screens and more. Capable of driving four HD screens with independent content or a 4K screen, the new devices introduced today include:

  • i.MX 8QuadMax which integrates two ARM Cortex®-A72 cores, four Cortex-A53 cores, two Cortex-M4F cores and two GC7000XS/VX GPUs
  • i.MX 8QuadPlus which integrates one ARM Cortex-A72 core, four Cortex-A53 cores, two Cortex-M4F cores and two GC7000LiteXS/VX GPUs
  • i.MX 8Quad which integrates four Cortex-A53 cores, two Cortex-M4F cores and two GC7000LiteXS/VX GPUs
Click to Enlarge - Source NXP and EETimes

Click to Enlarge – Source NXP and EETimes

Hmm… SoCs with two identical GPUs? That’s because automotive applications often require multiple operating systems running on a single processor, with maybe one part handling the “infotainment” screen, and another taking care of the dashboard, which has to be 100% stable. This is usually handled by a software hypervisor but i.MX 8 processors can do this mostly using hardware virtualization, and does not require safety critical and non-safety critical software to share the same part of the hardware.

The new processors currently support for Android, Linux, FreeRTOS, QNX, Green Hills, and Dornerworks XEN, multiple temperature grades including automotive AEC-Q100 grade 3 (-40° to 125° C Tj), industrial (-40° to 105° C Tj), and consumer (-20° to 105° C Tj), and are fully supported on NXP’s 10 and 15-year Longevity Program. You’ll find a few more details about NXP i.MX8 processors slated to go into mass production in Q1 2017 on the product page.

However, while searching for more details about i.MX 8, I’ve come across a PDF file dated July 15, 2016, revealing more i.MX8 processor families are on the way with i.MX 8M series for audio/video applications with 4K VP9/H.265 and HDR support, and i.MX 8X series based on  ARM Cortex A35 / M4 cores for low power applications.

Click to Enlarge

Click to Enlarge

The document also informs us that two more i.MX 8 processors are planned with i.MX 8Dual and i.MX 8DualLite dual core Cortex A53 SoCs.

Click to Enlarge

Click to Enlarge

But let’s go back to i.MX 8M series with four SKUs namely 8M Quad Video, 8M Dual Video, 8M Quad Audio, and 8M Solo Audio.

Click to Enlarge

Click to Enlarge

All features one, two or four Cortex A53 cores, a real-time Cortex M4 cores, 1080p to 4K video support, 20 channels audio, USB 2.0 or 3.0 interfaces, and DTS and Dolby Atmos support. The processors will be used in streaming media clients, networked speakers, soundbars or AV receivers, or some embedded clients in consumer or industrial sectors.

NXP i.MX 8X series will first include 3 SKUs: i.MX 8QuadXPlus, i.MX 8DualXPlus, and i.MX 8DualX all powered by one to four ARM Cortex A35 cores and supporting up to 3 displays.

Click to Enlarge

Click to Enlarge

The processors will target display and audio applications, 3D graphic display clusters, telematics and V2X (Vehicle to everything) applications.

NXP i.MX 8M and 8X are not listed on NXP website yet, but I’d assume they’d go to mass production sometimes in 2017, when they may have become Qualcomm i.MX 8 processors…

Pine64 Unveils $2 PADI IoT Stamp WiFi IoT Module with FreeRTOS SDK, Upcoming ARM mbed 5.0 Support

September 12th, 2016 12 comments

Realtek RTL8710 WiFi IoT modules came out as potential competitors to ESP8266 modules last month, with similar features. an ARM Cortex M3, and a pricing as low as $2 in quantities. However, documentation is often in Chinese only, and based on my experience with an RTL8710AF module limited to AT commands set for now. Software and documentation are likely to improve a lot however, as Pine64, the makers of Pine A64 boards, are about to launch their own “PADI IoT Stamp” RTL8710AF module for just $1.99 in any quantities.

padi-iot-stampPADI IoT Stamp specifications:

  • SoC – Realtek RTL8710AF ARM Cortex-M3 @ 83 MHz with 1MB ROM, 512KB RAM, and 1MB flash
  • Connectivity – 802.11 b/g/n WiFi @ 2.4 GHz – 2.5 GHz (2400 MHz – 2483.5 MHz) with PCB antenna; Station / SoftAP / SoftAP + Station modes;
  • Expansion headers – 22 half-holes with
    • Up to 1x SPI @ 41.5 Mbps max
    • Up to 3x UART with 2x up to 4Mbps, 1x @ 38400 bps
    • Up to 4x PWM
    • Up to 1x I2C @ 3.4 Mbps max
    • Up to 19 GPIOs including 10 supporting interrupts
  • Power Supply – 3.0 to 3.6V (3.3V recommended)
  • Power Consumption – 87 mA typ. @ 3.3V using 802.11b 11 Mbps, +17 dBm; 0.9 mA light sleep; 10 uA deep sleep; More details on Section 6 of the datasheet.
  • Dimensions – 24 x 16 mm
  • Temperature range – -20 ℃ ~ 85 ℃

If the hardware looks familiar, it’s because it also most the same as B&T RTL-00 module. However, I’ve been told it might not be 100% compatible, so mixing firmware for different modules may potentially brick them. The module can be programmed and debugged using IAR, openOCD, and/or J-Link, and it supports firmware updates via UART, OTA, and JTAG. Currently, the company provides a download link to Ameba Standard SDK based on FreeRTOS and LWIP, but ARM mbed 5.0 support is planned in the coming months. [Update:Ameba RTL8710AF SDK ver v3.5a GCC ver 1.0.0- without NDA has been uploaded recently] Configuration can be done through AT Commands, Cloud Server, or Android / iOS mobile app.

PADI IoT Stamp Pinout Diagram

PADI IoT Stamp Pinout Diagram – Click to Enlarge

You’ll find documentation in English and tools on PADI IoT Stamp product page, including the datasheet, a guide start guide with AT commands, Ameba SDK 3.4b3, and some tools and drivers for the serial console. The module will officially launch on September 14th, and you’ll be able to purchase it for $1.99 plus shipping. The company is also working on a breadboard-friendly NodeMCU like board featuring PADI IoT Stamp, but I don’t have further info about this board at this stage.

In somewhat other news, some people submitted both RTL8710AF and RTL8711AF processors to a X-Ray machine, and while the latter has more features such as NFC support, it appears both SoCs look exactly the same under X-Ray, so RTL8710AF might actually have the exact same features, but they are just disabled.

Explore M3 Board based on NXP LPC1768 Cortex M3 MCU Comes with Lots of Tutorials (Crowdfunding)

September 12th, 2016 No comments

Explore M3 is an ARM Cortex M3 development board powered by a micro USB port, with plenty of I/Os, Arduino compatible, and the developers have also written many tutorials to help people getting started as fast and easily as possible. A starter kit with cables and sensors is also available with the board.

explore-m3

Specifications:

  • MCU – NXP LPC1768 ARM Cortex M3 @ up to 100MHz with 512KB flash, 64KB RAM,
  • USB – 1x micro USB 2.0 OTG port for programming and power
  • Expansion Headers – 2x 20-pin male headers + 8-pin unpopulated header with 38x GPIOs, 4x UARTs, 2x CAN, 2x SPI, 2x I2C, 6x PWM, 5x ADC, 1x DAC, 2x interrupt pins, I2S audio, and power signal
  • Debugging – JTAG/SWD Debug connector
  • Misc – USB boot and reset buttons
  • Dimensions – 55mm x 25mm

The hardware is somewhat similar to mbed LPC1768 board but with a few more I/Os. The breadboard friendly board can be programmed with the Arduino IDE, but you can also go “bare metal” using ARM-GCC and Ellipse, or other tool chains like Keil or Co-IDE. Alternatively, the board also support FreeRTOS real-time OS. You can find close to 50 tutorials for all three programming options on ExplorerEmbedded Wiki, and some source code is also available on Github.

explore-m3-pinoutExplorer M3 developers are now raising funds via CrowdSupply to help reducing price for mass production. A $19 pledge should get your the board, but for bare metal programming you may want to add $20 for SODA SWD debug adapter, if you don’t already have your own programmer, and the starter kit goes for $49 with various other accessories. Shipping is free, and delivery is planned for mid November.

Development Resources for Realtek “Ameba” RTL8710, RTL8711, and RTL8195 WiFi SoCs

August 1st, 2016 21 comments

We were made aware of a potential ARM based ESP8266 competitor last week with Realtek RTL8710 WiFi modules selling for about $3.5 shipped per unit, and under $2 per unit for larger orders (100+ pieces). Hardware is good, but for a platform to be successful, or even just useful, you also need software support. So I started doing some research into IoT-Tech BBS and asked ICStation for an “SDK” for the module they sold.

802.11 nxn with NFC RTL8710 Module

RTL8710 single band 802.11n (1×1) and NFC Tag Solution block diagram

I ended up on this forum post providing an “Realtek RTL8710 SDK” via Baidu (password: brwp), which turned out to be about the same as the Google Drive link provided by ICStation, and only contain minimal documents, as well as cracked Windows IAR Embedded Workshop and JLink tools. There are also some more technical details in Chinese only in another forum post, and well as B&T RTL8710 module datasheet (PDF).

However, if you don’t read Chinese that’s pretty challenging, and you may not want to use cracked software for development. I’ve soon come to the conclusion that RTL8710 was part of Realtek “Ameba” family also including RTL8711AF/AM and RTL8195AF, with the latter used in Ameba Arduino IoT board ($25), and supported by Ameba IoT community, where you’ll find both a “Standard SDK” and an “Arduino SDK” with several documents to get started.

Click to Enlarge

Click to Enlarge

The comparison table above shows that RTL8195AM and RTL8711AM support 2MB SDRAM + 512KB SRAM, while RTL8711AF & RTL8710AF only support 512KB SRAM. The not-so-good news here is that the Arduino SDK currently relies on the 2MB SDRAM lacking in the cheaper versions of the chips, and that’s the reason given by Realtek for the lack of implementation on RTL8710/RTL8711. The good news is that Realtek confirmed that the “Standard SDK” based on FreeRTOS and LWIP supports RTL8195, RTL8711 and RTL8710 processors.

Ameba_SDK_Architecture

Ameba SDK Software Architecture

You can freely download the standard SDK after registration on Ameba IoT community website, and you’ll find source code (component folder), documentation, sample code (project folder) and tools for Windows, as well as Android and iOS configuration apps (source + apk binary).

Realtek_Ameba_SDKYou may have noticed that the SDK name ends with “without NDA” which unfortunately means some documents – such as RTL8710 datasheet – are not publicly available at this time. However, Realtek has noticed the interest raised by their low cost WiSoCs, and hopefully the company will decide to become more open, at least for RTL8710/8711 to allow the community to fully leverage WiFi IoT modules based on Realtek low cost wireless processors.

Ameba IoT community appears to focus on their Realtek RTL8195AM based Ameba Arduino board right now, but you can always try to get more details or help in their forums. Alternatively, “dpape” has very recently created RTL8710 forums, and #rtl8710 IRC channel where interested developers and users can share ideas and more information about Realtek RTL8710/RTL8711 solutions.

An Alternative to ESP8266? Realtek RTL8710 ARM Cortex-M3 WiFi IoT Modules Sell for $2 and Up

July 28th, 2016 21 comments

ESP8266 WiFi modules initially stormed the maker market for IoT applications thanks to their low price, and later it became the dominant WiFi IoT platform for hobbyists thanks to its large community of developers. But technology progresses over time, and it’s always fun to look out for new solutions, and Realtek RTL8710 could prove to be an interesting alternative with its ARM Cortex-M3 processor @ 166 MHz, a little more user memory (48KB), audio support, faster WiFi performance, while still keeping a low price, as modules can be purchased for $3.90 on ICS station, a little more on eBay, and as low as $1.95 per unit on Aliexpress including shipping if you purchase 100 pieces or more.

Realtek_RTL8710_ModulesA Chinese website as a side-by-side comparison between Realtek RTL8710 and Espressif ESP8266, which I also found translated into English.

Realtek RTL8710 Espresif ESP8266
Package QFN-48 (6×6 mm) QFN-32 (5×5 mm)
CPU ARM Cortex M3 @ 166 MHz Tensilica LX106 @ 80 / 160 MHz
RAM 48KB available to user 36KB available to user
Flash 1MB Built-in 1, 2, 4, 8 or 16 MB
WiFi 802.11n up to 150 Mbps, 802.11g up to 54 Mbps 802.11n up to 65 Mbps, 802.11g up to 54 Mbps
GPIO Up to 21 Up to 17
I2C Up to 3 Up to 1
PCM Up to 2 None
PWM Up to 4
UART 2x high-speed UART, 1x low-speed UART Up to 2x UART
Power Voltage: 3.0 to 3.6V; Current: 80 mA
Temperature range -40 to 125 °C
Standard certifications FCC/CE/TELEC/SRRC/ WiFi Alliance FCC/CE/TELEC/SRRC

The processor is said to run FreeRTOS operating systems, which happens to be the one also used in Espressif ESP8266 and ESP32 SDKs. Boantong also provides a development board integrating their RTL-00 module with PCB antenna for $14 + shipping.

RTL8710 Development Kit

RTL8710 Development Kit

Debugging and programming can be done through the micro USB port using CMSIS DAP or JLINK.  I’ve not been able to find RTL8710 SDK yet, but there does seem to be a dedicated support forum (in Chinese only).

So at this stage RTL8710 is clearly not for everyone yet, but if you are interested in using or evaluating RTL8710 modules in commercial projects, you may want to check out “Boantong IoT Business Department“.

Via Bird on SMEoT Facebook Group.

$20 MediaTek LinkIt 7687 Arduino Compatible WiFi IoT Board Runs FreeRTOS

April 22nd, 2016 1 comment

MediaTek Labs has already launched several WiFi boards for IoT applications starting with LinkIt ONE, and later LinkIt Smart 7688 running OpenWrt, and the company is now about to launch LinkIt 7687 HDK (Hardware Development Kit) powered by Mediatek MT7687F Cortex-M4 SoC,  running FreeRTOS, and developed & produced by Silicon Application Corp (SAC).

LinkIt_7687LinkIt 7687 (WS3489) board specifications:

  • SoC – MediaTek MT7687F ARM Cortex-M4F MCU @ 192MHz with 352 KB SRAM, 64KB ROM, and 2 MB serial flash in package, integrated security engine, and built-in 802.11n WiFi. 8×8 mm 68-pin QFN package
  • Connectivity – 1×1 802.11 b/g/n WiFi with on-module PCB antenna and U.FL connector.
  • USB – 1x micro USB for power, debugging (Coresight Debug Access Port + Virtual COM)
  • Expansion
    • Arduino Uno Rev. 3 headers + an extra 8-pin extension connector.
    • Mass Storage Device (MSD) flash programming interface.
    • Reserved headers for power consumption (current) measurement.
  • Misc – LEDs for UART communication, power, and 6x user customizable; 3x push buttons for reset, RTC interrupt, and external interrupt; configuration jumpers for power source and boot mode (embedded flash or UART)
  • Power supply – 5V via micro USB port, or 1.8 to 3.2V using VIN pin
  • Dimensions – 108.5 x 60.5 mm
  • Weight – 25 grams
  • Temperature Range – Operating: -40 to 85°C
Mediatek MT7687F Block Diagram

Mediatek MT7687F Block Diagram

This is the first board for MediaTek LinkIt Development Platform for RTOS, which is said to provide “the convenience of a single toolset and common APIs implemented over a popular RTOS”, in this case, FreeRTOS with additional components such as TCP/IP, SSL/TLS, HTTP (client and server), SNTP, DHCP daemon, MQTT, XML and JSON. You can download MediaTek LinkIt SDK v3.0, compatible with Windows and Linux operating systems, to work on it.

LinkIt_for_RTOS

Documentation for the board, including datasheets, a user’s guide, and the hardware reference files, can be found on Hardware Development Kits for the MediaTek LinkIt Development Platform for RTOS page.

Mediatek MT7687 HDK and MT7687 WiFi module are shown to be “coming so” for respectively $19.99 and $4.99.

Via HackerBoards (previously LinuxGizmos)

GoWarrior Tiger Development Board with ALi M3733 SoC To Support Android, Debian and FreeRTOS

December 10th, 2015 8 comments

There was a time when development boards were really hard to get for individuals with companies not wanting to waste their time with hobbyists, but the maker revolution changed all that, and now many companies want to get involved in “open source” board for the developer’s community. The latest board trying to emulate the Raspberry Pi is GoWarrior Tiger powered by ALi M3733 dual core cortex A9 processor with 1GB RAM, 4GB Flash, Ethernet and WiFi, HDMI and AV output, and two 40-pin expansion headers.

Gowarrior_TigerBoard

Tiger Board (Click to Enlarge)

Tiger board specifications:

  • SoC – ALi M3733-AFAAA dual Cortex A9 processor @ 1.0 GHz with  ARM Mali-400 MP2 GPU
  • System Memory – 1GB DDR3; dual channel 1600 MT/s, 800MHz
  • Storage – 4GB on-board NAND Flash + micro SD slot
  • Video & Audio Output – HDMI 1.4 port up to 1080p, with support for HDCP and CEC, 3.5 mm AV jack
  • Connectivity – 10/100M Ethernet, 802.11 b/g/n WiFi and Bluetooth 4.0
  • USB – 2x host 2.0 host ports, 1x micro USB device port for power, connect to computer, and flash the NAND chip.
  • Expansion – 40-pin Raspberry Pi compatible header (J3) and 40-pin header (J4) with up to 63 GPIOs multiplexed with I2C, SPI, 2x UART, digital VOUT, digital VIN, SD, PCM, SSI, etc…
  • Debugging – UART0 in J4 header gives access to the serial console, and unpopulated JTAG header
  • Misc – 11x LEDs for power, Ethernet, and users (8x), 3x buttons, selection switch for NAND flash or micro SD boot, IR receiver
  • Power Supply
    • 5V via DC jack or micro USB port
    • PMU with support for RTC, IR/Key standby and resume, system deeo standby mode compliant with EU green power standard.
  • Dimensions – 93.2 x 59.7 mm

Tiger_BoardThe company plans to provide at least three operating systems for the board with GoDroid (Android), GoBian (Debian), and GoTDS (FreeRTOS), but so far only GoDroid is available for download, and there are some repositories on GoWarrior’s github account related to GoBian. All documentation is currently only available for GoDroid, and you can also find some hardware design files such as the schematics (PDF only), PCB layout (.pcb), system reference manual, datasheet and so on. So documentation appears to be decent for the hardware and Android, and they also have Chinese and English forums for support.

The board used to be available on eBay for $79 shipped, but it can only be found on Taobao right now for 399 CNY (~$62). More details can be found on GoWarrior community website.