Live data from Hacker News

How to pick a microcontroller

sureshjoshi.com

31–40 of 100 posts

Re: How to pick a microcontroller

#31

A quicker guide for real beginners: Do you want to understand in detail what's happening? => Arduino UNO Is the UNO too small/slow? => Arduino Due Still too small or you really just want a small computer running Linux but with GPIO-Pins? => Raspberry PI

Do you want to understand in detail what's happening? => Arduino UNO I wonder what your definition of "understand in detail what's happening" is if you recommend an Arduino for that. It doesn't have to get as far as https://www.youtube.com/watch?v=UJHeDvr_doM (something that I recommend every should try at least once if they claim to know how things really work) but I think reading the datasheet and using the bare MC…

You can actually do a soft transition from the (opaque) Arduino programming style to a programming style closer to hardware. After all, Arduino programs are just C++ and you can plug in your own functions and assembler and you can even compile and upload your own ASM/C/C++ program written from scratch and compiled with the gnu-avr-toolchain to the UNO.

After you have done all of that it might be a good idea to start soldering the AVR on your own boards.

Re: How to pick a microcontroller

#32
post #21

A quicker guide for real beginners: Do you want to understand in detail what's happening? => Arduino UNO Is the UNO too small/slow? => Arduino Due Still too small or you really just want a small computer running Linux but with GPIO-Pins? => Raspberry PI

I disagree. Everything you listed a) can't be used for products, b) doesn't let you make progress beyond "oh look, I lit up an LED!". Sure, if you never programmed a small device, by all means, start with an Arduino. But after you do light up that LED, please learn more. Go bare metal, learn about interrupts, state machines, entering sleep states -- without those things you'll stay forever in the toy world. In the re…

As the other poster stated, you don't really disagree, just misunderstand.

You can actually do everything you need in the Arduino IDE and then leave the IDE, compile and upload your own program written from scratch to the UNO. All that while staying compatible to the dozens of hardware extensions out there.

The "Arduino" part is not the destination, it's three quarters of the path to the destination and that path is already paved.

Re: How to pick a microcontroller

#33

A quicker guide for real beginners: Do you want to understand in detail what's happening? => Arduino UNO Is the UNO too small/slow? => Arduino Due Still too small or you really just want a small computer running Linux but with GPIO-Pins? => Raspberry PI

Do you want easy wifi and Bluetooth ? ESP. (Arduino Yun are a nightmare in workshops / sprint context)

Of course, do they come with a nice IDE and a big library/ecosystem of soft/hardware examples?

Re: How to pick a microcontroller

#35

A quicker guide for real beginners: Do you want to understand in detail what's happening? => Arduino UNO Is the UNO too small/slow? => Arduino Due Still too small or you really just want a small computer running Linux but with GPIO-Pins? => Raspberry PI

your advice is excellent for makers and hackers, but if you're building a product, arduino/raspberry pi is far too expensive

That depends on what the product may cost and how many you intend to sell. In general you might be right. But if you look in getting started and having a solution (suboptimal but working) quickly, then they are a good choice. Maybe not the best choice, but good.

Re: How to pick a microcontroller

#36

A quicker guide for real beginners: Do you want to understand in detail what's happening? => Arduino UNO Is the UNO too small/slow? => Arduino Due Still too small or you really just want a small computer running Linux but with GPIO-Pins? => Raspberry PI

I would say that if you are looking at getting started with embedded electronics from an electrical engineering/professional stand pint and looking to put things into production then don't start with Arduino and certainly don't view an RPi as a viable embedded solution. A PicKit 2 and a 16F series Microchip microcontroller would be a much better starting point just to get up and running without feeling overwhelmed.

I come from the angle of "absolute beginner" who is trying to get started quickly. If you are really "looking to put things into production" you might be right. Using those boards I proposed will always have big disadvantages.

The original article is not written for absolute beginners, but for people who would go through the pain of soldering 100 pins to a self-designed PCB and failing 5 times before getting a working version.

Re: How to pick a microcontroller

#37

Earlier quoted context omitted.

Paul Stoffregen's Teensy boards are the way to go. The hardware and the software are excellent. Heaps of power thanks to the ARM Cortex M4 and you still get the Arduino IDE. Can't recommend them enough, wish I had of moved to them far sooner. Everybody I've given one to has loved them, and the USB support is also very welcome. (As far as price goes, they're development boards and worth every cent for beginners.)

The Teensy boards are fabulous. I'm so impressed by what Paul Stoffgren has done. He must be some kind of 100x developer. And there are some power users of his boards, who have contributed libraries as well. It's worth noting that while you can ease your way into programming with the functions available within the Arduino IDE, there are libraries for many of the special functions of the chips, and all of the special…

We've had the pleasure of having Paul as a sponsor for our senior project, a sample-based midi synthesizer, running on, at least, the Teensy 3.2 and 3.6; we got free hardware for development, and he's been quite supportive, despite being obviously perpetually busy. And I can't say I ever felt at all hindered by the hardware or its libraries, and although we started the project with almost no embedded experience. Quite a fun way to end college.

Re: How to pick a microcontroller

#38

Its slightly ironic that this article "for beginners" is filled with obscure acronyms he doesn't define (UART, BOM, BLE...).

A more productive way to make this point is to simply ask what the terms mean.

UART is a programmable serial interface; it usually refers to the kind of serial you speak to peripherals in the outside world, as opposed to something like SPI, which is serial spoken to components on the same board.

BOM is "bill of materials". It's the catalog and price of all the components needed to ship an actual product. If your chip doesn't have an RTC (clock), and you need to buy another part to provide it, that adds to your BOM.

BLE is Bluetooth Low Energy.

Re: How to pick a microcontroller

#39

A quicker guide for real beginners: Do you want to understand in detail what's happening? => Arduino UNO Is the UNO too small/slow? => Arduino Due Still too small or you really just want a small computer running Linux but with GPIO-Pins? => Raspberry PI

Paul Stoffregen's Teensy boards are the way to go. The hardware and the software are excellent. Heaps of power thanks to the ARM Cortex M4 and you still get the Arduino IDE. Can't recommend them enough, wish I had of moved to them far sooner. Everybody I've given one to has loved them, and the USB support is also very welcome. (As far as price goes, they're development boards and worth every cent for beginners.)

One of the things I like about this choice is one does not need an IDE, at least not with the 2.0. One can do non-graphical (systems) programming on an underpowered computer with no graphics.

I statically compile the loader. On BSD at least, no 3rd party libs are needed. Then all I need is avr-gcc. I can do everything from the command line. No closed source tools. No requisite graphics layer (e.g., Windows OS). No large interpreters (Python, etc.).

https://raw.githubusercontent.com/PaulStoffregen/teensy_load...

Can anyone recommend other boards where everything can be done like this, i.e., without needing closed sorce tools, graphics layer, or installation of interpreters and scripting libraries?

e.g.: http://home.hccnet.nl/anij/nof/noforth.html

Re: How to pick a microcontroller

#40

A quicker guide for real beginners: Do you want to understand in detail what's happening? => Arduino UNO Is the UNO too small/slow? => Arduino Due Still too small or you really just want a small computer running Linux but with GPIO-Pins? => Raspberry PI

your advice is excellent for makers and hackers, but if you're building a product, arduino/raspberry pi is far too expensive

Many/most Arduino boards are open source. So if you small and are trying to get a simple product line established you can start with designing a daughter/motherboard that the Arduino board plugs into for first series. Then, once you scale up, embed the Arduino parts into the same board. You can use a clone also, which can be much cheaper.

But I wouldn't go recommend Atmega328 for new designs unless its extremely simple, so when I say "Arduino" I mean something similar, like a Teensy 3+ or Olimex STM32 or Adafruit Feather M0

Post reply on HN