SimpleCortex, for when an Arduino is too wimpy

Sometimes, an Arduino just doesn’t have enough horsepower. Whether you’re gathering loads of sensor data and sending it over the web via Ethernet, or just trying to build a home-brew video game, it’s very easy to run into the limitations of the Arduino platform. [Rik] and his fellow classmates may have a solution to this problem with their SimpleCortex development board.

The SimpleCortex began as an answer to the Arduinos [Rik] and his classmates had to use at school. The SimpleCortex gets its name from an ARM Cortex M3 microcontroller running at 120MHz; more than fast enough to do some very interesting things, and 512kB of Flash to hold much larger programs.

The Arduino IDE is admittedly terrible, and big projects are a pain in the butt with a tiny 8-bit micro. SimpleCortex improves upon this development environment by using the free CoCenter IDE put out by CooCox. The CoCenter IDE supports debugging and code completion, standard features on any serious desktop programming environment.

The SimpleCortex has Arduino-compatable header pins, so it should be easy to use existing shields, like the 3G modem we saw this week and the NTSC video IO shield that can do object tracking. While the specs of the SimpleCortex put it in a distant second to the Raspberry Pi, sometimes you just don’t need Linux, but a standard AVR or PIC isn’t quite enough.

There’s no word on when this board will be available, but the team is working with ITead Studio to officially release boards into the wild.

Post navigation

46 thoughts on “SimpleCortex, for when an Arduino is too wimpy”

This is something I would really like to have. Having worked with ARM’s before, they are much harder to prototype with. I personally see little value add to to arduino since AVR’s need very little support circuitry but ARM’s are a whole different story, and existing dev tools aren’t easy to use (especially the free ones).

(oops, sorry mods, that was the wrong button)
Well, an ARM basically is a completely integrated microcontroller as well. You need a JTAG/program interface, 1.8V and 3.3V supply and a crystal. Not much more than an AVR or PIC, but the chips are just harder to access (small pitch QFP’s and not as popular tools available). However, I have worked a lot with the ARM7 NXP devices, and actually never was fond of 8-bit platforms again. They are such a pain for little gain.

Like the Raspberry Pi, it looks like this thing comes with ethernet built-in. Getting WiFi or Ethernet to work on the arduino has been such a source of frustration, if that works out of the box, that feature alone makes this something I’d like to pick up.

The “analogue output” has also sparked my curiosity. The arduino does PWMout, but they have a big red x for that feature, and a big green check for their board. Will this thing have a true analogue out?

I agree very strongly with the Raspberry Pi comment “sometimes you just don’t need Linux”. I’d finding it very difficult to justify having a miniaturised PC as the basis as an ’embedded’ controller and for the kinds of projects I work on, this looks a lot more useful. I’ll be watching this one very closely!

Here one of the designers of this board.
The board is for sale at the moment, at friday there was a stock of 7 (first batch, small test run)
Hopefully a new batch of 100 should be done in a week or 3.
Ordering is possible but it will take a couple of weeks before they ship.
NXP is working on a DIP ARM M0, when it is released we plan on supporting it to in the form of a bunch of libraries and tutorials.

You can also code for this board using the awesome and very simple mBed libraries. It’s the same chip.
No need to use the mbed online compiler, you can simply use the command line with this project : https://github.com/adamgreen/gcc4mbed

there is something like this with a PIC32- the ChipKit Max32/Uno32 from digilent. They kept the form factor of the Arduino, and even ported the Arduino IDE. I have one but I have been using MPLAB and C on it.

I’ve got an ARM prototyping board and I keep thinking I should make another attempt to learn how to program it… but the sad fact is that the lack of information around JTAG is a huge roadblock. The only affordable programmers I’ve seen available are for parallel ports, and frankly, bugger that.

The AVRs have the ultra-simple, reliable ISP programming interface that just works.

The programmer/debugger on the Simplecortex can program external devices with JTAG or SWD. The programmer is a ColinkEx from CooCox.
Just the programmer is ~20 dollars at iteadstudio, could be worse I would say :)

@Deep Thought: the STM32F4-Discovery does have an Ethernet MAC in its SoC, and the required signals are brought out onto header pins too, so all that’s needed for full Ethernet support is a small daughterboard with PHY, magnetics and an RJ45.

I’ve built myself a LPC1343 devboard from microbuilder.eu – it does not have Ethernet and DAC built in, but it has USB built in and a USB bootloader programmer that shows up as a USB mass storage device – no need for extra hardware to program it.

Microbuilder have their own software library stack wrapping bare bones ARM memory addressing that is ok, especially a framework to develop your own command line interface by which you can communicate with your prototype via virtual comm port. But nice folks at http://universalair.co.uk have build a software layer that feels a lot like arduino speak. And is really fast to glue a quick prototype.

It might be overkill for the most projects where attiny would do just fine, but it’s almost the same price + usb virtual serial port for free, so i’m not looking back to 8-bit AVR land.

We choose for CoIDE from CooCox because of it’s simplicity.
Installing it is downloading an .exe and installing it. Also CoIDE is easier to use then pure Eclipse and the debugger from CooCox has SWD support.
Using Eclipse, GCC and GDB is harder to install and SWD is not really well supported on FT2232 JTAG debuggers.
If an stable and affordable SWD debugger pops up that is easy to install we will look into it.

You don’t need JTAG interface to program this and a lot of other ARM microcontrollers because they have an embedded UART bootloader. Of course the UART bootloader does not allow to debug a program, just programing of flash. To use this bootoaler its only necessary a very simple circuitry, I have used a FTDI USB to UART adapter and works perfectly.