which dev board/microcontroller to purchase - Page 1
Forum section: electronics / general

author: bterrier
author_rank: Newbie
timestamp: July 26, 2018, 10:31:58 pm
content: Hello everyone,New here and semi new to this type of electronics work. Looking into purchasing a board and/or supplies to get deeper into the hobby.I have been looking into the psoc 4200 protoyping kit, stm32f0, arduino uno and adrduino pro mini.Can anyone give their advice on these and/or recommend any others? Also, what supplies should I have on hand to work with these. I have all the tools I need for right now, but recommendations for the minimum components I should have on hand would be great.Sent from my iPad using Tapatalk

author: bterrier
author_rank: Newbie
timestamp: July 26, 2018, 10:34:10 pm
content: Also if this topic has been covered, please direct me to the appropriate thread. ThanksSent from my iPad using Tapatalk

author: ataradov
author_rank: Super Contributor
timestamp: July 26, 2018, 11:10:36 pm
content: If you really don't care about capabilities of specific MCUs, then just install all IDEs and see which is less horrible in your opinion. Then buy a board from that vendor.But generally you go by the capabilities and fitness for purpose.

author: sokoloff
author_rank: Super Contributor
timestamp: July 26, 2018, 11:25:39 pm
content: If you have no requirements other than wanting to learn, I’d start with the Uno (genuine or clone).Not because of any technical superiority, but because of community critical mass, including blogs and YouTube videos.

author: forrestc
author_rank: Unknown
timestamp: July 26, 2018, 11:32:47 pm
content: It really depends on what you're trying to do.If you're just looking to start exploring what you can do with a microcontroller, I'd recommend going and getting one of the arduino starter kits. Maybe something likehttps://www.amazon.com/Elegoo-EL-KIT-008-Complete-Ultimate-TUTORIAL/dp/B01EWNUUUA/ref=sr_1_2_sspa?ie=UTF8&qid=1532647430&sr=8-2-spons&keywords=arduino+starter+kit&psc=1orhttps://www.amazon.com/Adeept-Ultimate-Mega2560-Guidebook-Processing/dp/B01J9K84ZE/ref=sr_1_14?ie=UTF8&qid=1532647797&sr=8-14&keywords=arduino+sensor+kitAfter you get going you can add other sensor kits from different manufacturers (or individual sensors/hats).

author: NorthGuy
author_rank: Super Contributor
timestamp: July 27, 2018, 01:37:58 pm
content: Quote from: ataradov on July 26, 2018, 11:10:36 pmI agree. I think it's a very good idea. Making sure you don't struggle with the IDE instead of working on your projects.I doubt that the Arduino is the best choice. It may be good to hack something fast, but it's not ideal for learning.

author: rstofer
author_rank: Super Contributor
timestamp: July 27, 2018, 02:00:52 pm
content: The Arduino IDE is trash (in my view) but go ahead and use it for a while. Then, once you are familiar with the physical programming process (push a button to upload code to chip) you can install Microsoft Visual Studio Community Edition plus the Visualmicro attachment:https://www.visualmicro.com/Now you have a professional IDE for the Arduino.Everything that can be one with an Arduino has already been done and it's out on the Internet. Google can find it.The advantage to the Arduino (Uno) is that the learning curve has been flattened. The device was designed for artists to use in mechatronics projects. No particular knowledge of electronics or computer science is required. When you outgrow the Arduino, there are many other boards to conquer.

author: ralphrmartin
author_rank: Frequent Contributor
timestamp: July 27, 2018, 03:01:44 pm
content: I quite like the PSoCs as the tools are free and not too bad, and you can configure hardware on the chip too to some extent. But it maybe a less steep learning curve to play with Arduinos for a while first.

author: senso
author_rank: Frequent Contributor
timestamp: July 27, 2018, 04:26:15 pm
content: Either a PSoC4/5 10$ devboard or grab a blue pill from ebay/aliexpress.Dont "waste" time with AVR's/8 bit micros( yes, yes, I LOVE AVR's, my first micro, but for less than the price of an atmega328p I can grab a cortex M0 that has a ton more of everything).

author: luiHS
author_rank: Frequent Contributor
timestamp: July 27, 2018, 05:51:15 pm
content: In general, whenever you enter the ARM world, it must be fine.I have worked with NXP Kinetis, Atmel SAMS70, ST STM32 and a long time ago with PI32. Now I'm starting with NXP i.MX RT1020 and RT1050, and although I'm still doing things with Kinetis, my idea is to migrate everything to the RT1020.If you do not want to spend a lot of money, an ST Discovery evaluation board, with any STM32 is fine, and to learn, the book "STM32 Mastering" by Noviello.The IDEs (for ARM) are usually based on Eclipse with some Plugin and configuration wizards, such as Cubemx for the STM32 and MCUXpresso + Config tools for the NXP.If you want to directly start working with the really powerful, and not for that expensive, then the NXP MIMXRT1020-EVK evaluation board with an RT1020 microcontroller, LQFP100, Cortex M7 at 500Mhz is fine.All the evaluation boards usually integrate the Programmer/Debuger (ST LinkV2, OpenSDA, etc...), but it is also convenient to buy a programmer, a Jlink EDU or a Chinese version, they are very good. I also have a Multilink PE, but this one is much more expensive.I can not comment on the Cypress micros, I do not know them, nor do other manufacturers like Texas Instruments. Always look at the features, the price of the micro, the ease of obtaining it in traditional distributors (Mouser, Digikey, Arrow, Farnell, etc.) and that the evaluation boards and the programmer are cheap. It is also important that the development tools include the IDE and the C/C ++ compiler completely free, which is common in all ARMs, and a wizard to avoid wasting time configuring the periphery (Cubemx for the ST, Config Tools for the NXP, Harmony for the PIC32, etc ...).I would not recommend the world of Arduino, nor the hardware available, nor its development environment that is quite bad and hidden things that it is important to know to move easily between microcontroller families and different manufacturers of microcontrollers, especially if they are ARM. The only thing that I found interesting about Arduino, and that other manufacturers would have to do, is to integrate a menu into the development environment with a lot of examples of source code for the most common applications, in this aspect it seems that NXP is improving in its recent versions of MCUXpresso, an environment that I like more and more.

author: james_s
author_rank: Super Contributor
timestamp: July 27, 2018, 06:01:04 pm
content: The Arduino IDE is pretty bad, but all IDEs have good and bad aspects. From a learning standpoint the Arduino platform is hard to beat though because there is SO much hobbyist support out there. Do explore other platforms but for getting started one of the Arduino clones offers a lot of bang for the buck.

author: mtdoc
author_rank: Super Contributor
timestamp: July 27, 2018, 06:38:00 pm
content: The problem with these kind of threads is that you get people responding with a vast spread of experience, knowledge and daily utilization of programming/embedded skills - anything from casual hobbyists to professional EEs and coders doing daily embedded work.While that breadth and diversity of experience is generally a positive, in this case I think it leads to some confusion.The OP alluded to doing this as a hobby.There’s a reason that the Arduino environment dominates the electronics hobbyist space - and no that doesn’t mean just artists or “makers”. The reason is that not only is the learning curve less foreboding, and the available examples more numerous, but it is easier to come back to on an intermittent basis and get a project done with minimal fuss.Yes, the arduino IDE has all kind of short comings compared to a proper IDE, but for the typical hobbyist, it just works.I say this based on my experience as a hobbyist which has been this: I started with arduino, did a few simple projects and could immediately see it’s short commings. So I endeavored to learn proper embedded C bare metal programming on ARM. I bought books and did the UT embedded MOOC which was very good. I learned how to use the Kiel IDE and did some ARM cotex M4 projects and got to then point that I felt reasonably confident with the process of using C on ARM with a real IDE.But here’s the problem: Because I have other interests and do not do embedded C on a regular basis, after several months of not using my newly acquired skills, it became increasingly difficult to go back to that type of development to get simple hobbyist projects done. With Arduino, I can get most things I need done with minimal fuss.I can see that for the professional doing regular embedded work, using a real IDE and ARM environment makes sense. This would also make sense for a hobbyist who plans on devoting most of their time, on a regular consistent basis, doing embedded programming. But for the typical, new to embedded, electronics hobbyist who plans to spend their hobby time spread across a full spectrum of electronics learning, I think starting out with Arduino is the best option. If and when they come to a point where they need to move beyond that they can and will have a good foundation to start with. The truth is though, I think most hobbyists end up sticking with, or coming back to Arduino.

author: westfw
author_rank: Super Contributor
timestamp: July 28, 2018, 01:00:35 am
content: QuoteWhat does THAT mean?Do you have other electronics components on-hand? Things that you want to do with your microcontroller?I gifted an Arduino to a young man once, and the followup was essentially "he made the LED blink, and he made it it blink faster and slower." Which in truth is about all you can do with ANY microcontroller board if you don't have any other parts, or any goals.You could do a lot worse than to splurge $100 or so on anhttps://store.arduino.cc/usa/arduino-starter-kitorhttps://www.adafruit.com/product/3697(wearables-oriented, SAMD21) orhttps://www.sparkfun.com/products/14265(Imean, I've never particularly seen a "kit" that looked like "yeah, I want to build each and every project", but ... better to have stuff that you don't care about than to have not enough to do anything with...)If you have more background, there are bigger, cheaper, and less well-documented "starter kits" available from China (with clone boards, possibly counterfeit components, and the usual China risks. )https://www.aliexpress.com/item/UNO-KIT-Upgraded-version-of-the-For-Starter-Kit-the-RFID-learn-Suite-Stepper-Motor-ULN2003/1207142899.html?spm=a2g0s.9042311.0.0.333d4c4d1MZ7dhis an example.)

author: bterrier
author_rank: Newbie
timestamp: July 28, 2018, 06:04:51 am
content: Quote from: westfw on July 28, 2018, 01:00:35 amI have some electronics components on hand. Mainly just a small selection of capacitors, resistors, and transistors. In the past I have re-capped some audio amplifiers etc, tried to repair some broken equipment. (some successful and some not so successful)Haven’t really done much as far as circuit design, programming micro-controllers, etc. 10 years ago or so I did take a C++ class, but I am sure I will need to re-learn it all.Long ago I was enrolled in an beginners electronics class as well. I remember designing some circuits, etching boards, etc. However I cant say that I would be able do that now. I pretty much need to start from scratch again. Im sure it would come back to me, but I am still very much a beginner.To be honest, I don’t have a specific goal in mind. Electronics has always interested me and I just want to become more skilled in the area. I want to be able to design my own things as well as repair equipment.I will probably buy an arduino regardless simply because of the support base, but I am looking for an alternative as well.Sent from my iPad using Tapatalk

author: e100
author_rank: Frequent Contributor
timestamp: July 28, 2018, 02:41:51 pm
content: Quote from: bterrier on July 26, 2018, 10:31:58 pmFor me as a hobbyist it's the availability of device drivers. If you cannot find a driver for a particular peripheral you can easily sink hundreds of hours into creating one (or failing to create one). Reading complex data sheets and searching forums for fixes to undocumented silicon bugs is the least fun part of any project. If you're a pro then this is just part of the cost of doing business. If it's a hobby then you need to decide if this is where you want to spend your time.

author: NorthGuy
author_rank: Super Contributor
timestamp: July 28, 2018, 03:47:49 pm
content: Quote from: e100 on July 28, 2018, 02:41:51 pmThese "drivers" are usually very thin, and writing your own code is likely to take less time than interfacing the "driver", especially if you have used the device before. The very reason many people think the "drivers" are so helpful is that they haven't really tried working without "drivers".

author: cv007
author_rank: Frequent Contributor
timestamp: July 28, 2018, 05:08:26 pm
content: Another option to consider-http://www.microchip.com/Developmenttools/ProductDetails/PartNo/DM164137about $20usI like this because it has the programmer/debugger on board, and you can swap in other pic 8bit micros from 8pin to 20pin. It has various connections on it most of which will not be used, but it does have headers for all the micro pins, and has some led's on board so you can get blinking right away without other hardware/parts. You also have just one place to go for the IDE/compiler/datasheets/app notes/etc.I wouldn't jump right into 32bit micros for a number of reasons. Its quite nice to take an 8pin pic12F (for example), and be able to comprehend the whole chip rather easily (including instruction set, which is always nice to know even if not using directly).http://microchipdeveloper.comis a good resource to browse through.

author: nctnico
author_rank: Super Contributor
timestamp: July 28, 2018, 07:06:43 pm
content: Please stay clear from 8 bit microcontrollers! They will only make your life miserable because they are so limited. ARM controllers being more complex is a myth and probably rooted in the fact that some popular ARM controllers (like the ones from ST) are not so easy to use.If you don't want to go for Arduino then the best option is to choose an ARM based controller with easy to understand datasheets / user manuals. One of the best I'm aware of are those of NXP (LPC ARM series). Silicon bugs are few and the peripherals are made in a sensible way. These are not parts intended to save the last penny on the bill-of-materials but parts intended to get going quickly and save on engineering time. Also the development boards are not the cheapest but your time must be worth something as well.

author: NorthGuy
author_rank: Super Contributor
timestamp: July 28, 2018, 07:30:43 pm
content: Quote from: nctnico on July 28, 2018, 07:06:43 pmIt doesn't sound like "save on engineering time" is the OP's goal, if there's a goal that is.If you have a hobby, you want to spend more time on it, not less. Say, I like playing golf. How could my goal possibly be spending less time playing golf?

author: ataradov
author_rank: Super Contributor
timestamp: July 28, 2018, 07:32:29 pm
content: But you can spend time playing golf of mowing the field. There is a difference. Play on the field that is already mowed.

author: NorthGuy
author_rank: Super Contributor
timestamp: July 28, 2018, 07:47:42 pm
content: Quote from: ataradov on July 28, 2018, 07:32:29 pmYep. Mow off all the rough, trees, brushes. Plant grass over bunkers. Remove all the water. Make the hole the size of the barrel. Shorten everything 5-10 times, and make everything straight and flat - like a soccer field. You'll be sure to make birdie on every hole. And you'll play really quick. Or better yet, the hell with the course, just mark the scorecard - you cannot go wrong with that - the best score in a blink of an eye.

author: nctnico
author_rank: Super Contributor
timestamp: July 28, 2018, 08:15:39 pm
content: Quote from: NorthGuy on July 28, 2018, 07:30:43 pmI think Ataradov pretty much sums it up. If you want to play golf you want to take out the golf clubs and balls and go to a golf course to play. You don't want to build a golf course and golf cart before you can play golf. And if you want to spend time on it then why not design the microcontroller and the compiler first?The bottom line is: even for a hobby project you want to focus on building something and not messing around with the tools or run into one silicon bug after the other. That is just frustrating.

author: DimitriP
author_rank: Super Contributor
timestamp: July 28, 2018, 08:53:23 pm
content: QuoteIt's too simple.Without a specific project in mind or other "requirements",get the UNO.If you ever start feeling the shortcomings of the hardware or the IDE you'll know what to look for in the next development board/environment.

author: andyturk
author_rank: Frequent Contributor
timestamp: July 28, 2018, 09:29:43 pm
content: Quote from: bterrier on July 26, 2018, 10:31:58 pmIf I were in your shoes, I'd buy the PSoC board *and* whichever arduino you like best. 2 x cheap$ = still cheap$.You can get your first blink project in on the arduino, and there are plenty of example projects, web sites, etc. to help out along the way. The PSoC stuff (and ARM Cortex-M in general) is definitely more advanced, but Cypress' IDE is better than ST's--it's not some half-assed thing written by interns.Actually, theCY8CKIT-059is maybe better for messing around. It's got slightly beefier hardware than the 4200 and costs only $10.In the ARM world, "half" of what you learn on a given platform is transferrable. The compiler/toolchain is basically the same everywhere, and what you learn specifically about Cortex-M on one dev board will generally apply to other manufacturers.The other half is the peripherals that are unique to each manufacturer--that knowledge probably won't transfer as directly. Oh, the third "half" are the C libraries provided by the manufacturers to talk to their peripherals. Those are quite different, and there will be a learning curve for each one.

author: KL27x
author_rank: Super Contributor
timestamp: July 28, 2018, 09:52:40 pm
content: LOL, NorthGuy.

author: rhb
author_rank: Super Contributor
timestamp: July 30, 2018, 12:35:35 am
content: Dev boards have become cheap because the Arduino scared the pants off the other vendors. TI has repackaged the Arduino IDE as Energia. I suggest getting one or two of several types. You want fast ADC? LPC has the LPC-Link2 programmer which you can use as a target board. The LPC 4370 has an ARM and an 80 MSa/S 12 bit ADC. And the Link2s are $20 from Digikey. It should be possible to make a DC to 30 MHz waterfall display screensaver for a 4K monitor with 10 KHz resolution.Checkout Mecrisp:http://mecrisp.sourceforge.net/

author: Joeri_VH
author_rank: Newbie
timestamp: July 31, 2018, 01:47:11 pm
content: You might want to consider an Arduino M0 (pro) or MKR1000, giving you the advantage of a not too steep learning curve with the Arduino IDE + libraries and later on the nearly unlimited possibilities of Atmel Studio and real (JTAG) debuggers. Note that the MKR1000 does have a JTAG header, while the MKR zero for example does not. Both the M0 and M0 pro do have a JTAG header, but the Pro version has a USB debug port so you don't have to buy a J-Link or ST-Link.It uses an Atmel/Microchip SAMD21 with an ARM M0+ based MCU.If you don't fancy the Arduino ecosystem to start you might as well go for a Cypress PSOC4 (pioneer) board or an STM32F0 Nucleo. I personally like the Cypress IDE, but YMMV. Both feature a USB debugger, but the STM board has a ST-Link (= J-Link).

author: bterrier
author_rank: Newbie
timestamp: July 31, 2018, 08:00:53 pm
content: Thanks everyone for your advice! I think I am going to go with he arduino and a psoc 4200. I will start there and see where it takes me.Sent from my iPad using Tapatalk

author: Doctorandus_P
author_rank: Super Contributor
timestamp: August 04, 2018, 02:43:24 pm
content: Will you be so kind to remove those tapatalk and other advertisements from your phone or whatever device you use to post these messages?

author: Doctorandus_P
author_rank: Super Contributor
timestamp: August 09, 2018, 02:44:49 pm
content: After getting too irritated by advertizements for some rotten fruit brand I forgot what I wanted to post here.Sorry for that.