Are there any 8 bit development boards with USB connection like Nucleo ? - Page 1
Forum section: electronics / general

author: ez24
author_rank: Super Contributor
timestamp: October 06, 2016, 11:10:44 pm
content: I really like the Nucleo boards because they can be directly connected to a computer via USB. But 32 bit is over my head and I am too stupid (some people are) to start learning with STM32s.I would like to start with 8 bit with a development board that does not need a programmer, ie one that uses USB.I am about to bit the bullet and go with Arduino and use AVR-C. I do not want to use Arduino IDE. But it is actually a little hard to find non-Arduino IDE stuff (C++) using an Arduino. And I am afraid I would mix things up, so this is a last resort.So before I do this, I thought I would see if there are any other 8 bit boards that use USB (built in programmer like Nucleo) and not a stand alone programmer like the Pickit.thanks

author: timb
author_rank: Super Contributor
timestamp: October 06, 2016, 11:20:40 pm
content: All of the MSP430 LaunchPad boards have built-in USB programmers, though they're technically 16-bit, they're still comparable in instruction set to 8-bit MCUs. There's also the PSoC 3 line from Cypress. They have $10 dev boards with built-in programmers.That said, I think you're going about this the wrong way... Unless you're programming in assembly or something, a 32-bit MCU isn't really that much more complex than an 8-bit one. Hell, some 8-bit MCUs have *more* peripherals and registers than 32-bit ones!To illustrate my point, look at the MSP432's from TI. They have the same peripherals as the 16-bit MSP430's, just with a 32-bit ARM Cortex-M core. From a development standpoint (assuming you're programming in C/C++ using the supplied libraries), the 432 is almost identical to the 430.Also, Arduino *is* C/C++ just with a library that abstracts a lot of the complexities. You can directly manipulate the registers instead of using digitalWrite, if you want. You can even do that in the Arduino IDE (which is basically a text editor wrapped around the GCC compiler).

author: Ian.M
author_rank: Super Contributor
timestamp: October 06, 2016, 11:39:44 pm
content: Microchip Curiosity Development BoardsThey have an on-board programmer/debugger and support the newer PICs that support LVP (i.e. don't need /MCLR > Vdd for programming), without the use of a separate PGM pin to enter LVP mode.However, if you don't like the PICkit 3 because of its software/instability, you wont like the Curiosity boards as the on-board programmer/debugger is basically a cut-down PICkit 3.

author: Ian.M
author_rank: Super Contributor
timestamp: October 07, 2016, 12:20:16 am
content: The MPLABXpress Evaluation Board is slightly worse than an Arduino as far as the on-board programmer goes. It emulates a mass storage device that you simply drop the HEX file onto, but that means no debugger,not even an Arduino-style serial terminal. If you want to re-live the glory days of build-burn-crash development, get a MPLABXpress board!Edit: see below

author: ebclr
author_rank: Super Contributor
timestamp: October 07, 2016, 04:59:31 am
content: http://www.silabs.com/products/mcu/8-bit/Pages/efm8-universal-bee-starter-kits.aspxSilabs

author: Ian.M
author_rank: Super Contributor
timestamp: October 07, 2016, 05:22:06 am
content: I tell a lie - it *DOES* have a serial terminal - the firmware apparently also does CDC emulation, so at least it isn't *WORSE* than Arduino.Seehttp://microchip.wikidot.com/xpress:xpressexampleHowever if you are going to 'Arduinoize' your entry level development board, at least provide an Arduino compatible header footprint!

author: Brutte
author_rank: Frequent Contributor
timestamp: October 07, 2016, 06:38:05 am
content: STM8 discoveries have USB and ST with Cosmic released a free toolchain for those chips (no limits). These are dirt cheap (sub 0.5$ for an 8k version).Still, I would not bother with 8-bitters.Just pick any cortex M3 and learn and practice the core only (do not use or read anything about vendors periphperals for the first several weeks). Leave the vendors specific peripherals till you understand the core and the toolchain.

author: newbrain
author_rank: Super Contributor
timestamp: October 07, 2016, 07:49:02 am
content: Don't give up!Quote from: ez24 on October 06, 2016, 11:10:44 pmI don't think so.I remember some threads you started in July about the STM32 toolchain, but did not see many requests for help after that...Are you sure you'd be better off with an 8-bitters?The only advantage I can see is that the peripheral set is usually more limited, both in number and in functionality.But this often comes with a cost: unless you intend to program in assembly, you'll be using C and C compilers for 8 bit MCUs are often full of quirks and strange things to accommodate the underlying architecture (e.g. PIC's #pragma, or AVR ISR declarations).On a 32 bit MCU you can write 99% ANSI C compliant code, and worry almost exclusively about the logic of your program.When it comes to peripherals, you can start with easy things (GPIO is always the easiest) and work your way up either with libraries or direct register writes.Another good thing of ARM (and maybe other architectures) is the debug and semi-hosting support: you can have string output on your PC without worrying about UART o USB drivers, just using regular stdio.And the debug interface (JTAG/SWD) is integrated on almost all ARM boards(STM32, NXP, MCP432 etc.), while for 8 bit you often have to buy an external JTAG adapter.I find single stepping and breakpoints (and watches, and live vars) very useful to follow the program, and an invaluable tool to learn more.Quote from: ez24 on October 06, 2016, 11:10:44 pmIf you don't like the Arduino IDE, I could not agree more.I remember you use Windows so you have a good alternative:Atmel® Studio 7 withVisual Micro, in practice, Atmel's own Visual Studio mod, with an Arduino add-on - so you get the best (worst?) of both worlds.Finally, of course, if you call for help here someone will surely answer!

author: westfw
author_rank: Super Contributor
timestamp: October 07, 2016, 10:33:52 am
content: QuoteAtmel Xplained Mini and Xplained Pro boards, for assorted AVRs. The 328P Xplained Mini is essentially Arudino compatible, but has on on-board mEDBG chip for debugging over USB, and is directly supported by Atmel Studio. Cheap, too.There were several Microchip 8bit PIC eval boards with built-in USB programmers (and several that require an external programmer.)http://www.microchipdirect.com/ProductDetails.aspx?Catalog=BuyMicrochip&Category=Cat14_SubCat1&mid=1&treeid=6(looks like the "Curiosity" kits have built-in programmers/etc, and some of the "PicKit" boards.)Renesas has occasionally had good deals or giveaways for some of their 8bit-ish eval boards. (they claim an RL78 is a 16bit CPU, but it looks an awful lot like a "stretched" Z80 to me...)

author: funkathustra
author_rank: Regular Contributor
timestamp: October 07, 2016, 08:43:14 pm
content: I don't really understand if your goal is to develop on an 8-bit MCU that has a USB peripheral, or just an 8-bit MCU dev board that has a built-in debugger (which connects over USB)?If you want the latter, basically every MCU dev board uses a "native" USB connection for debugging... the classic Arduino UNO (and similar) boards are the only ones I can think of that don't have this.If you want an MCU with a USB peripheral on it, continue reading:Quote from: ebclr on October 07, 2016, 04:59:31 amCouldn't agree more. The Silicon Labs EFM8 MCUs are really great little devices. Their dev boards are extremely cheap considering you get on-board JLink debugging, and you can connect external targets to it. Simplicity Studio, Silicon Labs' Eclipse-based IDE, has some great built-in code-gen tools to get your project going without getting in the way as much as Freescale/NXP's Processor Expert does.Plus, the EFM8 parts are super cheap (I get my EFM8UB10s for 65 cents/piece @100 QTY), and the USB stuff requires zero external components. It's an 8051, though, so you get to do cute stuff related to that archaic architecture (different memory regions, constant SFRPAGE setting/retrieving, etc). Not so different from a PIC, but quite a bit different than the more modern AVR architecture. OK, I take that back; AVR can't run-time config a lot of stuff, so you have to use fuses, which feels really archaic to me.Speaking of PIC, the Microchip PIC16F1454 (and similar) is a cute little MCU that I've used in several projects. Very similar to the EFM8 in terms of pricing/external component requirements. Microchip has really great USB demos that are self-documenting. Pretty hard to screw up.Atmel's USB offerings are crap. You need external crystals, external USB resistors, and some parts don't even have built-in 3.3V regulators (!!). I fight with their USB stack whenever I'm forced to use their part.More generally, I've developed a deep disdain for Atmel over the years. Their parts are expensive and don't compare well with other manufacturers in terms of peripherals/functionality/performance. I've had nothing but problems with Atmel's toolchain. I've jumped between several different computers over the years, and I've never had Atmel Studio actually work upon finishing installation. Tons of driver problems with the AVR Dragon (just last week, I had to re-sign the drivers using my own certs because Atmel couldn't be bothered to update their driver signing that expired in September... no joke).Atmel made a lot more sense back in the day when they were the only vendor with free, easy-to-use tools. But these days, NXP/Freescale/SiLabs/Infineon/Cypress/ST have free, beautiful, standards-based cross-platform IDEs that aren't code-restricted. TI is still oddly code-restricted, but they have a ton of oddball options (free node-locked license with purchase of a dev board, etc). And all these manufacturers have low-cost debugging tools that work well. If you're eligible, the Segger J-Link EDU will target a lot of these parts, and I highly recommend it.Some of these parts are 32-bit. It's funny that you talk about being "too stupid" to do 32-bit MCUs — these days, I feel way stupider when I poke around on 8-bit MCUs and have to remember all the weird #pragmas you have to do for ISRs, fuses, SFR pages, etc. All good 32-bit MCUs have nice HALs delivered either through run-time stuff, or through code-gen tools. I find them to be way more productive than 8-bit MCUs for everything but the most basic projects.Just my two cents!

author: krho
author_rank: Regular Contributor
timestamp: October 08, 2016, 02:08:18 pm
content: QuoteKhm. You can run time configure a lot in XMEGA family. And Its a pleasure to work as you can move up/down the family with the same code (unless you use something that's not supported when going to lower parts)

author: ez24
author_rank: Super Contributor
timestamp: October 08, 2016, 08:25:08 pm
content: I want to say thanks to everyone for their responses. I should have said money is not a consideration. I will not be making anything for sale nor is this for a job.I am reading through the responses several times and following links. One vendor has 10 C code examples (called Labs), one has some that are really hidden and confusing, one requires that their software be installed before you can even see if there are any.I am surprised that there are so many, I thought 8 bit boards used serial connections.I will summarize what I find after I go through this several times. I am also looking at YouTube videos on each one.QuoteI did one semester of programming in the 70's using Fortran and Basic and I remember single stepping and breakpoints. This is a must for me.Someone mentioned I used an STM32 Nucleo board. It took me a week to install the 10 programs to blink an LED and the wrong one blinked. The power LED blinked (I know - impossible). I installed and removed all the programs 3 times and used two boards and still the wrong LED blinked (the power LED). I took this as a very bad omen and gave up. I think I am jinked.The author of Mastering STM32 wrote in his book that it was for "beginners". I asked him about this and he said he meant new to ST not new to MCUs. He said his book was not for beginners to MCUs. There is another vendor that has a "beginner" STM board (Nucleo). He also said beginner to ST, not MCUs. Both said STM32 was not suitable for beginners.I once bought a real Ardunio and spent over three days trying to get an LED to blink. The problem turned out that the company was having ownership problems and they switched the USB chip on the board. I believe it was a .CC vs .ORG thing. So they had the wrong drivers on their website.I think I was the first to get the new chip and it took them three days to correct their software (three days I did not know what was going on and reinstalling software a dozen times). Again I took it as a bad omen and gave up. Now that I know what C++ is, I do not want to use it, nor the Arudino IDE. I have a bad feeling for Arduino.Just a dumb guy having a hard timeI once came across a site that had a paid tutorial on PICs. I think it was from the 30's and used 4 pin MCUs. I thought it was too simple and I lost the name and link. Does anyone know it? I now think I should take his course.till later

author: Ian.M
author_rank: Super Contributor
timestamp: October 08, 2016, 08:39:23 pm
content: Probablyhttp://www.gooligum.com.au/pic-tutorials. Register to download the free samples and see if its what you are looking for. However you'd need a PICkit 3 and either a breadboard, or the Gooligum tutorial board as many of the chips used aren't supported by Microchip Curiosity.

author: stj
author_rank: Super Contributor
timestamp: October 08, 2016, 09:18:02 pm
content: well if you already have a Nucleo and use windows,maybe try this:http://www.mikroe.com/mikroc/arm/http://www.mikroe.com/mikropascal/arm/http://www.mikroe.com/mikrobasic/arm/free to use for very small programs - lots of examples etc.but most of all - it's a single install.

author: ez24
author_rank: Super Contributor
timestamp: October 08, 2016, 09:24:11 pm
content: Quote from: Ian.M on October 08, 2016, 08:39:23 pmDarn, it was Gooligum and about 5 min after I asked this, I realized that I would need a PICKit 3

author: MT
author_rank: Super Contributor
timestamp: October 08, 2016, 11:10:40 pm
content: Quote from: ez24 on October 08, 2016, 08:25:08 pmThats because your not using EmBlocks.http://www.emblocks.org/

author: westfw
author_rank: Super Contributor
timestamp: October 08, 2016, 11:54:14 pm
content: QuoteSo, perhaps programming is not for you. Despite all the efforts to make things easier, it is still my perception that programming very much requires a stubborn "No damnit. this is supposed to work, and I'm going to keep bashing it until it DOES work" attitude. Not "something went wrong and I don't want to break anything." Not "the tutorial didn't work so I gave up."What's that joke? "If at first you don't succeed, skydiving might not be an ideal sport." Programming is the other way around. "If at first you don't succeed, you'll probably learn more than if everything had gone perfectly."