Arduino Due and some other ARM platforms

The microprocessor world seems to be going in ARM direction. And so seems to be microcontrollers. Cheap ARM based 32-bit micro-controllers are taking their place and trying to replace less powerful 8- and 16-bit micro-controllers.

I wrote earlier that Arduino Goes ARM. It took quite bit of time for Arduino to take that step and release ARM based product. After a years-long wait, an ARM powered Arduino is finally due. The long waited Arduino Due just hit the market on Monday yesterday.

The idea of Due is to replace the 8-bit, 16MHz brain of the popular Uno microcontroller prototyping platform with a 32-bit, 84MHz processor, while augmenting inputs and capabilities all around. The board is somewhat more expensive ($49 USD / €39.00), which will mean that there will be also place for the cheaper Arduino models as well.

On board the Arduino Due is an Atmel-sourced ARM Cortex M3 microcontroller running at 84 MHz. The Due has an impressive list of features including a USB 2.0 host, compatibility with the Android ADK (lest you still need an IOIO), 12 analog inputs with 12-bit resolution, 2 analog outputs running at 12 bits, a CAN interface, and more input pins than you can shake a stick at. The form factor is similar to Arduino Mega. Due is a very advanced high performance processor which has been added to the Arduino line up. RCArduino blog article Arduino Due has a nice compares several Arduino platforms.

Quick Comparison with current Arduinos

Arduino UNO Arduino Mega Arduino Due
MCU ATMega 328 ATMega 2560 AT91SAM3X8E
Architecture 8 bit AVR 8 bit AVR 32 bit ARM Cortex M3
CPU Speed 16Mhz 16Mhz 84 Mhz
Flash Memory 32K 256K 512K
RAM 2K 8K 96K
EEPROM 1K 4K 250K
Digital Pins 14 54 54
PWM Pins 6 15 16
Analog Inputs 6 16 12
DAC 0 0 2

Arduino Due is bound to give a boost to the Arduino platform. The Due will open up huge new range of applications that are simply not possible with the current generation Arduino. By using the same platform and development tools it is possible that you can learn the basics on a tough little Arduino Uno, and then later you transfer exactly the same skill set to the super performance Arduino Due.

There are also some other downsides on the new Due platform besides the besides the higher (but not unreasonable) price. Arduino Due will not be compatible with the vast number of extension shields that have been developed for the older 5V Arduino Mega. You need probably to be more careful with the new board than with the old one. However like anything high performance it needs to be treated a little more carefully.

Arduino Due is not the only one player on cheap ARM platforms game. There are several competing more powerful ARM based platforms on the same price range. And there are also cheaper ARM micro-controller platforms. Let’s start from more powerful ones.

For example Raspberry Pi. Raspberry Pi is a super high performance platform (8-12 times faster CPU clock), more memory, runs full Linux, and costs less (just $35). Raspberry Pi has also built-in features like video output (HDMI and composite video) and Ethernet interface. Arduino uses a microcontroller; Raspberry Pi uses an applications processor. The downside is that Raspberry Pi is not directly compatible with Arduino shields, but there is a project going to make Raspberry Pi and Arduino shield to work together. Arduino is a marvellous thing, and I don’t feel the two are directly comparable or competiting. You’ll be using them for different things.

A13-OLinuXino is another interesting low-cost single-board Linux computer in a very compact nano-ITX form at 45.00 EUR price range. Also VIA introduces amazing $49 APC Android computer.

And now I give you pointers to some very cheap and interesting ARM micro-controller platforms.

Teensy 3.0 that costs $19. Teensy 3.0 is an affordable 32 bit ARM Cortex-M4 board, for development in Arduino or C/C++. Like the Due, the Teensy is based on an ARM Processor core the Teensy actually uses a Cortex M4 core which has advantages for digital signal processing applications over the Cortex M3 core offered by the Arduino Due. RCArduino blog article Arduino Due has a nice compares several Arduino platforms and Teensy 3.0.

If you wan to go to really low cost end on ARM micro-controllers, check out The Stellaris® LM4F120 LaunchPad. It costs less than 10 euros. The Stellaris LM4F120H5QR microcontroller offers an 80MHz, 32-bit ARM Cortex-M4 CPU with floating point, 256Kbytes of 100,000 write-erase cycle FLASH and many peripherals such as 1MSPS ADCs, eight UARTs, four SPIs, four I2Cs, USB and up to 27 timers, some configurable up to 64 bits. The board also features on-board emulation, which means you can program and debug your projects without the need for additional tools. It looks as though Texas Instruments are really reaching out to the hacker community with their new ARM-powered Stellaris dev board.

108 Comments

  1. Tomi Engdahl says:

    Reverse Engineering the ARM ALU
    http://hackaday.com/2015/12/21/reverse-engineering-the-arm-alu/

    [Dave] wanted to learn more about the ARM architecture, so he started with an image of the ARMV1 die. If you’ve had some experience looking at CPU die, you can make some pretty good guesses at what parts of the chip have certain functions. [Dave], however, went further. He reverse engineered the entire ALU–about 2,200 transistors worth.

    Inside the ALU of the armv1 – the first ARM microprocessor
    http://daveshacks.blogspot.co.uk/2015/12/inside-alu-of-armv1-first-arm.html

    Reply
  2. Tomi Engdahl says:

    Tiny USB Morse Code Beacon
    http://hackaday.com/2016/02/18/tiny-usb-morse-code-beacon/

    It is reasonably easy to make a microcontroller spit out some Morse code. What makes [pavlin’s] take on this project interesting is that it resides on a tiny USB board with an ARM processor. The design for the board is available with single-sided artwork suitable for production using simple methods like toner transfer.

    The STM device has a built-in USB bootloader. It can also act as a serial port, which makes the project very simple. The only external parts are a speaker and an optoisolator.

    Programmable CW Morse Keyer / beacon
    http://e.pavlin.si/2016/02/16/programmable-cw-morse-keyer-for-beacon/

    The code is available on GitHub.
    https://github.com/s54mtb/stm32projects/tree/master/projects/f0-usb-beacon

    Reply
  3. Tomi Engdahl says:

    Explore M3
    with Arduino and beyond. . .
    https://hackaday.io/project/10711-explore-m3

    Explore M3 is a feature rich ARM Cortex M3 development board. It can help you prototype ideas faster with Arduino and take them beyond, with bare metal programming, RTOS support and lower power modes if need be.

    We are writing numerous tutorials as listed in the details section. Explore M3 will also have a opensource CIMSIS Debugger hardware, quick prototyping baseboard with numerous peripherals and a Starter kit.

    More importantly, as an early backer you can get the board at $15, we will be launching a campaign on CrowdSupply soon. Do sign up with the link below, to be notified about the campaign!
    https://www.crowdsupply.com/explore-embedded/explore-m3

    Reply
  4. Tomi Engdahl says:

    Open Source Digital Radio System
    https://hackaday.io/project/11056-open-source-digital-radio-system

    Or something like that. I’m just putting together an ATMega, CC1101 module and an LCD to make a small communication device.

    Hey! Why don’t I slap together an ATMega328, a CC1101 Sub-GHz module, an LCD and try to make a small modular radio system? That’s what popped into my mind one morning, when I woke up.

    Details

    I may see two kind of uses right now:
    -Amateur Radio paging system. Because who doesn’t want a pager! Makes you feel important :D
    Something in the lines of a one-way system (for now): a base station made of a CC1101 plus a hefty power amp broadcasts messages over 70cm band to small modules people carry around. The small receivers include an LCD and buttons to display and acknowledge the messages

    -Digimodes interface: the CC1101 can transmit using 2FSK, 4FSK, GFSK, MSK, OOK and flexible ASK (as per the datasheet).I thought it would be interesting to make a small interface linking this module to a PC, and maybe add a small PA to bump up the power up to 7W (within Amateur Radio operating conditions). I never got into digimodes over UHF, this may be a chance to do so.I think non-amateurs may also use it as long as they don’t use a PA and stay in the 433MHz band.

    Reply
  5. Tomi Engdahl says:

    Learning ARM Without Dev Board
    http://hackaday.com/2016/06/05/learning-arm-without-dev-board/

    There’s a tremendous amount of value in using pre-built, known-good development environments. It saves you hours of potential headaches when things aren’t working. Is the bug in the hardware or the software? If you bought a dev kit, you can be pretty sure it’s your software. But sometimes using a dev kit also feels like there’s a black box in the system. [Kevin] wanted to peer inside the black box, so he ordered a tray of cheap STM32F103 chips on eBay, and did the rest himself.

    “The rest” isn’t all that much, but figuring that out is half the battle. [Kevin] soldered the TQFP chip onto a breakout board, added some decoupling capacitors, and connected four pins up to a dirt-cheap ST-Link programmer clone.

    A complete tutorial for using an STM32 without a dev board
    http://kevincuzner.com/2016/05/22/dev-boards-where-were-going-we-wont-need-dev-boards/

    Reply
  6. Tomi Engdahl says:

    STM32CubeProgrammer software for programming STM32 products
    http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stm32cubeprog.html

    STM32CubeProgrammer (STM32CUBEPROG) is an all-in-one multi-OS software tool for programming STM32 microcontrollers.

    It provides an easy-to-use and efficient environment for reading, writing and verifying device memory through both the debug interface (JTAG and SWD) and the bootloader interface (UART and USB).

    STM32CubeProgrammer offers a wide range of features to program STM32 microcontroller internal memories (such as Flash, RAM, and OTP) as well as external memories.

    STM32CubeProgrammer also allows option programming and upload, programming content verification, and microcontroller programming automation through scripting.

    STM32CubeProgrammer is delivered in GUI (graphical user interface) and CLI (command-line interface) versions.

    Multi-OS support: Windows® , Linux® , macOS®

    Reply
  7. Tomi Engdahl says:

    RIP DIP ARM
    https://hackaday.com/2018/04/15/rip-dip-arm/

    very month, semiconductor manufacturers across the globe retire old devices. A product that has been superseded, isn’t selling well, or maybe whose application has declined, is removed from the catalogue and ceases to be manufactured. Usually these moments pass unnoticed, just one old device among many. Who is going to remark upon the demise of a chip for a VGA card for example, or a long-ago-left-behind Flash memory chip?

    One has come to our attention that is pretty unremarkable, but that could concern some of our readers. NXP have stopped manufacturing the LPC810M021FN8. What on earth is an LPC810M021FN8, you ask, the answer being that it appears to have been the last microcontroller with an ARM core available in a DIP package. Even that in itself is hardly earth-shattering, for if you really must use an ARM core rather than any of the myriad 8, 16, or 32 bit microcontrollers still available you can always get a DIP breakout board for a small surface mount chip.

    Reply

Leave a Reply to Tomi Engdahl Cancel reply

Your email address will not be published. Required fields are marked *

*

*