Can anyone recommend a good ARM dev board for under £30? - Page 1
Forum section: electronics / general

author: 8086
author_rank: Super Contributor
timestamp: November 26, 2014, 04:47:28 pm
content: I'm looking to learn some C, for ARM micros. I need a good starting point, if anyone has any suggestions it would be appreciated.

author: langwadt
author_rank: Super Contributor
timestamp: November 26, 2014, 05:02:55 pm
content: Quote from: 8086 on November 26, 2014, 04:47:28 pmNUCLEO-F411RE $10 with arduino connector, STM32F4DISCOVERY $15 with audio, STM32F429I-DISCO $24 with LCD and touchscreenall have usb debugger on board, in windows install CooCox and GCC and you'll have it running in 10 minutes

author: gocemk
author_rank: Regular Contributor
timestamp: November 26, 2014, 05:18:20 pm
content: In that price range, the STM32 F Discovery Boards are unbeatable IMHO. You can choose from ARM Cortex M0 up to ARM Cortex M4F with touch TFT display, accelerometer and gyro onboard. Some of the higher end models like STM32F303 and some F4 models are also supported in CooCox IDE which is a huge plus.

author: ElektroQuark
author_rank: Unknown
timestamp: November 26, 2014, 05:23:47 pm
content: FREEDOM series from Freescale.

author: TopLoser
author_rank: Unknown
timestamp: November 26, 2014, 05:38:49 pm
content: Quote from: langwadt on November 26, 2014, 05:02:55 pmThat STM32F429I-DISCO is incredible value, just bought one.http://www.farnell.com/datasheets/1747506.pdf

author: Jeroen3
author_rank: Super Contributor
timestamp: November 26, 2014, 05:47:41 pm
content: For starters I would definitely recommend a board compatible with mbed libraries.You have the mbed libraries to at your disposal, and they make developing a hole lot faster.The raw perihperals are still available, apart from a few used by mbed functions.The SMT32F4 Discovery boards are nice and cheap, but relatively complicated to begin with.All depends on the available time you have.

author: Brutte
author_rank: Frequent Contributor
timestamp: November 26, 2014, 06:13:34 pm
content: Quote from: Jeroen3 on November 26, 2014, 05:47:41 pmOP did not bother writing a word about his/her experiences and expectations. Smells noobish.In such case do not start from STM32F429 - it is too advanced for a noob.I would recommend starting from plain RTFRMing of something you are able to understand. Without that neither mbed nor coocox can help.Another thing is that OP should already know C before starting with any uCs (IMHO).

author: 8086
author_rank: Super Contributor
timestamp: November 26, 2014, 06:23:31 pm
content: Quote from: Brutte on November 26, 2014, 06:13:34 pmI have quite a lot of assembler experience with PICs, but C is alien to me (well, as far as ARM goes it is, I have written a little bit of C in the past for windows console apps) I will understand what I need to understand, I just need a starting point for the C/ARM combo. I was going to start doing some C for PICs but I have been told by a few colleagues that I would be better off using ARM, and I agree based on the variety and power available.I didn't realise I needed to write my life story, I just want to find a dev board so I can get started using the tools, and I wondered if anyone had any ideas. I can find one on my own but I'll be better off with something recommended here I imagine.Thanks everyone for your suggestions. I think I will try one of the STM32 based dev boards.

author: gocemk
author_rank: Regular Contributor
timestamp: November 26, 2014, 07:52:05 pm
content: If you go with STM32, then i suggest the STM32 F3 Discovery. ST libraries are available for everything, and there are lots of examples. If i recall correctly, the examples for STM32F429 are with the CMSIS RTX-RTOS, so you can skip that for now. I entered the ARM world with this board (F3) and it has been a very pleasant experience. Before that i was mainly doing 8-bit PIC's using C. Also, ST provides the CubeMX code configurator which sets up everything for you, from clock to peripheral and IO initialization. It also generates project templates but only for Keil, IAR... not for CooCox IDE. But that doesn't matter really, because CoIDE has one of the best project wizards i have seen in an IDE, and you can easily import the .h and .c files generated by CubeMX into your CoIDE project. After doing some work with the STM32 using their libraries, i find it easier to program them (or the PIC32) than the 8-bit PIC's.

author: dannyf
author_rank: Super Contributor
timestamp: November 26, 2014, 08:16:37 pm
content: QuoteI would 2nd the recommendation for a F3 chip, either Discovery or Nucleo, with the latter providing access to arduino accessories.The F3 is a good chip, with blend of analog / digital peripherals.If analog is really important to you, you can also consider Freescale.

author: Brutte
author_rank: Frequent Contributor
timestamp: November 26, 2014, 08:17:46 pm
content: Quote from: 8086 on November 26, 2014, 06:23:31 pmAs for dev board - I would suggest starting from understanding the core, not the peripherals. The core is +- the same on all ARM uCs so it really does not matter which kit of which vendor you pick.As for IDE - if you know make and some basic idea about how uC works then I recommend Eclipse + gcc-arm-embedded. But if you have no bloody idea what make or gcc is then go for uVision. It has 32kB debugging limit but otherwise it is the best tool one could imagine to start with.

author: mc
author_rank: Regular Contributor
timestamp: November 26, 2014, 08:52:58 pm
content: 8086, I've got a selection of stm disco boards I could do with thinning out.I got a selection for a project, however a few never got used. If you're interested, I can find out the exact boards once I get home.

author: westfw
author_rank: Super Contributor
timestamp: November 27, 2014, 02:37:15 am
content: TI seems to be collecting a bunch of pretty nice (and "professional") educational material around the Tiva Launchpad.Including this MOOC (that I've recommended before):https://www.edx.org/course/embedded-systems-utaustinx-ut-6-02x(starts in January.) I don't think that I'd pick TI as my source of low-end ARM microcontrollers (they're better at the high end), but the launchpad is nice, cheap, and well supported. (Also supported by the Energia arduino-like environment...)

author: coppice
author_rank: Super Contributor
timestamp: November 27, 2014, 02:59:41 am
content: Quote from: 8086 on November 26, 2014, 04:47:28 pmBig ARMs (things that can run Linux) or small ARMs (things that can't)? Most people have suggested small ARM platforms, but 30 pounds takes you into the range of the big ARMs, like the raspberry pi.

author: 8086
author_rank: Super Contributor
timestamp: November 27, 2014, 10:17:12 am
content: Quote from: mc on November 26, 2014, 08:52:58 pmThanks, i make a farnell order every couple of days though usually anyway so i may as well just get one from them.Quote from: coppice on November 27, 2014, 02:59:41 amI have a few of the big arms, what im looking for is the small arms.

author: nctnico
author_rank: Super Contributor
timestamp: November 27, 2014, 12:07:59 pm
content: I'd spend a little bit more. I have a couple of these LPC1768 boards for developing software and generic tinkering:They cost $68 each including shipping.www.ebay.com/itm/New-NXP-ARM-Cortex-M3-LPC1768-Development-Board-3-2-TFT-LCD-Module-64KB-SRAM-/270962249071

author: neslekkim
author_rank: Super Contributor
timestamp: November 27, 2014, 09:49:25 pm
content: Are these fully documented?, and do you need an programmer to program it?

author: nctnico
author_rank: Super Contributor
timestamp: November 27, 2014, 11:44:35 pm
content: They come with schematics and a boat load of software on a CD (or DVD). For programming it has an onboard USB JTAG interface and a serial port.

author: miguelvp
author_rank: Super Contributor
timestamp: November 27, 2014, 11:50:10 pm
content: Not as fancy but you could get the $25 pioneer from CypressCortex M0, plus it has the programmer built in:http://www.element14.com/community/thread/23736/l/100-projects-in-100-daysOf course buying shields etc will dry your wallet

author: Brutte
author_rank: Frequent Contributor
timestamp: November 28, 2014, 11:21:20 am
content: Quote from: miguelvp on November 27, 2014, 11:50:10 pmYet another incarnation of Eclipse??Anyone knows if the Psocreator is a locked Eclipse version, like LPCXpresso (no updates, no plugins) or a liberal one?

author: Laurynas
author_rank: Contributor
timestamp: November 28, 2014, 02:25:15 pm
content: PSoC creator is not eclipse.And there is no paid version, no limitationsp.s. cypress has a promo running till Monday, for pioneer kit use code CYLIGHT:http://www.cypress.com/?rID=103669&cache=0&source=creatorStartPagebut check shipping costs, it's cheaper for me to get their dev kits from farnell, but their chip prices are usually unbeatable(free shipping for chips)

author: Brutte
author_rank: Frequent Contributor
timestamp: November 29, 2014, 12:31:58 pm
content: Quote from: Laurynas on November 28, 2014, 02:25:15 pmScreenshots looked very eclipse-like. But if you say so..QuoteOk, I will give an IDE a try then but on their first nasty trick I press "Uninstall and forget about Cypress".If it indeed has no limitations (supports other dongles, uCs and toolchains of different vendors, as Eclipse does) and has reasonable alternative for plugins that I use under Eclipse (UART terminal, semihosting, git, OS-awareness (at least FreeRTOS) etc) then it could be a nice alternative. Perhaps I would invest in their PSOC Kit.Quote from: psocreator download pageI have not even downloaded that psocreator to know Cypress is not for me.

author: paulie
author_rank: Frequent Contributor
timestamp: November 29, 2014, 12:59:23 pm
content: I also have a strong dislike for Cypress because of that. I hate companies that insist on "fingering" you.If I hadn't already purchased chips and demo board there would have been no further interest. Then I discovered the chips have internal RC oscillator only and will not work with a crystal. It got worse when it turned out the demo board "programmer" is not a programmer at all but just a usb/serial interface and you must purchase their $89.99 programmer to flash new chips. Other issues too. Because they go to great length to hide these defects I foolishly purchased even more parts before wising up.At this point there is so much time and money invested I hesitate to walk away but let's just say Cypress is not on my list of favorite companies.

author: Brutte
author_rank: Frequent Contributor
timestamp: November 29, 2014, 02:12:34 pm
content: Quote from: paulie on November 29, 2014, 12:59:23 pmI would not call it "strong dislike" as I have not tried that but instead of encouraging me to test what they offer, they impose limitations from the very beginning.Why the hell must I register and login todownloadtheir (free) software? Hard to imagine what are their requirements to install it. After that at each compiling attempt you have to provide a survey? No, thanks Cypress, I do not trust you.Without giving me a choice - I am always for "reject".Would it be a huge problem to provide "Log in if you like or download anymously"?I have never had to provide any data or logins for Eclipse, plug-ins and gcc toolchains so it is clearly doable, Mr. Cypress.

author: Laurynas
author_rank: Contributor
timestamp: November 29, 2014, 02:40:24 pm
content: They try to get users identified with working emails so that they could compile lists of datasheets you read and later send you questions regarding their quality.On the plus side, they read every comment you leave and I had their engineers contacting me offering to help out with my project after i left comments that data i was looking for was not in the datasheet.IDE is nice and has export tools to other IDEs + configurable multiple toolchains so using your preferred compiler is easy.No linux support.Programmer is expensive, so i just turned a pioneer kit into a programmer/debugger. There was a thread about turning 4$ proto kit into a programmer but i didn't try that.Overall I like those chips and their customer support is great.

author: MrAureliusR
author_rank: Unknown
timestamp: December 01, 2014, 08:47:12 am
content: Surprised nobody mentioned TI chips.The Tiva C LaunchPad and Connected LaunchPads are great ARM chips -- the TivaWare suite is free and really well written. Extremely documented, each member of the family has a datasheet that's ~2000 pages, however it's still an easy read and quick to find what you're looking for.Entry price is quite low, around $20 for the cheaper one, running all the way up to the Tiva C Connected Development Kit with on-board touchscreen LCD, ethernet, SD card slot, huge SPI Flash, etc. Plus, all their boards have on-board debuggers and programmers. Free version of Code Composer Studio supports the LaunchPads without restrictions, if I remember correctly.A bit of full disclosure: I write about TI parts for element14. I wouldn't say I'm too biased, I just have a lot more experience with them and find their documentation excellent. The E2E forum is good too.And, as a last bonus, it all works on Linux!

author: Jeroen3
author_rank: Super Contributor
timestamp: December 01, 2014, 09:14:06 am
content: I wouldn't recommend TI, they recently re-branded their Stellaris family, silently, due to some very serious flash errata's.They do sell some interesting "realtime" arm's though, Hercules if I'm right.

author: Stonent
author_rank: Super Contributor
timestamp: December 01, 2014, 09:19:11 am
content: Quote from: MrAureliusR on December 01, 2014, 08:47:12 amI have both a Stellaris and Tiva C launchpad that I had purchased at different times, not knowing they were pretty much identical. I've never gotten around to programming them yet. They still have the original demos on them.I have used my MSP430 board with CCS to make it blink and also used Energia which I think works with the ARM chips as well.

author: Howardlong
author_rank: Super Contributor
timestamp: December 01, 2014, 09:30:20 am
content: Agreed, the TI Launchpads are pretty good, as are the various NXP LPC boards. For both, the respective development tools are free.(I have 20 years' experience in PICs, and have moved from PICs to ARM in the past six months or so. This was after Microchip launched their PIC32MZ which was promising if you read the marketing stuff from the launch a year ago, but the silicon was very late, and it under-delivered as the silicon still has tons of bugs. To add insult to injury, Microchip were forcing the developers to learn a brand new, and very buggy programming paradigm anyway to use the new chips (Harmony), so I took the decision that if I was going to have to learn something as fundamental as that, I might as well try something that was more mature.)TI has a restriction on the hardware debugger you can use, it has to be either an XDS100 or a debugger integrated onto the dev board, and NXP simply have a 256KB code limit, both are $495 to unlock. So, you can do an awful lot with both without having to make a big investment.I found that the biggest problem with ARM is knowing which one to choose, you need to spend a bit of time just investigating the different ARM levels. Unless you're already really into microcontrollers in a big way, I would seriously recommend go for the low end devices first. The complexity of the chips and peripherals at the upper end makes it really hard to get started much beyond running example code. As soon as you want to do anything serious, you need to start opening the startup, chip and board code for your own use, and learn the chip. The LPC43xx series, for example, are enormously complex, just the clocking scheme will take many hours to master. Some of the peripherals on the higher end LPC devices are truly complex, the good news being that peripherals like the State Configurable Timer and the Serial GPIO can replace CPLD functions, but boy are they a bitch to fathom out.Between TI and NXP, the TI development environment feels more polished, both are based on Eclipse. Both have bolted on stuff to the base Eclipse environment, the NXP stuff feels a bit more flaky when debugging, but with TI's CCS you need to thoroughly understand the way the file link process works to get much beyond compiling and running the sample code.Although the customisations of the Eclipse UI gets you started quickly on their dev boards, as soon as you want to do anything with your own hardware you need to unpeel the thick veneer they've added, and understand how it hangs together, so you can create a project from scratch. Once you've removed the lipstick, you get to really understand what's going on, but it is time consuming.One final thing, although it seems to come with the turf these days, the dev environments are being continually updated, m maybe once every month or two. The frustrating thing is that sometimes this breaks things, I had this when updating from CCS 6.0.0 to 6.0.1, and it can take a while to figure out not least because of the makeup they've added that somewhat obfuscates what's going on under the hood.Edit to add something about the documentation...The documentation is a minefield, but that goes for every chip manufacturer these days. Firstly it's the sheer volume, both in PDF and in various online sources like wikis. Some of it, particularly the wikis, can be pretty low quality, leaving you with more questions than answers. NXP tend to have a smaller number of documents, but their documents are large and lack descriptive diagrams, favouring millions of tables instead. TI on the other hand have tons of documents, generally individually of good quality, but it leaves you scratching your head as to where to start. I also absolutely hate the naming conventions used for PDF documents these days, a series of seemingly random characters. Would it be so hard to add some kind of descriptive title within the filename too?!

author: Howardlong
author_rank: Super Contributor
timestamp: December 01, 2014, 09:36:34 am
content: Quote from: Jeroen3 on December 01, 2014, 09:14:06 amI am aware of some ROM bugs in a few APIs, but not flash in the devices I've used. the ROM bugs are easily fixed by using non-ROM versions.Speaking for myself, I wouldn't want to start out on ARM with the Cortex R such as Hercules, that's a bit of a deep-dive, and not really much value unless you're into mission critical stuff. There's a load of added complexity in particular redundancy in there without any benefit for most applications.

author: zapta
author_rank: Super Contributor
timestamp: December 01, 2014, 10:40:24 am
content: Quote from: Howardlong on December 01, 2014, 09:30:20 amDoes the TI Eclipse IDE run also on Mac OSX and Linux?I had similar dilemma recently and settled down on NXP. Their Eclipse IDE was easy to install and works great on my mac OSX. Typically I use it with the LPC11u35 USB/ISP and in rare occasion with a full debugger (http://www.digikey.com/product-detail/en/OM13014,598/568-7517-ND/2700004).

author: Howardlong
author_rank: Super Contributor
timestamp: December 01, 2014, 10:46:43 am
content: CCS is available for Windows and Linux, not OS x as far as I know.I use it in Windows, like it or not (and I am definitely not inviting an OS debate here, so don't start), it's the most supported platform for most dev tools.I have seen some comments about CCS being a chore to install on Linux. I'll leave it at that I think!

author: dferyance
author_rank: Regular Contributor
timestamp: December 01, 2014, 04:05:31 pm
content: Quote from: paulie on November 29, 2014, 12:59:23 pmWow, a lot of hate for PSoC. I think your complaints about lack of crystal support and the MiniProg 3 costs are quite warranted. That said, the platform has a lot going for it. Compared to other ARM chips, I found the Cypress IDE very easy to learn and get running. Having a UI for configuring chip resources is much better than the common way of doing it in code. The IDE's dialogs linking to the datasheets and examples is simple but works well. The flexibility and pin mapping of the chips is also very nice.Considering Arduino gets by with just a bootloader, the Cypress dev boards are a pretty good value. If you are someone who needs to program a bunch of chips, the cost of the MiniProg isn't too unreasonable. But there is a middle ground where it is a problem. Someone who wants a step above Arduino but not to the level of developing professionally is left with an expensive choice.

author: miguelvp
author_rank: Super Contributor
timestamp: December 01, 2014, 05:43:14 pm
content: RE Miniprog3, and sorry for being off topic, but answering other off-topic (but kind of related) posts.If you want to play with the new PRoC BLEYou can get the mouse:http://www.cypress.com/?rID=102637Or the remote control:http://www.cypress.com/?rID=102638$49 each And both include a MiniProg3Also Cypress has mentioned lately that they are working on bringing the MiniProg3 price down, maybe they have too many available out there (digikey, mouser, etc..) that might be preventing them to lower the price right now, not sure how that works.

author: zapta
author_rank: Super Contributor
timestamp: December 01, 2014, 06:42:50 pm
content: Quote from: Howardlong on December 01, 2014, 10:46:43 amThanks.BTW, OS support is a valid feature to discuss. I don't understand your concern.

author: zapta
author_rank: Super Contributor
timestamp: December 01, 2014, 06:55:43 pm
content: Quote from: dferyance on December 01, 2014, 04:05:31 pmThe embedded artists lpc11u35 board comes with usb/ISP bootloader (all you need is a micro USB cable, debugger is optional) has multi os eclipse IDE and is inexpensive.

author: paulie
author_rank: Frequent Contributor
timestamp: December 01, 2014, 06:56:31 pm
content: Quote from: dferyance on December 01, 2014, 04:05:31 pmI think "strong dislike" was the phrase used and it was more for the company than the PSOC chips themselves. Actually the whole SOC concept fascinates me otherwise I would not have got involved at all. That, coupled with the fact they are available in small qty for around a buck, still motivates me. Also GCC tools instead of proprietary is a plus. So there are major advantages over some of the ARM families and no competition in the SOC camp. Except for that, IMO the LPC and STM come out shining a little brighter. Anyway too much time and money invested to just give up.Quote from: dferyance on December 01, 2014, 04:05:31 pmYes, that was my situation when I decided to see how many different low cost easy to program ARMs were available. Dozens of different part numbers from several companies so it does add up.

author: neslekkim
author_rank: Super Contributor
timestamp: December 01, 2014, 09:19:24 pm
content: Quote from: miguelvp on December 01, 2014, 05:43:14 pmBut, when will those kits be available?I would guess there is an miniprog 4 in the works or something since they lower the price like this.Edit: Miniprog4 is actually mentioned here:https://www.reddit.com/r/nicechips/comments/2m3drr/psoc_4_ble_arm_cortexm0_ble_analog_digital/

author: Kostas
author_rank: Regular Contributor
timestamp: December 01, 2014, 09:33:28 pm
content: Correct me if I'm wrong, but it seems that the $25 PSoC4 Pioneer kit can be used to program/debug an external ic, although a minor modification is needed. See page 107herefor details.

author: Howardlong
author_rank: Super Contributor
timestamp: December 01, 2014, 10:31:54 pm
content: Quote from: zapta on December 01, 2014, 06:42:50 pmTotally agree, it is worthy of discussion in the context of what platforms are supported by the dev tools, but what's not of interest are the endless and pointless religious-style OS debates that frequently happen, that was what I was referring too, sorry I didn't make that clear, my bad.

author: miguelvp
author_rank: Super Contributor
timestamp: December 01, 2014, 10:43:44 pm
content: Quote from: Kostas on December 01, 2014, 09:33:28 pmI didn't know that, I knew you can make your own programmer based on the Pioneer Schematic.I used that discount code to get me a 2nd pioneer to use as a dedicated programmer. At the moment I was using the source code released for kitprog 2.03 and routing SWDIO and SWDCLK to use the 5LP header I'll check on taking away those 0 ohm resistors instead.

author: Laurynas
author_rank: Contributor
timestamp: December 02, 2014, 06:54:46 am
content: Quote from: miguelvp on December 01, 2014, 10:43:44 pmI've converted 2 pioneer kits to programmers/debuggers.Looks messy, but works well.btw, BLE pioneer has PSoC target chip on a module, so all programming pins are on header -> no soldering should be required.but that mouse/remote kit sounds like a much better deal if it was available.

author: orin
author_rank: Frequent Contributor
timestamp: December 04, 2014, 08:51:32 am
content: Quote from: 8086 on November 26, 2014, 04:47:28 pmA bit late here, but I'd recommend the following free online course:https://www.edx.org/course/embedded-systems-utaustinx-ut-6-02xYes, it uses a cheap TI Launchpad, but it doesn't matter that much for starting to learn ARM processors. Other than the Launchpad, they don't use much more than a few resistors, LEDs and a solderless breadboard. You can even do most of the course in simulation, but they won't award you enough points to pass that way - you have to do some labs on the real hardware to pass.I did this course for fun early this year. It would be way too basic for many around here, but good as an intro to C on ARM processors IMO.

author: mrflibble
author_rank: Super Contributor
timestamp: December 04, 2014, 09:37:25 pm
content: Quote from: zapta on December 01, 2014, 10:40:24 amCCS works on linux. Don't know about OSX.Quote from: Howardlong on December 01, 2014, 10:46:43 amDon't recall any particular problems getting it to work on debian... Currently using CCS 5.5.0.