Soldercore quick intro
I ordered a SolderCore from Mouser yesterday, it arrived this morning. Its a pretty nice little device. Oddly I’d had some interaction with one of the creators at Rowley Associates, Paul, on an email list talking about C compilers/assembler etc and it turns out we’re both Lotus people as well as having ECU related experiences, it is a small world.
Haven’t done much with yet, since i’m not at NullSpace and all my stuff is there.
- Arduino Form Factor
- Based upon a 80 MHz Cortex-M3
- 512KB Flash, 96KB contiguous RAM
- Built in Ethernet support with an on-board RJ45 connector.
- USB OTG support with an on board microAB connector.
- On board microSD holder.
- Support for additional Flash and FRAM devices.
- CAN, I2S, 2xI2C, UART, PWM, ADC, SPI and QEI supported
- On board standard 10 way SWD JTAG header. (Only fitted to the Commando variant)
- Power can be supplied via USB or the barrel jack (6V – 9V DC).
So decent enough specs.
Nice things are , no drivers, so no one whining about CDC driver support in Windows 7. All the help, examples firmware are net enabled. All you need is telnet to edit.
compared to a Pandaboard ES, and one of our NSL ADK boards. Soldercore in the middle.
If you want the headers, you can solder them on. 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. That first tack is important so its aligned and then you can re-align easily.
I plugged it in, pinged as per the label on the back, then i use Putty to login in to it. (change from ssh to telnet) also it uses ^H for backspace so edit that too. I then posted to the forums with a hello world, but then realised it was a program that did it. So i went off to find it, since it isn’t in the examples but in the help section instead.
Had to edit a bit first. Mine didn’t like the command $NL so i used $LF instead. Then came along figuring out how to set NET.SMTPSERVER (which is fairly futile for me at this point so all my SMTP servers require a login) but trying anyway. I of course battled ahead and did NET.SMTPSERVER = “smtp.mail.com” NET.SMTPSERVER = “10.0.0.1” etc neither worked. It says ‘Digital I/O’ as the type. My SMTP server will work even less with an IP address since it wants to use the FQDN to find it. But regardless..
Luckily BASIC being immediate, i just did
[0, 0, 0, 0]
NET.SMTPSERVER = [192,168,1,1]
Easy enough. But i don’t have an open relay… So i got as far as ?SMTP server down in 60:
10 SUBJECT = "Hello from SolderCore!"
20 FROM = NET.NAME + “email@example.com” ‘ fill in your own e-mail address
30 TOO = "firstname.lastname@example.org"
40 BODY = "Hello from " + NET.NAME + "." + $LF
50 BODY = BODY + "My device address is 192.168.1.159 ." + $LF
60 MAIL TOO, FROM, SUBJECT, BODY
70 PRINT "e-mail away!"
It didn’t like the IP$(NET.ADDR) either so i replaced it with text.
The original looks like http://soldercore.com/manual/corebasic_mail.htm
> list ↵ 10 SUBJECT = "Hello from SolderCore!" 20 FROM = NET.NAME + "@local" ' fill in your own e-mail address 30 TOO = "email@example.com" 40 BODY = "Hello from " + NET.NAME + "." + $NL 50 BODY = BODY + "My device address is " + IP$(NET.IPADDR) + "." + $NL 60 MAIL TOO, FROM, SUBJECT, BODY 70 PRINT "e-mail away!" 80 END > run ↵ e-mail away! >
I concluded the problems/missing command might be an old firmware so I tried to do a firmware update with firmware run, but i realised it needed a FAT16 SD card (a good one not a cheap fakey one) All i had was a 16B MicroSD so its too big, but normally you’d do. 2G is what you need.
FORMAT n: /FS:FAT
where n: is the drive letter. After a year or two , it’ll be formatted
You should see something like :-
“Insert new disk for drive J:
and press ENTER when ready…
The type of the file system is FAT32.
The new file system is FAT.
Verifying 15267M (this is a problem)
You can also use this https://www.sdcard.org/downloads/formatter_3/ Which supposedly does a better job of the FAT format. I can’t try it at the moment, since format is still running.
The soldercore.com website does go into this in detail, if the GUI doesn’t show FAT as an option, the card is too big..
It has a few nice features, being able to update firmware over the internet is great, and you can type
and it’ll list all the examples available, over the net. Typing
will load the welcome.bas, so that is pretty neat, most of the examples look like they need one of the add on boards though. It is case sensitive on the example filenames.
Seems equivalent to firmware catalog and it stops me typing catalogue(j/k)
A lot of people might gripe about BASIC but what BASIC looks like versus what goes on in the background are completely different things, look at BlitzBasic etc, they’re very quick. Having to do line numbers is a bit of a throwback for sure.
Here are a lot of builtin commands that do useful math, dot products, matrices etc. sin/cos, etc. Very useful. At worst case you can pop on a JTAG and write everything in C/ASM to your hearts content.
I have had one reset so far, but its probably the usb port i have isn’t giving me enough juice, it has external power port too. If i find a small enough SD card, i can try to update the firmware. My firmware is also at 0.9.5 which is older than they list at the website, so I’m sure some of the stuff has been fixed already. I’ll update the blog when i find an SD card.
I did all this with it so far, and no drivers installed and no software installed i can run it from android or nokia phone as long as it has telnet.
The usual BASIC commands like EDIT, RENUMBER work, its just like being back on the BBC or Archimedes.
Haven’t done much else with it yet, but I’m really interested in at as we use the Stellaris chips for other projects. I also really like Paul from the small interactions I’ve had with them, and Rowley Associates , I don’t know Iain or K&I but they did a nice layout job, so I’m looking forward to where they go with it. Anyone who’s a Lotus nut is ok with me !
I realised my Skyrocket had a 2GB card in it, so I swapped that out, formatted it as FAT16 and made the top level SYS folder, plugged it into the soldercore and typed
After a few seconds its at 0.9.12 now. I retried the original syntax of the Mail example and it accepted it fine, i still can’t relay the email but it does accept the commands that were missing. Easiest firmware update ever.
Quickly, an open relay! To hMailServer !