It seems like hacker-friendly ARM development boards are just exploding into the market right now. Here’s one we haven’t looked at yet. The SolderCore is made by Rowley Associates and is packed with features which help to explain the $80 price tag. [CharlieX] just ordered one and posted a bit about his first day with the device.
First off, it’s obviously the Arduino form factor. We think that’s a nice touch in a development board, but we still wish the Arduino folks hadn’t offset that one header way back when. That chip at the center packs quite a wallop; an 80 MHz ARM Cortex-M3 (from TI) with 512 kb of Flash memory and 96 kb of RAM. The in-built Ethernet jack is hard to miss, but right below it in this picture you can also see the USB On-the-Go connector. There’s a microSD card slot and both 3V and 5V regulators. [CharlieX] does a little hacking on the networking features offered, then takes a look at firmware upgrading. For that you’ll need an SD card formatted to FAT 16.
42 thoughts on “Quick Look At The Soldercore Dev Board”
Hmm – doesn’t look as good as the olinuxino from olimex, which is cheaper, too.
It is not meant to compete with an OlinuXino: you won’t get one of those in the air! The idea is to integrate well-tested quality drivers into CoreBASIC (and also CrossWorks) such that things are possible. My Quadshot arrived today, and now it is time to make the SolderCore fly using the AHRS driver in CoreBASIC!
what? have no idea what you mean.
> It is not meant to compete with an OlinuXino
“We don’t see us competing with an OlinuXino–two different target audiences”
> you won’t get one of those in the air!
“The OLinuxIno is not meant as a flight controller and its physical form means you can’t put it in a small quadcopter”
> The idea is to integrate well-tested quality drivers into CoreBASIC (and also CrossWorks) such that things are possible.
“We build all the software into CoreBASIC so you don’t have to”
> My Quadshot arrived today, and now it is time to make the SolderCore fly using the AHRS driver in CoreBASIC!
“I am now going to write the flight software for my SolderCore to use it as the brain in the Quadshot”
imho the most important question is, if this has free (gcc-based) toolchain to work with. and if the gcc support is in mainline or requires outside patches.
It uses the LM3S9D92 (alas LM3S9B92 – think Evalbot – with twice the flash), so Codesourcery GNU toolchain is perfectly fine.
it doesn’t need a toolchain if you use it in its base form, you just write the code in a terminal or cut n paste it in.
otherwise you can use one of the arm gcc variants.
…and it has its own full-screen editor for CoreBASIC programs.
You can use SolderCore standalone as a battery-powered BASIC-powered code-on-the-hoof device. :-) Just add Arcade Shield and a keyboard!
We haven’t demonstrated many of the things you can do with SolderCore yet.
I’ve played around with Stellaris chips, and yes, you can use them with gcc without problems.
TI even provides a free library of code examples (StellarisWare) which includes makefiles for gcc.
What does [CharlieX} mean by “I like the idea Sparkfun has with single row headers and to offset every other one so its easier to solder, but these aren’t difficult, just hold and tack the first one very lightly with solder, make sure its straight and do the others.”?
Does that change how an Ardshield would attach to it?
It just means that every other hole is offset by a fraction of a mm. Meaning that the pins on a pinheader will stay in place while you turn the board upside down to solder. It means nothing for the compability with other boards/connects, it just means that components won’t fall out when you turn it upside down – it’s a neat hack :)
Check out this image for an example – look at the four pin headers:
They stagger the holes in the pcb for the pins in the headers ever so slightly, so that when you put a header in to solder it, it holds it in place a little better.
The USP of this product isn’t the hardware (although the hardware is nice). It’s the interpreter that it comes preloaded with. SolderCore lets you get going without any ARM dev tools, all you need is a PC,a tablet or even a phone that supports TELNET.
You TELNET in and write your code, its as simple as that. No debugger or tool chain required.
Example programs can be found on the site,
Some are simple others a little more taxing but they give you an idea of what can be done.
The examples can be downloaded direct to your device using example “examplename” within the CoreBASIC editor. SolderCore uses its network connection to download the program direct to memory, you can then run, edit or save the code direct to the uSD card.
If your after the board without the interpreter and with the JTAG connector fitted then let us know via the SolderCore forum.
Iain (from the SolderCore team)
Thanks for dropping by to let us know that.
I keep thinking about getting into dong something with ARM chips but find the stuff that goes along with it a little scary. Toolchains, programmers, etc.
So this sounds like a nice way to get into something more powerful than Arduino without all the effort that goes along with it.
At first I thought “80 bucks is a little expensive” but thinking about it, there’s LAN onboard, SD, USB. Getting shields for all of that for the Arduino would end up costing more than this board.
So yeah, sounds nice. Thanks for sharing.
You should be able to do some really cool things with SolderCore. Comments seem to be concentrating on the hardware (what it costs, what it has, what it doesn’t have, how other boards compare) rather than on the software.
The software makes it really very easy to put SolderCore to use–hopefully some videos will explain the unique features of CoreBASIC and all the drivers we have built into the software for popular shields and devices.
It is crazy easy to use the software. nothing to download or install..
I only wish all the dev boards were this easy to setup.
I agree with you, but be careful lamenting something like the Arduino header offset. You’ll have Arduino fanboys whining about you all over the internet.
It requires a bit of force, but you can use normal experiment board with male headers and an Arduino. You need to remove the plastic from the male headers after soldering them, then all bend them slightly so they fit. It’s not pretty but it works.
…or use SparkFun offset headers http://www.sparkfun.com/products/9374
Better yet put another row of header holes on the PCB like clued-in people like Seeed and Olimex have been doing for a while.
There’s no place in my life for *duinos w/o 0.1″-grid headers.
Similar chip to my Procyon Board http://teholabs.com/products/procyon.html except that mine has SDRAM on it
I would stay away from the Stellaris Cortex-m3 parts. Their chips has a 100 Cycle flash endurance. Which basically means in order for the flash to retain the last program image for 10 years one must not program the parts more than a 100 times.
While you could program the Flash significantly more than a 100 times, the Flash Endurance will be significantly less than 10 years.
You are mis-stating what TI have published. I know this erratum all too well. I happen to reflash my chip maybe 50-75 times a day during development. The same micro has been on my desk for over a year without problems, I use the same development board day in day out.
Given that each SolderCore is programmed exactly once on delivery, and reprogramming only happens when the user commands it, the flash endurance erratum is of no concern in intended use.
Crossworkwizard, I apologize If I misstated that this is a worst case scenario. I myself have an LM3S1968 chip that has been programmed on a daily basis forever. Having said that, this is still a rather embarrassing spec coming from TI. They should’ve done a better job with this Flash Erratum.
This is in no way a criticism of the Soldercore Dev board which also looks very impressive!
Thanks for the kind words!
The unfortunate thing is that the flash problem is not of Luminary or TI’s making. We’d dearly love to replace the LM3S with a LM4F, but TI are a long way from providing the CM4 with Ethernet and >512K of flash! We kept with the LM3S because TI told us there would be a pin-compatible super-duper LM4F device, but unfortunately that day will never come (because the project got cancelled/sidelined).
We looked at moving to STM32F2, STM32F4, LPC4300, but they all have problems that make them unstable — either there is no internal flash, they are late, they need an external PHY, you can’t buy them, you name it.
So, depressing, but hey, we are where we are.
the Stellaris LM4F cortex-M4 parts are quite impressive and do not have this problem. I believe they are produced in a 65nm process and because of this will exhibit very little power consumption. Too bad they can’t be bought anywhere
I very much prefer the freedom board:
Arduino Form Factor, Cortex-M0+ 48MHz, 128KB Flash, 16KB RAM ,USB + all the usual peripheral suspects, onboard debugger. The board will run you $13!!! Too bad it will be released in October of this year but you can pre-order it now!
Neither a comparable product nor available for a while.
This kinda pisses me off a little, and same for Arduino. Here you have a powerful ARM processor with a ton of I/O and specialty peripherals, and it gets crippled by the arduino footprint of practically no useful amount of I/O.
I bought an arduino just to see what the hoopla was about, but have not used it beyond some demo playing around with it because of this. I just go straight AVR and C, like I did before.
For me, a nice dev board I would like to see is one with a decent AVR, microSD socket, and MP3 codec with all supporting components, and all unused I/O and peripherals pinned out. It seems such a no-brainer that SD and MP3 are some of the most often wanted additions. I can’t believe I have been unable to find one. And unfortunately, I have been too busy to design one myself.
It seems like there is an opportunity for someone like Open Hardware to define a “new” standard for small microcontroller board expansion slots. The standard would contain pin definition and a pinout designed for expansion boards (shields). Perhaps a couple of different sized boards with one being a superset of the other to support a wide range of 8- and 32-bit processors. Then everyone could build shields that would work on a variety of different microcontroller boards.
True. I love the idea behind the arduino, shields, and the useful and standard libraries and toolchain. It’s just the hardware that sucks.
The problem is that most micros don’t have a full crossbar in them which means that pinning is an awful problem. For plain GPIO, there is no problem. The problem comes when you define some pins as “PWM output capable”, “CAN capable”, “I2S capable” and so on, which would make it almost impossible to map for some micros where pin functions would conflict or could not be mapped.
We (that is, the SolderCore Crew) took the decision that we would leave things alone n the Arduino footprint and put uSD and Ethernet and LEDs and USB “internal” and any expansion on our shields would be either by I2C or SPI for high-speed.
To that end, the LCD and Arcade shields run the same protocol over SPI; and all our sensors are I2C, in a standardised footprint (SExI), and supported by a shield that you plug them into.
There are so many standard “add-on” formats it’s hard to pick a winner. BeagleBone capes, MSP430 booster packs, mbed and LPCXpresso…
crossworkswizard, I’m not knocking your decisions. Your board looks pretty sweet and making it compatible with Arduino makes some sense. Obviously my proposal isn’t completely thought through but I think it could accommodate a wide variety of different microcontrollers. I envision a set of headers (spaced nicely for DIYers) that have a set pin definition (perhaps X Analog, Y digital, Z PWM capable, a number fixed SPI/I2C overlays as well, etc, etc. Probably 3.3v logic levels since that’s the way the world has gone. It would be up to the microcontroller dev board manufacturer (like you guys) to map your peripheral set to these pins. There could be a couple of different “profiles” to accommodate smaller or larger IO capabilities and perhaps even a set of “undefined” pins that could be used for any series mapping issues. I think this works because there is a pretty large set of common peripherals among different brands of processor.
I’m not proposing that there be one development environment (e.g. Arduino-compatible) that always assigns pin “1” to IO 1. But that shield makers know that pin 1 is a digital IO or TX, pin 2 is a digital IO or RX, pin 3 is a digital IO or PWM, pin 17 is a digital IO or an analog IO, etc. Users might have to make specific mappings in whatever development environment (compiled C or BASIC for example) they need to use a peripheral on a shield but the advantage would be a shield maker could know his board would work with this AVR-based controller, or this ARM-based controller or this PIC-MIPS-based controller, etc. It’d be a boon to everyone in my opinion.
I’m not actually defending anything, and I’m not taking this as a knock. :-)
We considered, long and hard, whether to create yet another “standard” for plug-in or plug-on accessories. It’s not difficult to propose something, but it is hard to have it generally adopted. For better or worse, the Arduino pinout and footprint is widespread and popular, so why not just hitch a ride?
I agree that things are not perfect with the Arduino format; and other vendors have extended it in a number of ways (like dual rows of pins).
But, as I say, the pinout issue is thorny and adoption even thornier.
A micro SD card formatted to FAT16 required for firmware updates.
Easy enough to come by as cards up to 1 or 2 gig normally come pre-formatted to FAT16.
I dunno if Micro SD cards come in sizes this small, but you do not want to reformat any media 32 megabytes and smaller with Windows 2000 or newer as it will forcibly change them from FAT16 to FAT12 with no way to put them back to FAT16.
Windows Me and 9x use FAT12 only for floppy disks and will automatically set 32 meg and smaller media to FAT16 when reformatting.
I ran into this with an MP3 player that used MMC media and had to hunt up a system running Win Me to get the 32 meg card back to FAT16 so it would work.
For working with older equipment, a utility for Windows 2000 and later to forcibly format 32 meg and smaller media to FAT16 would be highly useful as much of that vintage gear either cannot reformat its own media or can reformat but only if the media is already FAT16.
Anyone have any idea why Microsoft made this stupid change after FAT12 had been banished to only floppy disks since DOS 3.x?
For $80, you might as well buy a small computer. Price this at $30 and you might have something. Otherwise it’s not going to build up a solid enough base.
Try adding up the cost of components on this board and the cost of assembling them and see whether you can hit $30 and then factor in a margin so they will be stocked. Calculate the cost of an Uno plus an Ethernet shield and then figure out what pins you lose when you’ve plugged them together.
For $80 why not just buy a Beaglebone? It costs the same and it’s literally ten times faster (800MHz), has more than twice the RAM, comes with more than twice the storage (that can actually use a modern filesystem), has twice the number of output pins, includes USB host *and* client support, and it runs full-blown Linux so you can program it in whatever language you want. C, C++, Python, BASIC, etc. If it runs on Linux you can use it.
“Never trust a vendor that doesn’t offer their product documentation for free to the public.”
Indeed, why not? I mean, great, it’s Linux, but it isn’t a programmable microcontroller. You are just looking at hardware, as everybody is here, where the true value is in the software.
Are you saying that the software that the SolderCore comes with is just fluff and of zero value?
I have a couple of BeagleBones, a BeagleBoard, and a Raspberry Pi. But then I also have another 600 different ARM boards in our hardware library. None of them run the motion processing software, none of them have easy-to-use graphics. That’s what CoreBASIC is all about.
I am clearly not making the point that SolderCore isn’t “just a board”.
June 28, 2012 at 8:05 am riskable said:
> If it runs on Linux you can use it.
Ummm… LUnix is a linux variant running on the original C64 platform. Guess that makes the c64 platform usable.
Well, ok dtv64 running LUnix would be a better choice, IMHO. :)
For those of you having trouble understanding exactly why SolderCore is different and is not “just a board”, I added a video:
It shows how SolderCore can work 100% stand-alone, no PC, no network connection, you are coding and editing programs right on the SolderCore immediately: no download step, just edit and hit F5.
It also shows how to call up the built-in CoreBASIC drivers to do sensor fusion to show 3D models on a display that follow the orientation of a sensor you flip and rotate in your hand, with great dynamic response.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)