Slashdot Mirror


ARM-Based Arduino Competitor At SparkFun

Gibbs-Duhem writes "The LeafLabs Maple, an ARM device designed to be pin compatible with the Arduino, and with a strikingly similar and familiar development environment, has reached a new milestone — being carried by SparkFun. By swapping the popular 'avr-gcc' compiler with CodeSourcery's 'arm-non-eabi-gcc,' LeafLabs manages to provide a nearly identical programming experience to Arduino despite targeting a completely different architecture. Also, while some Arduino shields are incompatible due to certain capabilities being allocated to different pins, several of them are currently supported and there are more to come."

15 of 106 comments (clear)

  1. Re:So you take an ARM by Glock27 · · Score: 3, Insightful

    Dumb it down, and then what? What's next? "We take this Intel i7 and make it compatible with an 8 bit microcontroller! Previously, multi-core 64 bit processors were hard to use to make motors spin and LEDs light up, but NOW"

    Seems faintly ridiculous, along the lines of just doing something for the sake of saying we did it, like a manned Moon landing.

    I think you're looking at it the wrong way. This gives you a fairly powerful (well, 72 MHz) 32-bit processor in a small package, that's quite inexpensive. It's true that the amount of flash memory and RAM is small, although you could probably interface to more flash if you had to. However, what is nice is that the programming is easy, you have large registers, and you can do some fairly serious processing.

    If you need less power, you can always just use the original Arduino line, or something even less powerful.

    Having more choices and capability available is always a good thing.

    --
    Galileo: "The Earth revolves around the Sun!"
    Score: -1 100% Flamebait
  2. No, it doesn't run Linux by YA_Python_dev · · Score: 2

    Before you ask, this thing has 20 kB of RAM (yes, that's kilo, not mega), still better than the 2 kB of the Arduino but do not think of this as the same ARM that runs in your phone.

    And, yes, you can still do quite a lot of stuff in 2 kB of RAM (I created a pretty complicated protocol translator at work with an Arduino that even ran in the old ones with only 1 kB RAM).

    --
    There's a hidden treasure in Python 3.x: __prepare__()
  3. Arduino competitor? by TuringTest · · Score: 2

    Great! But does it have all the characteristics required to compete with the Arduino?

    I've seen only technical bullet points in TFA, and technical bullet points are not the reason why the Arduino matters.

    --
    Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
  4. Other ARM-based Arduinos. by Rufty · · Score: 4, Informative

    I've got a LeafLabs Maple. And a Cortino. And an ARMimte Pro. They're all ARM processors on an Arduino footprint board.(There's also Xduino, but I haven't tried one.)
    The Maple aims to be as Arduino-like as possible; even to the extent that you should eventually be able to copy running code from the Arduino IDE, paste into the very similar Maple IDE, hit compile and upload and you're good. It's not quite there yet, but if you're just developing for the Maple it's nice now.
    The Cortino is a much more traditional embedded system. It's got an uploader. (Windows executable only.) And, well, that's it. Find your own compiler and runtime. I think I remember finding that the upload protocol was something standard, but I ended up using OpenOCD and soldering in the JTAG header. One brick wall of a learning curve, but I was so pleased at getting it to blink morse!
    The ARMite PRO is the Arduino-footprint offering in a range of boards. They are preloaded with a BASIC interpreter, but solder on a jumper and you can upload via a FTDI USB serial cable. I think it's just the same as the Arduino lilypads.
    Fun to play with; I need to get an Xduino now!

    --
    Red to red, black to black. Switch it on, but stand well back.
  5. Re:PIC Replacement? by admiralranga · · Score: 2

    Its not a PIC24F but there is one (at least) http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,719,895&Prod=CHIPKIT-MAX32 after I find something fairly permanent for my arduino pro mini to do, I might get one.

  6. Re:PIC Replacement? by cynyr · · Score: 2

    can we do both at the same time, allowing those highschool kids to play with our stuff, go to school, and then come out knowing our stuff really well? Lets discuss at the next meeting.

    --
    All of the above was encrypted with a Quad ROT-13 method. Unauthorized decryption is in violation of the DMCA.
  7. Re:What is Arduino? by cynyr · · Score: 2

    right but we need to start somewhere... I would agree, with the ubuntu statement, which is why I'm not sure i would use one. It feels like very quickly i would run into wanting to do something but couldn't because my hands were tied (no pre-up hook for networking devices for example). At which point i would have to go buy a "real" microcontroler....

    Now can i provide a PWM signal to a 4 pin 12Vdc computer fan with an arduino? because it is looking like a 555 timer won't make the high frequencies(24khz i think) that the PWM fans need.

    --
    All of the above was encrypted with a Quad ROT-13 method. Unauthorized decryption is in violation of the DMCA.
  8. I'll take mine with a dash of AVR by TechyImmigrant · · Score: 2

    Given the choice for a bit of microcontroller hacking, I would take the AVR every time over an ARM. The ARM instruction set and processor model is a huge kludge. The AVR's is quite neat and clean. I've designed ARMs into a few chips and I've yet to meet an engineer who has chosen ARM because they liked the ARM, it's always because higher management have brought into the hype. The details suck.

    --
    Evil people are out to get you.
    1. Re:I'll take mine with a dash of AVR by Arlet · · Score: 2

      Having written plenty of code for both ARM and AVR, I have to disagree here. The ARM instruction set is very nice, powerful, and easy to learn. In comparison, the AVR isn't bad, but I certainly wouldn't favor it. The biggest problem with the AVR is the strict Harvard architecture, which means there's no good way that you can make a routine on the AVR that accepts either a pointer to RAM (such as a variable string) or pointer to Flash (such as a constant string).

      Besides, you can write many interesting programs without ever having to know the instruction set or the processor model.

  9. Re:What is Arduino? by vadim_t · · Score: 3, Insightful

    It's a microprocessor on a small board with digital and analog inputs and outputs, a serial port, easy programmability via USB, easy to use IDE and library of useful functions. The board accepts from 7 to 12V, and has pins that output the input voltage, 5V and 3.3V, which is very convenient.

    There are different versions of it, but the pinouts are standarized and it's made in a way that additional modules can be plugged on top of it, to provide functions like storage on SD cards or wifi.

    Why is it important? Because it allows people with near zero experience in electronics to make something that works.

    You can buy a microcontroller cheaply. But you'll need to spend many hours reading the datasheet, understanding how to hook it up, and how to program it. You'll end up working with a huge mess of wires on a breadboard, and need additional hardware for programming it.

    With an Arduino, you plug it into an USB cable and in less than 5 minutes you'll have your blinking LED. From there, you can say, buy a wifi shield and a solar panel shield, simply stack them, hook up for instance a temperature sensor to an analog pin, and with a bit of code you can poll that sensor over wifi.

    Projects done with it will likely be much more expensive than strictly necessary, but you'll be able to easily do things that would otherwise need a decent understanding of electronics.

  10. it has to do with ARM IIRC by decora · · Score: 2

    http://www.oszoo.org/wiki/index.php/Debian_lenny_arm_small.aj.qcow2.zip

    "
    arm vs armel

    Apparently there is some new version of ARM called EABI and instead of breaking compatability, debian decided to go with a whole new 'arch' to support the changes.

    'armel' is the 'new arm'. 'arm' is apparently deprecated.

    Please see http://www.debian.org/ports/arm/ and http://wiki.debian.org/ArmEabiPort
    "

    1. Re:it has to do with ARM IIRC by TheRaven64 · · Score: 2

      You know, if you don't know what you're talking about, it's better to just say nothing. The armel designation is used to indicate little-endian ARM targets. EABI isn't a 'new version of ARM' (whatever that means), it's a new(ish - about 10 years old) ABI, which adds support for some things like sane exception handling - it's the ARM embedded ABI, contrasted with oabi (the old Linux ABI). Debian defaults to the softfp version, which is painfully slow on architecture that have a real FPU, but they're in the process of adding yet another target which defaults to hard floating point. This affects calling conventions (in softfp mode, floating point parameters are passed in integer registers), so you can't mix the two calling conventions without some glue that no one has bothered to implement.

      --
      I am TheRaven on Soylent News
  11. Re:none EABI? by Anonymous Coward · · Score: 2, Informative

    it should be "none", not "non", indicating that this compiler does not target any OS, just a blank EABI slate. The submitter got it wrong

  12. ARM is not needed by alvieboy · · Score: 2

    I actually had some conversation yesterday about this [having ARM powering microcontrollers and small embedded].

    I don't think this will succeed, and I believe there are a few reasons for it. I also created an "Arduino" clone, based on a different processor, called ZPUino, and although the programming environment, libraries and so on can be nearly the same, specifics to the SoC are always tricky to implement and to provide viable alternatives.

    Why standard ARM will not replace Arduino:

        * Lack of internal ADC
        * Power consumption
        * Latencies and jitter in execution path and in memory access path. This is very important.
        * Lack of proper GPIO and common Arduino devices (timers, PWM, so on, so on)
        * You cannot build one yourself.

    Arduino follows the KISS model. Introducing complexity here is not welcomed. Arduino is meant to be used by non-experienced programmers, hardware hobbyists and DIY aficionados.

    Why would you use an ARM, with a few megs RAM, a few megs flash, to blink a LED ?

    Álvaro

    1. Re:ARM is not needed by AdamHaun · · Score: 2

      The SoC on this board has an internal ADC along with timers, PWM, and GPIOs. Not sure what you mean about latencies and jitter. Shouldn't a 32-bit CPU handle code and data accesses better than an 8-bit CPU? I'm not really a CPU architecture guy, so please correct me if I'm wrong.

      According to the datasheets, this STM ARM chip at 3.3V consumes a bit over half the power of the ATMega328 from an Arduino Uno running at 5V despite the former's CPU/memory advantage. Dynamic power is proportional to the square of supply voltage, so a 3.3V chip is going to have a big advantage over a 5V chip, all else being equal. A low-voltage chip is also easier to run off of a solar panel or small battery. If you want to go below nominal, the STM has an even bigger advantage at 2.0V. There are Arduinos that run at low voltages, but they have to run at lower frequencies. An AVR still wins for many needs, but not all.

      ARMs come in all sizes. On Slashdot you usually hear about them as a netbook CPU, but there are plenty of low-end chips available too. This board is designed for higher performance, but it's not excessive. If you can get more flash and RAM for roughly the same price and power consumption, why not take it?

      I don't use Arduinos so I can't speak for the overall system design, but I don't see any reason why you can't use an ARM SoC as the core of a hobbyist platform. It might not always be the best choice, but it does seem like a valid choice.

      --
      Visit the