Slashdot Mirror


Ask Slashdot: Best Electronics Prototyping Platform?

crankyspice writes "Having recently picked up the Erector set I've wanted since I was a kid, I quickly found myself wanting to plunge deeper into makerspace by adding more sophisticated electronics to moving devices (rovers, maybe eventually flying bots). My first instinct was Arduino (maybe because of brand recognition?), but that got me thinking — what's the 'best' platform out there (most flexible)? Arduino with its myriad options (Nano, Mega, Uno, Mini)? PICAXE? BASIC Stamp? Raspberry Pi? (The latter seems like it would easily be the most flexible, but at greater cost in terms of weight and complexity.) I'm a hobbyist programmer, having learned C and C++ in college and recently re-learning Java (took and passed the Oracle Certified Professional exam, FWIW)..."

228 comments

  1. obvious by Anonymous Coward · · Score: 1

    diydrones.com
    arduino

  2. CopterControl by Sowelu · · Score: 5, Informative

    If you want it to fly, you might want this: http://www.openpilot.org/products/openpilot-coptercontrol-platform/

    Yes, yes, it takes the "fun" out of building your own flying code, but your machine will be a lot more fun to play with when it's actually stable. Put whatever other board you want on it, but for your own sake, use a dedicated flight board if you want to go airborne!

    1. Re:CopterControl by asynchronous13 · · Score: 3, Informative

      Open Pilot is pretty good, but good luck getting one. They only sell in batches, so you have to wait for months or get really lucky on your timing. Right now there's nothing in stock, and nothing expected for 8 weeks.

    2. Re:CopterControl by amirishere · · Score: 0

      Just a thought, wouldn't smartphones be better for flight applications? A Galaxy S I phone would have two cameras, a gyroscope, a magnetometer, all the connectivity functionality that you'd want, and a pretty strong CPU. Furthermore they are pretty cheap.
      What do you think?

    3. Re:CopterControl by godefroi · · Score: 1

      I don't think the gyro+magnetometer combo in a smartphone would be up to the task of maintaining stable flight for anything like a multi-rotor. I could be wrong, but I 'd be surprised.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
  3. Arduino, AVR, RPi, Beaglebone by n1ywb · · Score: 5, Insightful
    In that order. Arduino is cheap and dirt simple and surprisingly powerful and flexable. Arduino is based on AVR which is the next step if you wish to pursue ultra cheap ultra lower power micro designs. AVR is compatbile with the complete GNU toolchain including GCC and GDB via JTAG and in-circuit emulation using the astoundingly cheap Atmel Dragon, the $50 JTAG adapter. Raspberry Pi and Beaglebone both run Linux. The RPi is super cheap but is better targeted at apps which require a GUI. The BeagleBoard is more expensive but is better tuned for embedded use. It would be nice if the inverse were true, but oh well.
    • http://www.arduino.cc/
    • http://www.nongnu.org/avr-libc/
    • http://www.atmel.com/tools/avrdragon.aspx
    • http://beagleboard.org/bone
    • http://www.raspberrypi.org/
    --
    -73, de n1ywb
    www.n1ywb.com
    1. Re:Arduino, AVR, RPi, Beaglebone by n1ywb · · Score: 5, Informative

      Oh I should mention why I don't recommend PIC based platforms; poor support for using Linux as a development host.

      --
      -73, de n1ywb
      www.n1ywb.com
    2. Re:Arduino, AVR, RPi, Beaglebone by DrewFish · · Score: 4, Interesting

      I just got an Arduino for Christmas, and I'm having a blast learning electronics. (I'm programmer by profession, so the coding part is only mildly challenging/interesting.)

      The thing I've been enjoying about the Arduino is the community. When I hook an LED up, why do I need a resister? How do I compute -which- value resister I need? What do I need to run a 1A brush motor? So far I've very often found these questions have already been answered (with ideas, suggestions, hardware, etc).

    3. Re:Arduino, AVR, RPi, Beaglebone by Anonymous Coward · · Score: 2, Funny

      How do you spell "resistor" should also be a question you ask.

    4. Re:Arduino, AVR, RPi, Beaglebone by ecn2 · · Score: 1

      I agree. Get an Arduino Uno at first and then you'll start to get a sense of what direction you want to move in from there. It has the a very strong community of support and programming it is very easy. From there, you can decide to go lower level with AVR, or you can go higher level with the BeagleBone or the Raspberry Pi.

    5. Re:Arduino, AVR, RPi, Beaglebone by grim4593 · · Score: 3, Informative

      I agree with parent: I have not seen any good tools to work with Microchip PICs under Linux.
      That said, I do enjoy working with PIC micro-controllers under Windows.

    6. Re:Arduino, AVR, RPi, Beaglebone by Osgeld · · Score: 0, Flamebait

      I agree with parent: I have not seen any good tools to work with Microchip PICs

      fixed that for you

    7. Re:Arduino, AVR, RPi, Beaglebone by Solozerk · · Score: 3, Informative

      Under Linux, I use a pickit 2, pk2cmd, and sdcc. Gets the job done - although I'm not sure it qualifies as "good", it is a complete command line toolchain and up to now it has supported all but the very latest PICs. Also, gpdasm can disassemble compiled code pretty well if necessary, and gpsim can be used as an okay simulator. Do *not* use Microchip's pickit 3, as you'd be forced to use the horrible Microchip Linux IDE, MPLab X (a rebrand/modification of Netbeans, I believe) instead of say, emacs.

    8. Re:Arduino, AVR, RPi, Beaglebone by span100 · · Score: 0

      Errm i use linux ( debian squeeze ) and mplab-x ond use it with a veriaty of chips mind you documentation is not what it should be.

    9. Re:Arduino, AVR, RPi, Beaglebone by grim4593 · · Score: 1

      Unfortunately I am working with some of the latest PIC's like the 16F1507 which isn't supported with the PICKIT 2.

    10. Re:Arduino, AVR, RPi, Beaglebone by grim4593 · · Score: 1

      Actually I take that back. I just looked at the PICKIT 2 page and they are supported now. They weren't when the chip came out and I had to purchase a PICKIT 3 to program the things.

    11. Re:Arduino, AVR, RPi, Beaglebone by Proudrooster · · Score: 1

      Forget the UNO, Get an Arduino MEGA!

      If you have a lawn irrigation system, consider this your first Arduino project! Open Sprinkler: http://rayshobby.net/?page_id=160

    12. Re:Arduino, AVR, RPi, Beaglebone by BTG9999 · · Score: 3, Informative

      This is not true anymore. The new MPLab X and new XC8, XC16 and XC32 compilers all support Linux officially. They are all free to use with some limitations. MPLab X is based off of NetBeans. I have installed, run and compiled real embedded applications with this tool set under linux for a currently shipping product.

    13. Re:Arduino, AVR, RPi, Beaglebone by Anonymous Coward · · Score: 0

      AVR studio has been windows only for two years now, don't know what you mean with Linux support, there are tool chains for PIC on Linux to neither Atmel nor Microchip supports Linux as a development platform

    14. Re:Arduino, AVR, RPi, Beaglebone by Ford+Prefect · · Score: 5, Informative

      I agree. Get an Arduino Uno at first and then you'll start to get a sense of what direction you want to move in from there.

      Agreed also. I started off with an Arduino nearly two years ago, and learned a lot of electronics and C/C++ building a camera timelapse gadget. (Videos here!)

      The community is definitely incredibly helpful, and if you're trying to do something there's a good chance someone's done aspects of it already. Plus the limited platform means it's difficult to get too sidetracked, and you pretty much have to build things in an efficient manner. It's built over that pretty standard AVR stuff too, so implementing your own Arduino-alike hardware is frighteningly simple.

      The ecosystem of Arduino shields is pretty amazing, but often a bit on the expensive and unwieldy side - for example, paying a fair amount for WiFi when an Arduino can barely handle a single connection, or full-colour backlit LCDs when the thing has almost no RAM - at some point you're going to have to make the leap to a Raspberry Pi or similar if projects are heading that way. I built a ridiculous time-travelling radio around a Pi, using some pretty standard UNIXy stuff which would have been impossible on an Arduino.

      On the other hand, I've seen many learning projects built with Raspberry Pis which would be far better suited to Arduinos - the Arduino has no real operating system, just the (tiny) bootloader and the standard libraries that get linked in, so it's extremely difficult to break a working, embedded setup. My timelapse gadget? Ideal. Starts almost instantly, has no easy-to-corrupt storage - think of the Arduino as programmable electronics glue. Whereas the Pi is more like software glue - if you need a tiny UNIX box doing software-type stuff, potentially interfacing with the real world, then the Pi and friends win hands-down.

      --
      Tedious Bloggy Stuff - hooray?
    15. Re:Arduino, AVR, RPi, Beaglebone by DarwinSurvivor · · Score: 1

      That's the same setup I use from programming them as well. Works fairly well. I haven't tried using a debugger of any kind, but so far my projects have been relatively simple (rs232, lcd, stuff like that).

    16. Re:Arduino, AVR, RPi, Beaglebone by Darinbob · · Score: 5, Interesting

      PICs are ok, but the C for it is extremely limited and it can be a bit frustrating at times. AVR is limited too, but it felt a bit less odd at times. Both come with a large variety of options so the stuff I hated about PIC may not apply to others. The better compilers for PICs are proprietary and as I recall GCC for PIC just isn't that great as the PIC model is too unusual, and there are so many variants of PIC instruction set. AVR feels a bit more like a normal CPU and the differenet models don't change the instruction set too much.

      Both are Harvard architectures meaning you may have a lot of room for programs (ie, 16K or more), but very little memory for RAM (256 bytes). Which means that if you only have a 4K program you don't get to use all that unused space to have more runtime memory. That tiny amount of RAM however is shared with system registers!! The more peripherals your chip has the more RAM that ends up reserved. So what you read on a data sheet may not be what you actually have to work with.

      I am not an Arduino fan. However it's probably good for beginners as it's easier to get started with. You can program it using USB and they can get power over USB as well, which is really handy to avoid extra purchases of power supplies and system programming hardware. Other systems beside Arduino have USB too but boards intended for professionals may not have these quick-start options. These boards are probably going to give you more than you need as well to avoid the frustration of having something too small, after all a hobbyist isn't going to be quibbling about how many pennies they can save per chip in bulk and the hobbyist is going to be building multiple designs with the same chip. It can also can be used without soldering and has a variety of stuff you can buy to attach to it.

      On the other hand Arduino is pushing their programming system as well, which is really the thing that separates Arduino from any other AVR board. It is a C-like language with a library; you're not programming to the bare board, you're not even writing your own main() routine. It is not intended for profressional programers, the target audience appears to be "multidisciplinary" (ie, people who aren't programmers). But you can skip that stuff and go for real C or assembler if you like.

    17. Re:Arduino, AVR, RPi, Beaglebone by n1ywb · · Score: 1

      I stand corrected. I still will not recomment PIC due to the lack of support for using an exclusively FLOSS toolchain.

      --
      -73, de n1ywb
      www.n1ywb.com
    18. Re:Arduino, AVR, RPi, Beaglebone by Anonymous Coward · · Score: 0

      While a FLOSS toolchain would be nice, I'm not aware of any true "production ready" FLOSS toolchain for any microcontroller. In my conversations with other folks that are quite hot on FLOSS and microcontroller development, the "spirit" of FLOSS is present, but the tools aren't available. Microchip is pretty open- they have Windows, Mac, and Linux development tools available and officially supported by employees that will track and follow-up any issues. If you find an issue, they will track it and work to fix it.

      And yes, I've gotta post as AC, my job is connected to these tools. But I do use them- I may not agree 100% with how Microchip deals with licensing, I do know that they are very aware of what is going on, and they care, they just have an established and pretty successful business model to support. Look at the history of any of the non-Microchip processors in the list- how many of those manufacturers have the established history of actually supporting and producing their microcontrollers long term? Microchip still sells virtually all the PICs it has ever released, back to the early 90's, and those are actually supported in the Windows/Mac/Linux environment. The world of microcontrollers is pretty up in the air right now, and there will likely be a lot of fallout, meaning lots of parts will no longer be available.

    19. Re:Arduino, AVR, RPi, Beaglebone by Anonymous Coward · · Score: 0

      You can just download and patch the source for the dsPIC30F/33F/24H/24J lines and compile it on linux. Here's one example guide for doing it http://embeddedfreak.wordpress.com/2008/10/10/compiling-mplab-c30-v311b-under-linux/

      Page with source code: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023073

      The 16-bit line of PICs use a port of gcc so they have the source. The hardware libraries are free, but you can't distribute them without permission... actually, looking more deeply into it, it appears that the linker scripts/headers and other materials might be completely non-free.

      Anyway, I've been building PIC projects using GCC and makefiles for about 3 years now. It works just fine, and now that MPLab X includes a programmer environment (just a program to connect to the ICD2/3 or Pikkit 2/3) I don't even have to worry about the buggy Piklab!

    20. Re:Arduino, AVR, RPi, Beaglebone by Anonymous Coward · · Score: 1

      allaboutcircuits.com and/or take an online course such as mit 6002x. It really puts the fun in electronic fundamentals!
      You need a resistor because an LED has the voltage-current relationship of a diode, which says that current increases exponentially with voltage. If you hook up a diode (LED) to a voltage source well above the diode's typical operating forward voltage, then the diode will draw as much current as needed to satisfy the voltage-current relationship, within the voltage source's limits of course. Which with many voltage sources is so much current that it'll burn out the LED in an instant.
      A resistor provides a "ballast" -- if you will -- it limits current through the diode and in doing so the voltage across the LED's terminals stays at the LEDs "typical" forward voltage.
      Simplified, but widely used way to calculate the required resistor: (V_source - V_f) / I = R
      example. (5V - 1.4V) / 0.02A = 180ohm (conveniently this is an E12 value)
      now go study!

    21. Re:Arduino, AVR, RPi, Beaglebone by rdsingh · · Score: 1

      Microchip's MPLABX IDE is based on Netbeans platform and is available for Linux as well as Windows. Microchip X32, X16 and X8 compilers are ANSI compliant and work well under Linux. Their Free version of compiler is good enough for most of the serious work.

    22. Re:Arduino, AVR, RPi, Beaglebone by Anonymous Coward · · Score: 0

      Apparently I misread the post above, that these questions were already answered. I submit to my deserved online flailing.
      But I still urge you to take a course, it will launch you far ahead in knowledge.

    23. Re:Arduino, AVR, RPi, Beaglebone by Anonymous Coward · · Score: 0

      LOL? Then why not help make a FLOSS toolchain if you really want one? Microchip open about its infrastructure, instruction sets, etc.

      The docs are out there!

      Or will you now state that "they" should be doing it for you instead? Or perhaps then you'll complain that the chip hardware design is not OSS either?

      I highly recommend PIC devices simply because they are very simple to program, to interface with, to wire, etc. You don't even need a prototype PCB, just put everything on one of those prototype solderless breadboards using DIP packaged PICs and you are off to the races. The only piece of hardware I highly recommend is PICkit 3. It is about $45 - very affordable.

    24. Re:Arduino, AVR, RPi, Beaglebone by demonlapin · · Score: 1

      That's not a bad one, but how about doing something that combines Arduino AND Raspberry Pi? (why? Because the RPi is cheaper than an Ethernet shield for Arduino, and a hell of a lot more capable)

      I just built the HeaterMeter v4.0 for Raspberry Pi to control my grill, although with a few small changes in settings you can also hook it up to a solid state relay and use it to do sous vide cooking. It's both cheaper (assuming that you count the time spent building it as recreation) and more capable than the commercial alternatives.

      It looks like Ray is pursuing RPi integration for some of the advanced features it brings, like enough computing power to run a proper webserver. He mentions weather-compensating software for the OpenSprinkler, which is actually the only reason I would want to replace my existing sprinkler controller - I don't need a WiFi capable sprinkler system unless it's using the WiFi to turn it off when it's raining, just rained, or is about to rain.

    25. Re:Arduino, AVR, RPi, Beaglebone by aaarrrgggh · · Score: 1

      Personally a fan of the Ruggeduino. It is a little harder for a less... detail-oriented person like myself to fry.

    26. Re:Arduino, AVR, RPi, Beaglebone by Anonymous Coward · · Score: 0

      I wouldn't say that. Ever since MPLABX came out for Linux/OSX, I do all my PIC development in *NIX. I've never gotten into AVR mainly because it Microchip seems to be the uC in just about any consumer electronic device I crack open.

    27. Re:Arduino, AVR, RPi, Beaglebone by Anonymous Coward · · Score: 0

      write in PIC hex.. I've done it, it's not hard. Written an assembler in perl in an afternoon too.

    28. Re:Arduino, AVR, RPi, Beaglebone by Anonymous Coward · · Score: 0

      Theoretically 180ohm is the correct answer, but in the real world most LEDs will run so hot with that much current they will burn your fingers and/or burn out the LED. 1000ohms is a much better empirical value.

    29. Re:Arduino, AVR, RPi, Beaglebone by Anonymous Coward · · Score: 0

      "Resisters" are included for political reasons.
      Without their involvement, current trends will cause the LEDs to explode.

    30. Re:Arduino, AVR, RPi, Beaglebone by Anonymous Coward · · Score: 0

      AVR uses gcc, why would I use some MS visual studio knockoff?

    31. Re:Arduino, AVR, RPi, Beaglebone by worip · · Score: 2

      My whole problem with the whole Arduino universe is the price. You essentially pay an extremely large markup for the libraries and community. There are other much cheaper developer platforms out there, e.g. TI's MSP430 launchpad (essentally a $4 development board with a built-in emulator) and the corresponding community ww.43oh.com, but you are much closer to the hardware. So the learning curve is steeper, but you probably going to learn much more. Another option is the Discovery platform by ST, a very capable ARM platform. The platform you choose will be determined by what you want to do, i.e. turning LEDs on and off you will go for a simple microcontroller e.g. the MSP430; building an IMU for a quadrocopter you will probably need to go for an ARM-like device.

      --
      A picture is worth exactly 1024 words.
    32. Re:Arduino, AVR, RPi, Beaglebone by worip · · Score: 1

      Oh, forgot to mention that C is really the only language if you are doing truly embedded (running on the metal) work. Other languages are fine when you have an operating system running, but C (and usually in some form or another assembler to get things started) is the most prevalent embedded language out there.

      --
      A picture is worth exactly 1024 words.
    33. Re:Arduino, AVR, RPi, Beaglebone by julesh · · Score: 1

      Raspberry Pi and Beaglebone both run Linux. The RPi is super cheap but is better targeted at apps which require a GUI. The BeagleBoard is more expensive but is better tuned for embedded use. It would be nice if the inverse were true, but oh well.

      The Olimex A13-OLinuxIno is a reasonable compromise -- priced between the two boards, but much closer to the feature set of the beagleboard (and actually a faster processor with more memory than either). It was intended as a Linux-running competitor for Arduino, and is pretty nifty, as long as you're happy with the fact that it runs on a cheap chinese SoC processor that is only officially supported as a platform for making low-end Android tablets, so the Ubuntu port is not officially supported. And like Arduino, it's an open-hardware design. The only downside as far as I'm concerned is that it doesn't support either DVI or HDMI -- the only way of connecting a display is either via the integrated LCD panel port or on VGA, and resolution is limited to 800x600. But those constraints are fine for embedded use.

    34. Re:Arduino, AVR, RPi, Beaglebone by Annirak · · Score: 1

      I still don't understand why people are focused on PICs and AVRs. ARM has had better functionality and pricing (starting at the mid-range; low range is still dominated by 8-bit) and better peripherals for at least 5 years now.

      TI Stellaris launchpad: $5, 80MHz, 32-bit ARM Cortex-M4 CPU with floating point, 256Kbytes of 100,000 write-erase cycle FLASH and many peripherals such as 1MSPS ADCs, eight UARTs, four SPIs, four I2Cs, USB & up to 27 timers, some configurable up to 64-bits. Integrated in-circuit debugger.

      Each of the following also have an integrated in-circuit debugger which is compatible with OpenOCD
      STM32F0DISCOVERY: $8 48MHz ARM Cortex-M0, 64 Kbytes of flash and 8 Kbytes of SRAM, standard communication interfaces (up to two I2Cs, two SPIs, one I2S, one HDMI CEC, and up to two USARTs), one 12-bit ADC, one 12-bit DAC, up to five general-purpose 16-bit timers, a 32-bit timer and an advanced-control PWM timer.
      STM32VLDISCOVERY: $9.90 24MHz ARM Cortex-M3, 128KB Flash, 8KB SRAM, standard communication interfaces (up to two I2Cs, two SPIs, one HDMI CEC, and up to three USARTs), one 12-bit ADC, two 12-bit DACs, up to six general-purpose 16-bit timers and an advanced-control PWM timer.
      STM32F3DISCOVERY: $10.90 72MHz ARM Cortex-M4, with FPU, 256KB Flash, 48KB SRAM, up to four fast 12-bit ADCs (5 Msps), up to seven comparators, up to four operational amplifiers, up to two DAC channels, a low-power RTC, up to five general-purpose 16-bit timers, one general-purpose 32-bit timer, and two timers dedicated to motor control. They also feature standard and advanced communication interfaces: up to two I2Cs, up to three SPIs (two SPIs are with multiplexed full-duplex I2Ss on STM32F303xB/STM32F303xC devices), three USARTs, up to two UARTs, CAN and USB. To achieve audio class accuracy, the I2S peripherals can be clocked via an external PLL.
      STM32F4DISCOVERY: $14.90 168MHz ARM Cortex-M4 with FPU, 1MB Flash, 192KB SRAM, and way too many peripherals to list here.

      All the above are supported by GCC and OpenOCD.
      With prices, capability, and development tool support like that, why would you use an 8-bit micro? It doesn't give you the same support that Arduino does. You have to learn how the peripherals work and you have to write your own interfaces to things like ADCs, but the examples are pretty complete.

    35. Re:Arduino, AVR, RPi, Beaglebone by seventy-nine · · Score: 1

      I second the AVR. Great docs, good community. The chips are really cheap, and most of them have PDIP versions, which means that you can just plug them into a breadboard or solder them onto a stripboard. You need no extra components to make them run from a 5V supply (like USB), and they can run at up to 16MHz with an external oscillator (even 20MHz for some). You can program them with the STK500 USB programmer which costs about 20 bucks iirc, and which is supported by the free avrdude software.

      As an example, the ATTiny26 is about 3 dollars, and powerful enough to build a MIDI controller with 6 analog inputs that communicates through software USB even though it has only 128 bytes of RAM and 2kB of flash memory.

      An Arduino might be even simpler to use, but I have no experience with those. Have fun !

    36. Re:Arduino, AVR, RPi, Beaglebone by aXis100 · · Score: 1

      It's not hard to get Arduino clones down to $12 - $15. At that point, price is hardly the obstacle.

      In addition, I value my time higher than that and saving evan an hour on programming is worth it for me.

    37. Re:Arduino, AVR, RPi, Beaglebone by Stoutlimb · · Score: 1

      My first Arduino was an Ardweeny. It costs $9.95. So far it's done everything I've wanted it to do.
      https://solarbotics.com/product/kardw/

      You can even go cheaper and more harcore if you want:
      http://shrimping.it/blog/shrimp/

      Is price really such a problem?

    38. Re:Arduino, AVR, RPi, Beaglebone by Big+Hairy+Ian · · Score: 1
      Sorry not familiar with PIC but if the support for Linux is poor perhaps the Someone should start an Open Source Project to improve matters.

      Just a thought

      --

      Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

    39. Re:Arduino, AVR, RPi, Beaglebone by spongman · · Score: 1

      the problem with the TI stuff is that while the hardware is excellent, the dev tools suck bad, the support is non-existent, and they have the gall to want you to pay for the privilege of developing software for their platform. atmel excels in this regard. their visual studio-derived IDE supports both AVR and ARM.

    40. Re:Arduino, AVR, RPi, Beaglebone by Anonymous Coward · · Score: 0

      I think arduino's are rather expensive for what they are.

      For the same price you can get these ridiculous microcontroller boards these days:
      http://www.st.com/internet/evalboard/product/252419.jsp
      http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-KL25Z

      Other MCU manufacturers also make similar boards, and they are cheap. Cheap as in $5-$20. If you buy one, you should however cheap what kind of licenses their software has, some require rather obnoxious libraries to control some of the functionality.

      And further, there's FPGAs, that you can get above $50. They ofcourse require HDL and proprietary software.

    41. Re:Arduino, AVR, RPi, Beaglebone by serviscope_minor · · Score: 1

      The better compilers for PICs are proprietary and as I recall GCC for PIC just isn't that great as the PIC model is too unusual, and there are so many variants of PIC instruction set.

      The unusualness is caused by the banked memory. The PIC12F series, for example has only 7 bits in the instructions for embedded addresses. GCC just hasn't been written to cope with such things. Shame, really because using GCC has made me spoiled and I hate badly written pointlessly non-standard venduh compilers. That said the 12F and smaller series are so small it's barely worth moving out of ASM anyway.

      It is a C-like language with a library;

      It is quite C like. Very C like in a number of regards, but, let us say, one better.

      --
      SJW n. One who posts facts.
    42. Re:Arduino, AVR, RPi, Beaglebone by Joce640k · · Score: 2

      My whole problem with the whole Arduino universe is the price.

      You can get clones for $12, or use bare AVR chips for $3 (the Arduino PCB is mostly just a voltage regulator and some header strips).

      A bare AVR chip will work with no external components whatsoever. Just put one in a breadboard, connect up your favorite programmer, you're good to go.

      --
      No sig today...
    43. Re:Arduino, AVR, RPi, Beaglebone by Joce640k · · Score: 2

      I prefer C++ myself...

      --
      No sig today...
    44. Re:Arduino, AVR, RPi, Beaglebone by Joce640k · · Score: 1

      I still don't understand why people are focused on PICs and AVRs. ARM has had better functionality and pricing....

      Obviously a lot of people don't agree with your definition of "better".

      ARM chips are 3.3V, surface mount and are very delicate electrically.

      AVR chips have enough volts for an LED, can be stuck in breadboards, and can take a hellish amount lot of electrical abuse.

      (Plus I think "eight UARTs, four SPIs, four I2Cs and up to 27 timers" is moot for most people...)

      --
      No sig today...
    45. Re:Arduino, AVR, RPi, Beaglebone by Joce640k · · Score: 1

      Plus you don't get a massive online community like you do with Arduino/AVR.

      --
      No sig today...
    46. Re:Arduino, AVR, RPi, Beaglebone by Anonymous Coward · · Score: 0

      I'm guessing another reason to praise the Arduino community is that they don't have trolling grammar Nazis...

    47. Re:Arduino, AVR, RPi, Beaglebone by Joce640k · · Score: 1

      I think arduino's are rather expensive for what they are.

      Apostrophes aren't difficult...

      As pointed out by a million other people, you don't have to buy the official board. Even if you do, you can use the board for development then just pull the chip out and put it on a piece of perf-board for your final gadget (the Arduino connectors are rubbish for long-term builds anyway, better to solder wires to a board). New chips for an Arduino board are $3.

      --
      No sig today...
    48. Re:Arduino, AVR, RPi, Beaglebone by jones_supa · · Score: 1

      the problem with the TI stuff is that while the hardware is excellent, the dev tools suck bad, the support is non-existent, and they have the gall to want you to pay for the privilege of developing software for their platform. atmel excels in this regard. their visual studio-derived IDE supports both AVR and ARM.

      +1 for this. AVR Studio is very comfortable program to use.

    49. Re:Arduino, AVR, RPi, Beaglebone by Annirak · · Score: 1

      ARM chips are 3.3V, surface mount

      Surface mount is a moot point in the face of an inexpensive breakout board, unless you're looking at a size-constrained application. You can have your own PCBs manufactured professionally for $10 if they're small (5x5cm), so SMD parts are viable as long as the pitch isn't too small--I've soldered small SMD parts many times with both a heat-gun and a soldering iron. I like the heat-gun better, but the soldering iron is more commonly available. That said, if Arduino is a contender, then use of breakout boards is a non-issue.

      ARM chips ... are very delicate electrically.

      That's a pretty sweeping statement. Do you have any evidence to back that up? You know that NXP's line of ARM micros are all 5V tolerant, right? And ST's ARM lineup all have at least *some* 5V tolerant pins, most of them are mostly 5V tolerant. The STM32F4 which is on the discovery board has 138 of 140 5V tolerant pins. TI's micro that's on the launchpad also has all 5V tolerant I/O.

      5V tolerance is a non-issue.

      AVR chips have enough volts for an LED

      If this is an issue, you're doing it wrong. VCC--|>|---/\/\/\---MCU pin. With 5V tolerant I/O, you no longer have a problem.

      can be stuck in breadboards

      See above comment about breakouts.

      (Plus I think "eight UARTs, four SPIs, four I2Cs and up to 27 timers" is moot for most people...)

      Just because you don't need it for a particular application doesn't mean that having it available is bad. Maybe someone *does* need that. Then they have it available.

      There's nothing wrong, per se, with AVRs or PICs. It's just that the price/performance tradeoff isn't very good in the face of other options.

    50. Re:Arduino, AVR, RPi, Beaglebone by egcagrac0 · · Score: 1

      in the real world most LEDs will run so hot with that much current they will burn your fingers and/or burn out the LED.

      My math says that's .028 watts dissipated by the LED. 20mA is not unreasonable for most LEDs I recognize. (In fairness, I use the big through-hole LEDs, since that's what I have a supply of on the bench, and they're usually 2.1v, not 1.4v.)

      20mA @ 5V is .1 watts TOTAL, between the .028 watts to the LED and the .072 watts burned by the resistor.
      This doesn't seem like enough to burn most through hole components, and even commonly sized (0603) surface mount resistors should be able to handle this easily.

    51. Re:Arduino, AVR, RPi, Beaglebone by Builder · · Score: 1

      Just the man I'm looking for - what probes did you use ?

      I'm trying to use the recommended probes, but using a thermocouple amplifier, I just get a warning saying "Something wrong with the thermocouple".

    52. Re:Arduino, AVR, RPi, Beaglebone by Joce640k · · Score: 2

      ARM chips are 3.3V, surface mount

      Surface mount is a moot point in the face of an inexpensive breakout board, unless you're looking at a size-constrained application. You can have your own PCBs manufactured professionally for $10 if they're small (5x5cm), so SMD parts are viable as long as the pitch isn't too small--I've soldered small SMD parts many times with both a heat-gun and a soldering iron. I like the heat-gun better, but the soldering iron is more commonly available. That said, if Arduino is a contender, then use of breakout boards is a non-issue.

      Yeah, that's way easier than sticking a chip in a breadboard. Everybody has a hot air solder rework station at home and manufactures their own PCBs.

      ARM chips ... are very delicate electrically.

      That's a pretty sweeping statement. Do you have any evidence to back that up? You know that NXP's line of ARM micros are all 5V tolerant, right? And ST's ARM lineup all have at least *some* 5V tolerant pins, most of them are mostly 5V tolerant. The STM32F4 which is on the discovery board has 138 of 140 5V tolerant pins. TI's micro that's on the launchpad also has all 5V tolerant I/O.

      It's nothing to do with 5V tolerance. Read this for a while then come back and tell me ARM chips would take that kind of abuse.

      AVR chips have enough volts for an LED

      If this is an issue, you're doing it wrong. VCC--|>|---/\/\/\---MCU pin. With 5V tolerant I/O, you no longer have a problem.

      Again, nothing to do with 5V tolerance.

      Read the Arduino forums, the first thing most people do with their Arduino is connect LEDs to it (usually without resistors...) In their eyes a board which can drive LEDs directly is better than one which can't (or which dies because they didn't put in a resistor). I've seen people try to drive 64 LEDs in parallel from one Arduino pin then go on the forums and complain they're "a bit dim".

      So for most people this is an issue. They want 5V from their I/O pins with at least enough current for an LED. They're not engineers, have never read a datasheet and don't know you're not supposed to do it.

      (Plus I think "eight UARTs, four SPIs, four I2Cs and up to 27 timers" is moot for most people...)

      Just because you don't need it for a particular application doesn't mean that having it available is bad.

      No, but most people don't see it as a reason to choose ARM over AVR.

      --
      No sig today...
    53. Re:Arduino, AVR, RPi, Beaglebone by AmiMoJo · · Score: 1

      The other issue with PICs is that the debuggers are terrible. ICD2 and ICD3 are a joke and barely work on Windows, let along Linux. They are very expensive too. For AVR you can get a JTAGICE3 that does everything and does is pretty damn well, and at a very low price. A basic programmer is even cheaper, but I'd spend a little more and get the debugger.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    54. Re:Arduino, AVR, RPi, Beaglebone by Anonymous Coward · · Score: 0

      Oh I should mention why I don't recommend PIC based platforms; poor support for using Linux as a development host.

      MPLAB X IDE works just fine in Linux.

    55. Re:Arduino, AVR, RPi, Beaglebone by buxomspacefish · · Score: 1

      One thing about living in slashdot I never could stomach, all the damn spelling and grammar nazis.

    56. Re:Arduino, AVR, RPi, Beaglebone by gl4ss · · Score: 1

      well, depends on what you're building.

      if you need ten of them.. then just going for 3 buck avr's is definitely going to be cheaper(dx has them for ridiculously cheap)

      --
      world was created 5 seconds before this post as it is.
    57. Re:Arduino, AVR, RPi, Beaglebone by Andy+Dodd · · Score: 1

      avr-gcc is "production ready" for AVR. In fact I believe Atmel's own official development tools use avr-gcc at the core.

      Same for most ARM microcontrollers - all of these have "production-ready" gcc toolchains.

      --
      retrorocket.o not found, launch anyway?
    58. Re:Arduino, AVR, RPi, Beaglebone by Andy+Dodd · · Score: 1

      If you buy an Arduino with a socketed DIP AVR, most of that board's reason to exist goes away.

      Plus I've done about half the things in that list of "ways to destroy an AVR" without destroying it.........

      Oh yeah, they forgot "plug the chip in backwards so the power supply is completely reversed". Well, actually, they didn't since that won't kill most AVRs, although if you're using a solderless breadboard, it'll melt the breadboard's plastic underneath the chip. Yes, I did that in my first microcontrollers class in school - killed a breadboard, unplugged the chip, rotated it the correct way, plugged it into another breadboard, it worked perfectly.

      AVRs are incredibly robust.

      --
      retrorocket.o not found, launch anyway?
    59. Re:Arduino, AVR, RPi, Beaglebone by Andy+Dodd · · Score: 1

      One thing you forget is the atrocious anti-GPL licensing clauses of TI's StellarisWare libraries. Those are why most of my TI dev boards have been collecting dust for a year or two now...

      Most of my microcontroller projects are licensed under the GPL, and TI's libraries are so GPL-incompatible that they explicitly call it out as incompatible with some VERY nasty language. So to work with TI's chips I need to completely start from scratch.

      --
      retrorocket.o not found, launch anyway?
    60. Re:Arduino, AVR, RPi, Beaglebone by demonlapin · · Score: 1

      I bought the Maverick probes. If you go here you can get one food probe and one smoker probe for $20 + S&H. They're thermistor, not thermocouple, though.

    61. Re:Arduino, AVR, RPi, Beaglebone by steelyeyedmissileman · · Score: 1

      Perhaps not, but the community is growing. Besides, how can the community ever develop if everyone says "don't bother, there's no community yet"? Communities can't grow if nobody moves in.

      My opinion, between the two: if you just want to put things together, go with an Arduino. If you really want to understand how it all works and don't mind putting in the time, go with the MSP430. Then start contributing to the community (in either case).

    62. Re:Arduino, AVR, RPi, Beaglebone by Anonymous Coward · · Score: 0

      Built electronics with my nephew @ christmas, wired up 5mm "super bright" LED with 9v and 560ohm resistor. The LED got so hot he burned his fingers and his mom gave me dirty looks :( 1k resistor worked ok and LED as still super bright.

    63. Re:Arduino, AVR, RPi, Beaglebone by Jae686 · · Score: 1

      +1 Informative :P

    64. Re:Arduino, AVR, RPi, Beaglebone by Builder · · Score: 1

      Well, that would explain why they don't work on a thermocouple amplifier then! I'll go with the 22k resistor solution then.

    65. Re:Arduino, AVR, RPi, Beaglebone by Annirak · · Score: 1

      When I mentioned breakout boards, I meant pre-built ones. With the chip already soldered on it.

      With regards to hot air rework stations... I said heat gun. You know, the kind you use to strip paint? A heat gun, some tinfoil, and a decent PCB, and you too can solder SMD. Making your own PCBs is really cheap Like I said, about $10 for 10 if you can keep them to 5cmx5cm. See http://imall.iteadstudio.com/open-pcb/pcb-prototyping.html for more info.

      You still haven't demonstrated what kind of abuse breaks an arm, and from which manufacturer. All you've done is demonstrated what kind of abuse an AVR can take. That has absolutely no bearing on what an ARM can handle.

      So what you're saying is that AVRs are for people who aren't good at electronics? That's fine. The next step up for them after they learn how to connect an LED can be to get an ARM board.

    66. Re:Arduino, AVR, RPi, Beaglebone by egcagrac0 · · Score: 1

      We're missing a few parts to actually do the math, here... like the forward voltage of the diode, the maximum continuous current rating, the power dissipation rating of the diode...

      There's a lot of 5mm super bright LED's to choose from, and they don't all behave the same.

      And yes, a lot of diodes will light acceptably at half of maximum current.

  4. None of the above. by Anonymous Coward · · Score: 1

    Everything you listed is crap. The Arduino is the best of them, but only because it uses AVR. Processing is rubbish and if you do buy an Arduino all you'll end up with is an expensive and limited AVR development board. Just buy a real AVR development board instead, or even better, learn how to build one from parts, since it's trivially easy.

    1. Re:None of the above. by muridae · · Score: 2

      Or, use the Arduino bootloader to load your own C or asm code. The bootloader then just acts as a safety net for you setting the fuses wrong, and a Arduino with a socketed chip will act like a general programmer.

    2. Re:None of the above. by Anonymous Coward · · Score: 1

      An Arduino nano (Atmega328) costs $10 on EBay including shipping. At that price, nothing else is worth your time or effort.

    3. Re:None of the above. by csumpi · · Score: 1

      +1. Wish I had mod points.

    4. Re:None of the above. by caseih · · Score: 3, Interesting

      Arduino's environment uses essentially straight C++. There's nothing special about it; it all runs through g++. The Arduino system merely provides you a nice lightweight abstraction that you can use or not.

      I recently developed a linear actuator controller using Arduino and when I was done I targeted the AtTiny84 processor, took the hex file and burned it with avrdude to the chip and it worked great (though I'm only using it at 1 MHz with no external clocking components. I built the binary from within Arduino's IDE even (added a plugin to target attiny). This is what makes Arduino so interesting. It's a straight forward jump into more complicated AVR programming, or to other smaller chips that don't have an arduino bootloader like the attiny.

        I think your post illustrates the confusion over Arduino.
      1. It's not a special language; it's simply C++ with a framework to abstract the chip a little and the result resembles processing, but it isn't processing. I've seen people develop little python libraries for Raspberry Pi that emulate this framework on the Pi.
      2. The arduino bootloader is nice for rapid develop/load/test cycles, but isn't required. If you have the proper hardware definition files in Arduino you can target other chips like AtTiny (no bootloader at all), or the Teensy (proprietary bootloader).
      3. You can port your Arduino programs directly to AVR if you wish complete with the arduino abstractions (framework).
      4. Arduino is really about a community and a lot of libraries.

      Just as an aside, I recently discovered the QP event framework for Arduino, straight AVR, Arm, Pi, or any number of other platforms. Gives you a complete event-driven paradigm for embedded devices complete with threads, timers, event sources, event sinks, etc. All in just under 3k. It's complicated stuff but looks to be very powerful I'm going to check it out.

    5. Re:None of the above. by Joce640k · · Score: 1

      I'm pretty sure a "real AVR development board" is more expensive than an Arduino. And not much more flexible.

      --
      No sig today...
    6. Re:None of the above. by Anonymous Coward · · Score: 1

      +1. Wish I had mod points.

      Well, you don't.

    7. Re:None of the above. by gl4ss · · Score: 1

      I'm pretty sure a "real AVR development board" is more expensive than an Arduino. And not much more flexible.

      well all you need is a 3-5 dollar avr chip and a programmer for a tenner.

      you're going to need a breadboard anyways. some stk500v2 clone, usbisp or similar and a breadboard = real arduino developer board.

      arduino nano is pretty convinient anyhow though.

      --
      world was created 5 seconds before this post as it is.
  5. It Depends by muridae · · Score: 1

    Want to expand your horizons and think about multi-core algos? Go with a Propeller. Arduino, in all it's forms, has a unified IDE so you can practice with a big prototype board and move to something smaller if you want a finished product. PIC Basic I've never liked, because it's Basic. A PIC and a programmer, on the other hand, will get you something that you can practice some assembly with. So will a Atmel, and you get some GCC tools to compile C or whatever else (might be available for PIC, not my favorite so I don't keep up with that). Or you can go with an ARM based board, like one that TI has put out; it comes with a proprietary tool chain and bootloader, but the FOSS community has been working on gcc and a unencumbered bootloader for it.

    So, TL,DR: more details needed. What do you want to do with it, other than just learn a new technology? If you just want to learn anything, pick the cheapest!

    1. Re:It Depends by muridae · · Score: 2

      hate to reply to myself, but I realize that you may think you've provided some of those goals. You want to build something moving. Any of those micros will connect to some relays control motors. What you want the micro to do other than control the motors is important. The smallest Attiny that will use the Arduino boot loader will control some motors, and may be able to chat with a radio chip so you can build a remote control bot. But it won't do on board navigation, it doesn't have enough pins.

      So, do you want your bot to navigate themselves? You'll need something more powerful. If you want it to use a camera and do it's own image processing, you'll need even more power. GPS and inertial navigation too? Even more processing umph. A Basic stamp has the overhead of a interpreted language, skip that. Look at the ARM and Atmel and PIC chips that are on the boards, and base a decision off that. All the various Arduinos will chat with the IDE, but you'll need a processor that can handle what you want it to do. Same for a small ARM versus the larger ARM in something like the Raspberry Pi or a cell phone. And don't neglect the CPU of a used cell phone, some of those ARM chips are pretty potent and if the screen if broke you can pick up something rather cheap.

    2. Re:It Depends by Anonymous Coward · · Score: 0

      So much knowledge, and you can't even tell its from it's.

    3. Re:It Depends by Anonymous Coward · · Score: 0

      Arduino not powerful enough to do its own navigation? You're very wrong. Using just 8 MCP23017 i2c chips all running on the same 2 analog pins on an Arduino gives you 128 additional digital I/O pins. Use 2 more analog pins and now you have 256 digital I/O pins, all without even touching the 13 on board pins. Also there are already flying quadrocopters with GPS and autopilot using Arduino UNO as well as numerous moving robots. You obviously don't know what you are talking about.

    4. Re:It Depends by tibit · · Score: 2

      Propeller is all great, but it takes a lot of ingenuity to make it do anything useful if you code it up yourself. All you've got is ~500 32 bit words of RAM to store your code and fast registers. One word per instruction. A novice will not be, typically, really using Propeller architecture directly, just running some slow interpreted spin code and reusing the better objects out there.

      --
      A successful API design takes a mixture of software design and pedagogy.
    5. Re:It Depends by fermion · · Score: 2
      There are things that everyone uses, is promoted by Make, but if you want to do electronics, there are other options. For instance, the basic stamp is not a bad setup. It includes a breadboard where you can do simple logic, or put in a FPGA to do more complex logic, for instance display the speed of the car. This is a simple way to get into the electronics, rather than just software.

      there is also fishertechnics that provides a graphical programming language and wide variety of building accessories. One can build cars, robots, assembly lines, etc. It is on the expensive side, and like the other options will primarily deal with structural issues and programming. with additional equipment, it can be used to learn to use electronics and digital logic to accomplish simple tasks. p. I would definitely look beyond the standard players. The disadvantage is that support might be less than some of the other more popular players.

      --
      "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
    6. Re:It Depends by muridae · · Score: 1

      I did say the smallest ATTiny that runs the Arduino bootloader. Take the ATTiny45. Sure, it has the three analog pins that you would use, but that's all it has. By the time you get the tiny chip processing what data it's getting from those multiple i2c chips, and managing i2c in 4Kbytes of flash, how much space do you have left to do any navigation calculations?

    7. Re:It Depends by muridae · · Score: 1

      But if the OP wants to learn how to do multicore programming on a microcontroller, it's not a bad choice. Sure, they could network together a few Atmel or ARM chips and learn how to do multicore programming hardware and software at the same time. But if the OP just wanted the software side, the Propeller is a good start. Maybe it's just me and my fascination with the ATTiny platform, but 500x32 of RAM sounds like plenty.

    8. Re:It Depends by ShoulderOfOrion · · Score: 1

      Have the Propeller folks come out with a Linux-based development solution yet? That's the only thing that has stopped me from exploring that chip in the past. Love the concept though.

    9. Re:It Depends by avsa242 · · Score: 1

      BST (Brad's Spin Tool) - GTK Editor, separate executables for program loader and compiler. Free as in free beer, not open source, though. http://www.fnarfbargle.com/bst.html PZST (Propeller Zone Spin Tool) - Qt Editor, uses Brad's loader and compiler. Free as in free beer, is open source (not sure which license) http://code.google.com/p/pzst/ There is also an open source SPIN compiler now, if you don't want to use BST http://code.google.com/p/open-source-spin-compiler/ SIDE (Simple IDE) - Qt IDE. I think this is mostly focused on C. http://code.google.com/p/propside GCC is WIP, with the Propeller and upcoming Propeller 2 as targets. Cheers

    10. Re:It Depends by tibit · · Score: 1

      Not when you need 4 bytes per every instruction, and you don't have separate code space. All the code and "near" data must fit into those 500 words. "Far" data costs extra clock cycles. It's neat for what it can do, but it's a lot of hard work to squeeze things into it that won't naturally fit.

      If you want to play on something multicore, modern and with 2 orders of magnitude more RAM per core, nothing beats XMOS's XS1 architecture. Their newer USB-phy-toting chips with on-board regulators cost just a couple times Propeller's price, but give you an order of magnitude faster code execution, 2x higher code density, and a hardware I/O model that doesn't have you doing any cycle counting in spite of hard real-time performance. It's a neat paradigm shift. Coupled with modern programming tools (XC language - a "safe" variant of C with added architecture-specific primitives), it's really something you have to see to believe.

      When Propeller II comes around, the tides will turn again, of course, but still it'll be awfully short on RAM.

      --
      A successful API design takes a mixture of software design and pedagogy.
  6. Tough one by Anonymous Coward · · Score: 0
    You have some pretty lofty goals (rovers and flying bots?). Just buy them pre-made because unless you are James Motherfucking Clerk Maxwell it's going to take years to get the electronics knowledge (real knowledge, not following recipes), let alone the dozens of tools (and the time to learn to use them) and hundreds of parts you'll want in bins.

    In many ways, the golden age of electronics prototyping is dead. That was the 1960s and 1970s.

    We now live in the era of electronics *specifying*. Define what you want, look for it and *buy* it, don't build it.

  7. Those are not electronics prototyping by Anonymous Coward · · Score: 5, Insightful

    The toys you have listed are for developing firmware and software.

    Prototyping electronics involves first designing some electronics, simulating them (if applicable or able), and then designing the boards, ordering parts, and having them assembled (or assembling them yourself).

    1. Re:Those are not electronics prototyping by Anonymous Coward · · Score: 2, Interesting

      Exactly. Maybe I'm just old, but to me electronics is closer to physics and hardware than what the poster listed. Microcontrollers and software are great fun and are electronic, but are not *electronics*. Building a machined brass test fixture to study the high speed switching of 20GHz-rated tunnel diodes and the hardline SMA fixtures to get that signal into a sampler is electronics. Downloading a library you didn't write and typing INCLUDE LIBRARY isn't electronics.

    2. Re:Those are not electronics prototyping by EmagGeek · · Score: 2

      I tend to agree. Although, there is _something_ to be said for working with digital systems. There are still many "electronics" concepts to worry about when designing a digital board, or interfacing one digital board with another.

      While one of the aforementioned systems alone does not really touch on it, once you start interfacing, or using the commonly-found "scratch area" on one of these systems, you need to know something about how to do it properly.

      Strictly speaking, I don't think of an embedded development platform as dealing with "electronics," but it certainly lives in the house next door.

    3. Re:Those are not electronics prototyping by Concerned+Onlooker · · Score: 1

      The minute you start to hook stuff up to that dev board you'll find there's a possibility of getting into electronics proper. Need a sensor? You'll learn about op amps, gain, noise, ADCs, etc. it's not ALL about the dev board.

      --
      http://www.rootstrikers.org/
    4. Re:Those are not electronics prototyping by Anonymous Coward · · Score: 0

      Elitist bullshit intended to convince people your hobby is too hard for them.

      For a start, you don't have to make boards to prototype anything. There are breadboards. And you don't have them assembled. You stick the little legs into the little holes. Prototype done. Making a PCB is the first step to production (even if you only intend to produce one).

      Secondly, electronics is microcontrollers. A uC won't do much without external circuitry, but given that uCs exist you are absolutely wasting your time playing with 555s and much of the rest of the traditional stuff. The cool challenge with Arduino is to use both the uC and the minimum number of external components to make a device. uCs are dirt cheap and external components are not. This is how modern electronic devices come in at such low cost.

      With an Arduino and $50 you can experiment with driving LEDs, servos, small LCDs, 2-resistor NTSC driver (if you drop to assembly), input handling, I2C interfacing, stepper motor interfacing (using a driver IC) etc. etc.

    5. Re:Those are not electronics prototyping by Anonymous Coward · · Score: 0

      No, it's like Steve Jobs said when he had the realization that for every hardware hobbyist out there who was good with a soldering gun, there were maybe 10 software hobbyists who wanted to get started programming, but didn't have the skills to put together an Altair kit.

      That's what made him realize there was a market for a home computer that came pre-assembled and ready to program. Just plug it in and go. That's the same approach that led to Arduino, Raspberry Pi etc.

    6. Re:Those are not electronics prototyping by Anonymous Coward · · Score: 0

      It's not elitist. It is simply the truth. Programming will never rise to the level of actual engineering.

      A code monkey that can play with a pre-fabbed development board is still a code monkey.

    7. Re:Those are not electronics prototyping by Anonymous Coward · · Score: 0

      It sure as hell leads to electronics. As soon as you try to control a servomotor you learn a whole boatload of electronics. At least you do if you aren't stupid. And it is so much simpler to put an appropriately sized capacitor across the leads of your accelerometer than it is to to write a low pass filter in code.

    8. Re:Those are not electronics prototyping by froggymana · · Score: 1

      Exactly. Maybe I'm just old, but to me electronics is closer to physics and hardware than what the poster listed. Microcontrollers and software are great fun and are electronic, but are not *electronics*. Building a machined brass test fixture to study the high speed switching of 20GHz-rated tunnel diodes and the hardline SMA fixtures to get that signal into a sampler is electronics. Downloading a library you didn't write and typing INCLUDE LIBRARY isn't electronics.

      If he got an FPGA development board, he would be designing hardware then (assuming he doesn't just throw a softcore on it...). Definitely a large step closer to dealing with "electronics".

      --
      "To prevent this day from getting any worse, I'll just read ERROR as GOOD THING" 1GJU8xLuDKDxEs4KLf8fAGyptoDsqvEsBT
    9. Re:Those are not electronics prototyping by Artful+Codger · · Score: 1

      Good point.

      Ok... the best electronics hardware platform is one of those 300-in-1 kits you see in science stores, RatShack, etc etc. Many have you wire the circuits using wires tucked under springs connected to mounted components, but the best kits give you a breadboard that you plug loose parts into. The circuits in the kit's manual are not stellar but you learn tons by just making them and making the circuits work I learned my trade on a 50-in1 kit back in the 70s... and about 5 years ago I picked up a 300-in-1 set for half-price. It makes a great quickie platform for experimenting.

      --

      ... plans that either come to naught, or half a page of scribbled lines...
  8. Best Electronics Prototyping Platform? by Anonymous Coward · · Score: 0

    Easiest to use is definitely the EzSBC1 ezsbc.com . 32k RAM, 64k Flash, breakpoints, Floating point, I2C, SPI, UART, USB 32 I/O, RTC, 16 1-bit ADC channels, 10-bit DAC. Programmed in structured BASIC but it is relaively unknown.

  9. The best platform... by msauve · · Score: 1

    Is a Mouser or Digikey catalog, plus whatever reference material suit your abilities/needs.

    --
    "National Security is the chief cause of national insecurity." - Celine's First Law
    1. Re:The best platform... by MacGyver2210 · · Score: 2

      I also like DigiKey. Sparkfun is great for the interface components like LCDs and custom buttons. Nice place for unique sensors, displays, and stuff like GPS modules too. Everything is super well-documented and they do great stuff with the community like free day and supporting hackerspaces. /sparkfun fanboy

      I am a PIC guy, so according to the comments thus far, I like doing things the hard way.

      --
      If the only way you can accept an assertion is by faith, then you are conceding that it can't be taken on its own merits
  10. electronics or Automation by Anonymous Coward · · Score: 0

    For electronics in general, probably something like the RadioShack Electronics Learning Lab Model: 28-280 $69.99
      This also would tie in with the childhood educational / toy theme. I loved mine (or the equivalent 100 in 1)

    For automation, probably start with an Arduino, and move down to just the AVR or up to a RasPi. The Wifi modules, motor drivers,
    and tons of sensors give you a lot of room to grow.

    -G.

  11. No by Anonymous Coward · · Score: 0

    Learn electronic engineering

  12. IOIO? by swanzilla · · Score: 4, Interesting

    If you like Java, I'd suggest the IOIO and an Android device. You inherit the device's guts (gps, cellular antenna, speakers, wifi, gyro, color display) and can go nuts. The biggest difficulty for me was getting the ADK up and running w/ Eclipse on my Debian laptop. They are cheap too...take a look at Sparkfun and Adafruit.

  13. makeblock by DrewFish · · Score: 1

    This is something that proposes to solve the hardware and wireware in one system: http://www.makeblock.cc/. They're pretty new -- their kickstarter campaign just finished.

  14. $4.30 MSP430 Launchpad for starters by javawocky · · Score: 5, Informative

    I recently starting wanting to fiddle with Micro controllers for this or that and stumbled across the Texas Instruments Launchpad. For $4.30 delivered (yes including shipping world wide) you get a complete development board, 2 chips, some headers and the USB cable. TI have a free IDE you can program it with, or if you are on Linux you can use the MSPGCC command line tools, which I use. Its ultra low power - 3.3V - which means if you want to interface to 5V systems you may have to do a little homework, but other than that, their is no risk in ordering one to try out with the money you would have wasted on Starbucks. http://www.ti.com/ww/en/launchpad/stellaris_head.html?DCMP=stellaris-launchpad&HQS=stellaris-launchpad Order directly from Ti - https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx

    1. Re:$4.30 MSP430 Launchpad for starters by qvatch · · Score: 1

      There is also an arduino style IDE for it. http://energia.nu/

    2. Re:$4.30 MSP430 Launchpad for starters by javawocky · · Score: 1

      There is also an arduino style IDE for it. http://energia.nu/

      I did attempt to get this going but failed miserably - something to do with a Java binding that wasn't linked properly. I have zero Arduino experience so though I might as well go 'native' anyway

    3. Re:$4.30 MSP430 Launchpad for starters by qvatch · · Score: 2

      I started with arduino, and I had no microcontroller experience. The community, examples from the absolute ground up, and vendor (sparkfun, adafruit, etc) support is excellent. It all makes for a really enjoyable experience. Digikey and mouser get you parts fast. Ebay and random asian websites get you parts slow but cheap. If you want graphics (eg. TV, or monitor) though, best go with the pi. A pi costs less than an arduino graphics shield. Ethernet is doable at least.

    4. Re:$4.30 MSP430 Launchpad for starters by javawocky · · Score: 1

      I started with arduino, and I had no microcontroller experience. The community, examples from the absolute ground up, and vendor (sparkfun, adafruit, etc) support is excellent. It all makes for a really enjoyable experience. Digikey and mouser get you parts fast. Ebay and random asian websites get you parts slow but cheap. If you want graphics (eg. TV, or monitor) though, best go with the pi. A pi costs less than an arduino graphics shield. Ethernet is doable at least.

      Totally agree, Sparkfun and Adafruit are certainly Hobby friendly, I am still tempted to do some AVR work as they had a great tut on Sparkfun... Which reminds me of another reason I decided to dip my toes with the Launchpad - I do have a Pi and its GPIO voltage is the same as the MSP, so they seam to be a good fit. I haven't actually interfaced them quite yet, so I could still end up releasing the magic blue smoke.

    5. Re:$4.30 MSP430 Launchpad for starters by Anonymous Coward · · Score: 0

      I really like the MSP430 options. Seems powerful, functional and efficient. tiny thumbnail with usb programming interface or big arduino type board with breakouts.

      I had it reading signals from a CHDK-hacked camera. Looking forward to using it along with a bluetooth transceiver to build a new control for my old treadmill.

      TI Stellaris
      I've recently purchased their Stellaris prototype board - an excellent deal too. It's a much more powerful board and although I haven't had time to use it yet I'm glad I ordered two after I saw this http://www.fischl.de/arm/sllogiclogger_logic_analyser_for_stellaris_launchpad/

      TI Shipping is amazingly fast.

    6. Re:$4.30 MSP430 Launchpad for starters by Anonymous Coward · · Score: 0

      got one of these - problem is no community. THinking of switching to the arduino, just for the huge user base.

    7. Re:$4.30 MSP430 Launchpad for starters by david.given · · Score: 1

      I had totally forgotten about the MSP430 --- thanks for the reminder; ordered one. I don't have an application in mind but it'll be fun to play with...

      I'm particularly intrigued to see they do a bundle of two MSP430 LaunchPads and two low-power RF modules for $23.30. That looks like it would make a very interesting way to experiment with ultra-low-power radio at about $10 a node.

      TI's got a lot of interesting stuff. The devkit in a watch looks fun. Pity it's (a) not a dot matrix LCD and (b) out of stock. It's also a pity their website is so broken...

    8. Re:$4.30 MSP430 Launchpad for starters by steelyeyedmissileman · · Score: 1

      There is a community, and it's thriving. It's not hard to find; plenty of bloggers are providing simple tutorials for learning how to use it, and the forums at 43oh.com are very responsive and helpful.

    9. Re:$4.30 MSP430 Launchpad for starters by Anonymous Coward · · Score: 0

      And TI is pretty friendly with their simulation software too. When they bought NatSemi they got WEBENCH, an online SPICE/optimization tool and parts calculator. All you need to use it is an email address for them to send monthly marketing copy to.

  15. Why just one? by Peganthyrus · · Score: 2

    I'd go with a couple of Pis. Some will say that's overpowered and you should use an Arduino, but there's one important thing about the Arduino: its IDE kinda blows.

    Plus it will be a lot easier to update your code by pushing it to a Pi over wi-fi than by hassling with cables. And if you want to do stuff that needs a decent amount of CPU, you'll have it.

    On the other hand you can get an Arduino into a lot less space than a Pi. Hell, get one or two of the Nanos too. You'll have the option of using one if you want a tinier package and can cram your code and data into like 32k.

    --
    egypt urnash minimal art.
    1. Re:Why just one? by SuricouRaven · · Score: 1

      He mentioned flying bots. That's weight-critical - ideally a single-chip solution. That means either arduino or (even smaller, but harder to program and more limited) PIC.

    2. Re:Why just one? by Anonymous Coward · · Score: 0

      That's terrible advice if you want to do any kind of bit-banging that's timing sensitive. The Pi's processor is way too complex to write loops that take an exact number of cycles. The Arduino *can* do USB and NTSC/PAL, with the right code. You'd never persuade a Pi to do that.

      The Arduino's IDE is basic but it's all based on text files so you can use any IDE you like; it's a few hours to figure out how to write a makefile that does what the IDE does. Then just use the IDE to upload to the device.

    3. Re:Why just one? by thegarbz · · Score: 1

      I'd go with a couple of Pis. Some will say that's overpowered and you should use an Arduino, but there's one important thing about the Arduino: its IDE kinda blows.

      That's been solved. Use Eclipse.

    4. Re:Why just one? by Anonymous Coward · · Score: 0

      That's been solved. Use Eclipse.

      How does using another IDE that blows solve the problem?

  16. Cortex-M4 by Anonymous Coward · · Score: 2, Informative

    Discovery Board - STM32F407

    -> 168 MHz core freq
    -> a few timers
    -> DSP core
    -> excellent integration with Keil
    -> flash utility in Linux too.

    Price: $15

  17. Real-time or not? by Billy+the+Mountain · · Score: 1

    I've played with a little both Arduino and Raspberry Pi and both are neat and have their strengths and weaknesses. Arduino is perfect for sensing things. It's normally programmed in C and it's a little cheaper than Raspberry Pi and has less performance. Raspberry Pi is neat but be aware that it runs Linux and as such it is not a real-time operating system. There are small lags so that if you need to respond to the outside world with utmost immediacy you are still better off with Arduino. The raspberry pi is normally programmed in Python and your Python scripts can monitor sensor inputs and send data out, turn lights on, etc.

    --
    That was the turning point of my life--I went from negative zero to positive zero.
    1. Re:Real-time or not? by Narishma · · Score: 1

      The Pi can run things other than Linux. If you want an RTOS, I believe ChibiOS/RT and FreeRTOS have been ported to the system, maybe others as well.

      --
      Mada mada dane.
  18. Galago by jackrabbit123 · · Score: 1

    I think the Galago platform holds a lot of promise. It is very new though so you may suffer from early adopter syndrome.

    http://logiblock.com/

    --
    War(n) - Gods way of teaching Americans geography.
  19. A bread board and components by Morpf · · Score: 1

    Simply get a bread board and the components you wanna mess with. Be warned you will need a programmer if you are using Cs. They can be bought, some can be built quite easily. I prefer the Atmel family. IIRC there is a do-it-yourself programmer for Atmels.

  20. Netduino? by iq+in+binary · · Score: 1

    I've been doing some research too, Netduino is pretty robust, compatible with many of the Arduino shields AND inherently supports all the .Net Gadgeteer sensors. Seems like a good start on the road to hobby robotics.

    --
    Of all the Universal Constants, here's one I know: Nice guys finish last ;)
  21. what about microcontroller + FPGA ? by volvox_voxel · · Score: 3, Interesting

    Everything I've ever worked on as a professional had a microprocessor and an FPGA. You can pick up a "Zed Board" with a dual-core Arm Cortex-A9 and a 85K luts worth of FPGA. You could learn fpga programming in addition to learning about microcontrollers. You can run linux on one core, or run "bare-metal" or Free-rtos in the other for all of your hard real-time needs. You have a very wide selection of things for you can try. The FPGA is a true parallel processor, and is great for processing multi-sensor inputs. A microcontroller time-slices between all of the tasks it needs to take care of. An FPGA can essentially be a hardware dedicated task.

    1. Re:what about microcontroller + FPGA ? by Avid+Ting · · Score: 1

      IMHO, FPGA is the best powerful and flexible prototyping platform.

    2. Re:what about microcontroller + FPGA ? by hamster_nz · · Score: 4, Informative

      As an owner of a Zedboard (and half a dozen others FPGA boards) I recommend other readers disregard this advice. It is not a good starting board as is has a very, very steep learning curve, much steeper than any other FPGA I've used, It is also very, very expensive (but you do however get a lot for your $). The FPGA build times are very long too, especially annoying when you are just starting out.

      However, if you are interested in Programmable Logic logic, try a Papilio One from Gadget Factory - equivalent to a quarter of a million logic gates for a $37.50 + p+p. An open source AVR compatible processor core is available, so you can still develop with it as though it is an Arduino, and even make changes to the internals of the CPU.

    3. Re:what about microcontroller + FPGA ? by Anonymous Coward · · Score: 0

      Thanks!

    4. Re:what about microcontroller + FPGA ? by Anonymous Coward · · Score: 0

      agreed. FPGAs are not as common in the professional world as hobbyists wish. FPGAs are absolutely not recommended for beginners.

    5. Re:what about microcontroller + FPGA ? by volvox_voxel · · Score: 1

      ..I too own about half a dozen FPGA boards, and do agree that there is a learning curve for the Zed board, but I still think it's an amazing platform. Altera has announced that they have a version of their FPGA that also has a dual core A9 processor (that is just about to come out?) . Xilinx made a lot of changes all at once to support their new integrated CPU/FPGA environment. Altera mentioned that they're taking a more conservative approach. It's essentially one die, but two separate partitions, one for the FPGA, and one for the two 800MHz arm cores. You can use the ARM tools completely separately than the FPGA tools. Traditionally, the Altera tools are easier to use & less buggy than Xilinx. You also get ModelSim (good hardware simulation software) for free, which you do not get with Xilinx. Also, Altera (Quartus) tools work for all previous versions of their FPGA, so you won't have compatibility issues supporting your old designs, won't need to support an old development machine, etc. If you're like me my home projects, given family constraints, are on a much longer development cycle than my professional ones. At the very lest Quartus is a great tool to learn FPGA programming.

  22. "Read 31 Comments" by Anonymous Coward · · Score: 0

    But when i get in here it's empty..... Even with the slider set to -1

  23. It depends by Anonymous Coward · · Score: 4, Informative

    It completely depends on your project or goals. Simple electronics, I'd go with arduino, it's ridiculously easy, I haven't programmed in 10 years, or ever done anything with an arduino or MIDI or really done much with electronics ever, but within 2 hours of buying one I had a phone keypad playing chords on 3 instruments through a MIDI device. Mega has 70 digital I/Os, 14 analog (IIRC). IC2. There's a good range of tools available.

    If you need more horsepower, or to connect to keyboards/mouse/video/network etc, the Raspberry Pi is a mini PC basically.

    If you need extremely low power, MSP430 is your best bet. Extremely quick power up/down, too, so you can have it check a sensor every second and shut down to use even less power. There's videos of one running a clock with LCD from a grape.

    Basic stamp, I wouldn't bother with. I can't think of any advantages to it over the arduino, maybe someone with more experience knows of one, I've only dabbled with one.

    I don't have any experience with the others, so I'll let others comment on those.

  24. mbed by evil_aaronm · · Score: 1

    Like others have said, "It depends." But, having plunked $50-ish for an mbed - https://mbed.org/ - I'm having a blast with it. It even has usable threads so you can do a form of *nix-like parent-child intercommunication and multi-processing. Like the Arduino, there are a lot of libraries available so you can just drop in a module and off you go. The LPC1768 is powerful enough that when you find you want to do a "real" project, you don't have to change MCUs.

  25. Arduino + Fritzing by Bitsy+Boffin · · Score: 5, Informative
    No question in my mind, an Arduino for the microcontroller platform, and Fritzing to do the design.

    Why?

    Arduino: community, quite simply, it has the critical mass of community behind it so you have a real source of knowledge (and existing code) to draw from. It's like the hardware analog of PHP, sure it's not necessarily the best, but the sheer amount of resources out there means you will have an easier time getting it to do what you want.

    Eventually your projects might extend from running on top of an actual Arduino form board (I like the Diavolino board/kit from Evil Mad Science, mainly because it looks cool, but also because you can set it up with the minimum of components to suit you), to you incorporating the AVR onto your own PCB design but still using the Arduino bootloader/environment, to you incorporating a bare AVR on the board and moving away from the Arduino environment. So you have a clear progression of learning.

    Fritzing: open source, simple, and a GOOD interface for HOBBY users. No it's not a replacement for Eagle, or Altium or DesignSpark... but a hobbiest working on small things just doesn't need the power of those, they want a nice easy system which they doesn't have a steep learning curve, and can help them draw the schematic, breadboard it, and design a pcb. There are other open source packages, such as KiCad but universally, I found, that the interfaces just suck, hugely, unless you really invest the time to become familiar with them, and then they still suck but you can live with it. Fritzing is far FAR more intuitive, if less professional.

    --
    NZ Electronics Enthusiasts: Check out my Trade Me Listings
    1. Re:Arduino + Fritzing by Anonymous Coward · · Score: 0

      No it's not a replacement for Eagle, or Altium or DesignSpark... but a hobbiest working on small things just doesn't need the power of those, they want a nice easy system which they doesn't have a steep learning curve, and can help them draw the schematic, breadboard it, and design a pcb.

      Now if Fritzing had supply symbols and maybe a GND plane, the schematics made with it would vastly improve.

    2. Re:Arduino + Fritzing by Bitsy+Boffin · · Score: 1

      Fritzing already has ground fill for PCB, and schematic symbols for for voltage sources, grounds, dc power supplies, and named net labels. Perhaps you should update your install :-)

      --
      NZ Electronics Enthusiasts: Check out my Trade Me Listings
    3. Re:Arduino + Fritzing by Anonymous Coward · · Score: 0

      Agree with this. The Fritzing UI is really excellent. Very intuitive. I've tried to like KiCAD but it's interface sucks. gEDA is OK but there's too much of a learning curve.

      If Fritzing gets the ability to do 4-layer boards, then there's no reason for me to too at anything else.

  26. Arduino by Spiked_Three · · Score: 2

    Just pick the best car, and use whatever computer it has in it.

    Seriously, there is no BEST.

    Arduino has a ton of examples, and a ton of vendors making parts to work with it. Everything else, not so much. I've yet to see any purpose for a Pi. Very limited software support, mostly just Linux fan boys thrilled to run on a cheap computer.

    For pure robotic experiments, go LEGO. They even have a newer version coming out mid year that is Linux based. But that is more for learning what to do with working electronics, not how to actually make them.

    For electronics tinkering - Sparkfun Arduino https://www.sparkfun.com/products/11236

    --
    slashdot troll = you make a compelling argument I do not like the implications of.
    1. Re:Arduino by Anonymous Coward · · Score: 0

      I would also suggest arduino, the uno boards are easy to find the software works on Windows and Ubuntu linux. The programming is c like and there are plenty of examples and sensor source code to use.

      Basic stamp 2 is older, raspberry pi is super new, xilinx/atmel based boards are popular but specialized

    2. Re:Arduino by viperidaenz · · Score: 1

      My neighbours half-sister is a cam-whore too!

  27. Arduino because all the cool kids have it! by TheSync · · Score: 2

    You should get an Arduino because there is a huge amount of data out there on how to use it to do pretty much anything. Any hackerspace will be full of a hundred people who have messed with Arduino, and Arduino classes are everywhere.

    Raspberry Pi is interesting for more complex embedded tasks, especially ones that require a network connection, or specific Linux software, but it lacks things like a built-in A/D converter.

  28. The best choice... by ElizabethGreene · · Score: 2

    Questions like this remind me of a saying.

    Perfect is the mortal enemy of good enough.

    Right now, today, I'm playing with the Arduino platform. Before that it was an OOpic. Before that, it was an 40 pound IBM XT with a parallel port adapter I built. Before that it was a huge 40 pin DIP Z80. In High school I got a radio shack "Electronics learning lab" with a breadboard, and it's been the only constant.

    The small forest Mimms electronics books are a good "here build this" introduction. When you get bored with those, the "Art of Electronics" book is fantastic!

    Have fun, and enjoy letting the smoke out!

    1. Re:The best choice... by serviscope_minor · · Score: 1

      Right now, today, I'm playing with the Arduino platform. Before that it was an OOpic. Before that, it was an 40 pound IBM XT with a parallel port adapter I built. Before that it was a huge 40 pin DIP Z80. In High school I got a radio shack "Electronics learning lab" with a breadboard, and it's been the only constant.

      The small forest Mimms electronics books are a good "here build this" introduction. When you get bored with those, the "Art of Electronics" book is fantastic!

      Yes, I second some of this kind of.

      Get yourself a big breadboard or two, some of those Maplin (UK---perhaps RS in the UK) big boxes of random mixed components and the Forest M Mimms III books. There's a big green one too.

      Microconrtollers are great, but you'll need a bit extra to interface with sensors, power devices and so on, for which discrete components are very necessary.

      Also, you can get a PCIe parallel port card for 12 trivial to program GPIO lines on a PC really cheaply.

      But as the OP said, the breadboard will stay with you for a long time.

      --
      SJW n. One who posts facts.
    2. Re:The best choice... by metaforest · · Score: 1

      The Forest Mimms and Art of Electronics suggestions are quite good for threading into the Physics of electronics.

      For beginners in embedded space. Lots try to push Ardunio, but the IDE is shit, and much of the libs are a mixed bag. The programmers model is also kind of iffy. You really need to know a lot about C and C++ to get the most out of it. To total noobs C, C++ are asking way too much.

      Same for the Pilot systems based on Arduino. If it doesn't do what you need out of the box you'll likely never get it to work without a lot of futzing and learning.

      Another approach is:
      Olimex PIC32-T795 $22
      Comes with a decent BASIC interpreter and rudimentary file system on board. Hooks to PC or mac via usb serial. More than adequate for most beginner projects, and well outperforms the home computers all us graybeards started with in the late 70's
      more RAM (128K),
      more than a floppy disk worth of file storage,
      core CPU is 80 times faster than the vintage computers of the day.
      ~10 us per BASIC token, (give or take)

      The Olimex also would interface well to a Raspberry Pi via serial or one of the other serial busses. Additionally once one felt more confident, coding in C is fairly easy on the PIC32 using the MPLabX on MacOS, Win, or Linux. The included BASIC interpreter is open source, and with some ramp-up is easily modifiable. The author of the BASIC interpreter closed the more recent versions of the source but more advanced versions are available for the T795 for free... and you can get non-commercial license versions of the source for free.

      For those who want an easy road to PIC18:
      SDCC and a PICkit2 is a good starter. Though I used to use MPLab as the burner interface via PICStarter, or PICKit3 SDCC will built a .hex file which can be fed to MPLab for simulation and for programming. Many of the worst aspects of the PIC16 programming model don't apply to the PIC18. Many have a good amount of RAM and plenty of FLASH (More than comparable AVRs, and they are much faster, if needed)

      YMMV.

  29. Straight AVR and a breadboard by claytongulick · · Score: 2

    There are two ways you can tackle this:

    1) You just want to make cool things, but don't really care about the details
    2) You really want to grok this stuff, and want to build stuff from scratch

    This is roughly equivalent, in programmers terms, of learning a high-level language like .Net, PHP, Python etc... versus assembly/C.

    Do you want to Just Make It Work(tm) without understanding the underlying libraries/platform? Or do you want to be able to build the libraries/platform?

    For option 1, the Arduino is fantastic, and really can't be beat. For option 2, I'd say start with an 8 bit AVR, like AT tiny, grab a breadboard, come LEDs and a programmer, and pull your hair out until it starts making sense and the lights flash in the pattern you expect.

    I took the second route, and have been very happy with my choice. Now, if (at my option) I just want to do something quick and dirty, I can grab an arduino and prototype something fast. But the thing is, I'm not constrained by that. I'm able to throw things together on a breadboard from components in a tray. I can write the code in straight C (or avr asm), and really grok the ISRs.

    It's kind of like Processing (the platform for data visualization and artistic CG). Would you rather make fast animations that look great, are easy to make, but only run in the Processing environment? Or would you rather build your own cross platform UI stack and then create your own highly optimized animations?

    I don't really agree with the "beginners" attitude towards Arduino, the same way I don't agree that Python is a good language for "beginner" programmers. We become programmers or amateur EE's for some reason - to solve some problem. If the problem you want to solve is that you want to be an expert developer, then don't start with python, start with c or asm. If you just have stuff you need to get done, python is great.

    Same with EE, don't start with Arduino if your purpose is to really learn the stuff. You'll just be confused by the toolchain and helpful libraries.

    --
    Drinking habits can be dangerous. You can choke on the cloth and the nuns will wonder where their clothes are.
  30. Go for brand recognition by Anonymous Coward · · Score: 0

    In this case brand recognition is really the best choice, you're learning a new system, make sure its one that has a wealth of educational material. A majority of makers use arduino, so there's lots of information both basic and complex available. After you get used to it, picking up development for another microcontroller will be a breeze.

  31. really want the most flexible? by Anonymous Coward · · Score: 0

    Check out Cypress Semiconductor's PSoC Microcontroller: http://www.cypress.com/?id=4562

    It's got tons of built in components, which you can configure graphically, like you would on a breadboard, minus the messy wiring. That plus a nice 32-bit Cortex M3 core, and you can do anything you need right out of the box.

    There's an open-source dev kit which uses PSoC 5LP called freesoc: http://freesoc.net

  32. DO NOT GET an MSP430 Launchpad by Anonymous Coward · · Score: 1

    This turd from TI has one of the worst IDEs conceived ever (Windows only, of course), and in order to download the required drivers and other materials you'll first need to create a developer account and give your personal details to TI. Then you'll need to sign a contract, in which you agree to abide by several laws that are valid only in the United States of America, including to what you can build with it and to whom you can give it to. And that's strictly 'give' - selling your creation will break the contract terms and open you up for draconian penalties and possibly even a trial in a jurisdiction of TI's choosing.

    Just get a Raspberry if you need lots of horsepower and don't need a real-time OS, else your best bet is to start with an Arduino or one of its many clones.

    1. Re:DO NOT GET an MSP430 Launchpad by muridae · · Score: 3, Informative

      You don't have to use the TI IDE and bootloader, which are highly encumbered with copyright. MSPGCC ( http://sourceforge.net/apps/mediawiki/mspgcc/index.php?title=MSPGCC_Wiki ) exists to allow the whole system to use an opensource toolchain.

    2. Re:DO NOT GET an MSP430 Launchpad by gl4ss · · Score: 1

      somehow my bro managed to program his msp just fine from a raspberry pi.

      it's not terribly powerful.
      but it is CHEAP. (the programmer board and two chips package anyways. cheaper than you can get arduino nano for).

      --
      world was created 5 seconds before this post as it is.
  33. The basics.... by Anonymous Coward · · Score: 0

    A breadboard, soldering gun, and a large reserve of swear words is all you need for electronics prototyping.

  34. Arduino Uno by n2505d · · Score: 1

    I started with bare bones AVR. I switched to Arduino. I could see from online community support Arduino would jump start my experience. A year or so later I have made several higher ended projects including the electronic payload for a near space balloon. I would have not achieved so much so quickly without Arduino and the community support. One can still go small with Arduino (Nano, Micro, etc) and one can go barebones as well: http://arduino.cc/en/Main/Standalone. I generally prototype with the Uno and switch to the Nano or barebones when moving beyond the prototype stage.

  35. VHDL? by Anonymous Coward · · Score: 0

    Just after reading the headline I though - he wants to emulate hardware.

    I found this: http://home.gna.org/ghdl/

    I wonder do any of the devices mentioned have simulators and/or emulators?

  36. Not at all what you want by narcc · · Score: 1

    While it's not at all what you want, there is an electronics equivalent to erector set: Snap Circuits.

    It's a real shame we didn't have things like this when we were kids. It would have saved many small appliances from destruction.

  37. Build your own by Murdoch5 · · Score: 1

    Get a bread board and sample the IC's you need to make the freeduino. It's a great learning experience and will give you a great prototyping platform.

    1. Re:Build your own by demonlapin · · Score: 1

      sample the IC's you need to make the freeduino

      I have no idea what this sentence means. Would you mind explaining my ignorance away or pointing me somewhere that does?

    2. Re:Build your own by Murdoch5 · · Score: 1

      Sure, sorry I don't want to come to off insulting :-). The Freeduino is a free or mostly free version of the Arduino, just built with off the self parts and can be prototyped on a bread board.

      http://www.freeduino.org/about.html

      Has some examples of the boards you can design and build. Now I'm assuming you know what a breadboard or prototype board is so I'll skip that. To sample chips you can literally go to a site like Maxim or National Semi Conductor and request one or several chips for free, these are called samples. You can actually go to Atmel and sample the microcontroller from them, you can go to Maxim and sample the RS-232 or USB chip from them and etc... By using sampling you can get most / all of these chips for free and then it's literally a case of laying out the design on a breadboard.

      This is a very good guide: http://arduino.cc/en/Main/Standalone and for more circuits or ideas you can always visit this site: http://www.freeduino.org/

      The reason I pitched the idea this way to you is that you actually get a decent amount of experience in electronics building the micro-controller system and by using a breadboard you get a great expansion area to test and design new circuits. It's also simple to move this design over to a PCB if you really want to and there are tons of guides on that.

      Cheers and I hope this helps you!

    3. Re:Build your own by demonlapin · · Score: 1

      Greatly appreciated. I have just begun with electronics and programming in any meaningful sense, and there's just so much to learn. I don't miss being a teenager, but I sure miss having tons of free time to learn things.

  38. A good book by bjs555 · · Score: 1

    There are some really good examples of using an Arduino to interface to sensors and actuators in this book:
    http://www.amazon.com/Making-Things-Talk-Practical-Connecting/dp/B008SLH2DQ

  39. Don't forget Teensy using the Arduino dev env by caseih · · Score: 2

    I've been using Teensy lately. I can use the Arduino tools and most libraries. It's relatively cheap compared to Arduino at only about $20.

    Obviously you can't use the same shields but electrically they are more or less compatible. The teensy can do things Arduino can't like be a usb keyboard, mouse, joystick, serial port, midi device, or x-plane instrument interface.

    Also if you're going to do a lot of breadboard you could also look into the adafruit breadboard Arduino. Can't use shields bit it is easier to plug into a breadboard.

    All in all they are all pretty cheap so buy a few!

  40. Teensy! by cleepa · · Score: 1

    I really like Teensy as an Arduino alternative. Most of the Arduino libraries work with it when using Teensyduino. The big benefit is a full speed USB connection to the host, instead of USB serial as with Arduino.

    1. Re:Teensy! by Yonder+Way · · Score: 1

      I got a couple of Teensy3 boards for Christmas and they are nothing short of amazing. Better value than the Arduino. One of them is likely to find a permanent home running the lights and instrumentation on my motorcycle.

    2. Re:Teensy! by Anonymous Coward · · Score: 1

      thirded. i loved the teensy 2, and used it in a whole bunch of usb based projects. I used atmel tiny for smaller/cheaper things

      but the 3 is remarkably better. 100mhz clock. 32 bit instructions. multiply and divide. generally better i/o devices. the usb
      driver is much* more straightforward.

      i had some dumb questions when I just started on the 3 and Paul Stoffregen emailed me back to put me on the right path.

      as low tech as it is, having a 0.1" pinout makes things really simple to throw together.

  41. Wiring by theheadlessrabbit · · Score: 1

    The Wiring platform (from which Arduino is a fork of) is a great option for getting started.

    http://wiring.org.co/

    Code wise, It's about 99% the same as Arduino, so all the libraries and code you can find out there is usable, (you just have to tweak the pin numbers)
    You can program Arduino boards, wiring boards, AND Atmel chips with the wiring software.
    The Wiring S board is slightly cheaper.

    And, best of all, the help system is just a lot of commented out descriptions above the code - and it links to a schematic so you know EXACTLY what to build to make the code in the example work.

    --
    -I only code in BASIC.-
  42. It all depends by Anonymous Coward · · Score: 0

    As a Computer Engineering student doing embedded work for my senior project, I can tell you it depends on your experience, your project and how much you want to pay for it.

    If you don't have much programming experience, the Arduino is great because of the ubiquity. Most people in the embeded hobbyist community uses it, and there's lots of material online showing you how to program them, and lots of high-quality examples. It's a fantastic starting point if you want to get started.

    The drawback is the functionality is somewhat limited. If you want to do simple things the base Arduino will be enough, but if you want "extra" functionality like WiFi or radio communications, an LCD display, more extensive motor control, and so on, you'll have to buy add-on "shields" to do it. If you've already got the base system, they're cheaper than buying a new chip most times, but some of them (WiFi in particular) are much more expensive than similar chips with the functionality on board.

    If you know what you want to do ahead of time, getting a specialized board can be cheaper and easier to use. The problem is that depending on the board you won't have the same community behind it, and you'll likely be spending more time reading the datasheets at the beginning.

    If you want dirt cheap, the TI Launchpad is 4 bucks, so you can get a few if you need to.

    For small, either the DigiSpark, or the Adafruit Teensy.

    For WiFi, the Electric Imp is coming out soon and looks to have very easy WiFi capabilities.

    RedWire Econotag has native RF support

    The Penguino is something of an Arduino ripoff with a PIC microchip, but is a little cheaper and has better capabilities.

    The BeagleBoard is kind of the Caddy of embedded systems. Lots of power and lots of pins but no native WiFi or RF I believe.

  43. Sparkfun Inventor's Kit by Roxton · · Score: 1

    Start with the Sparkfun Inventor's Kit. I encouraged my coworkers to pick'em up and work through the tutorials, and now they're spending half their time coming up with concepts and building prototypes with stuff they buy from DigiKey.

    Seriously, give it a go.

  44. cypress psoc by dtdmrr · · Score: 1

    Have a look at the cypress PSOC family. The chips combine an ARM and an 8051 microcontroller with a pile of ad dsp and other special purpose logic as well as a modest ammount of programmable digital and analog resources.

    The software is windows only, which is major (but not killer) downside for me. I've only played with one for a couple hours, but it was enough for me to want to try them out for a few things around the house, when I find the time.

    1. Re:cypress psoc by stevew · · Score: 1

      There are different generations of PSOC - PSOC1 runs on a proprietary 8 bit micro, PSOC3 uses the 8051, and PSOC5 uses the M3 ARM processor. So depending on what you're familiar with you choose the processor you're most comfortable with.

      --
      Have you compiled your kernel today??
  45. Erector set by freemenow-linux · · Score: 1

    growing up in the 90's i had something simmilar called steel tec construction sets and growing up back then i still wonder if i could have made some nice prototypes on a scaled down version of something that could have been made bigger

  46. $5 Arduino by raymorris · · Score: 1

    I've used the Picaxe, which I really liked, bate pics, the Basic Stamp and the Arduino. I'd suggest the Arduino for most people. Largely because of the community around it.

    However, if you're on a budget like me, I'd only buy one Arduino board. Any "permanent" projects get the Arduino board replaced by a bare chip with the Arduino bootloader, which sells for about $5. That $5 chip + 5volts is an Arduino, minus the unused headers, LEDs etc.

  47. Lego Mindstorms by Anonymous Coward · · Score: 0

    more expensive, but stable and fun.

  48. Propeller by dissy · · Score: 1

    If you are looking at microcontrollers, I would suggest the Parallax Propeller
    It's an 8 core 32 bit micro that lets you add peripherals in software.

    Wire a bluetooth or wifi module to some IO pins and toss a BT/wifi object into a core to let it poll for commands.
    Or you can wire a nintendo or super nintendo controller directly to it, and load a shift register object into a core to poll the game pad.
    On the low end, a TSOP IR receiver module and object can be setup to take commands from any old remote you have laying in the junk drawer.

    An IR reciever and an IR led both wired up on multiple robots would allow for some interesting inter-robot communications and swarm behavior.

    Another core can be driving the stepper motors and watching for new commands to change what it's currently doing.

    Wire some IO to a GPS module and have a core polling that to update the current location in ram.

    Since all 8 cores run independently from each other, you won't need to muck around with things like interrupts or try to squeeze a bunch of autonomous modules into one monolithic program.

    The propeller is 3.3v (but 5v tolerant) which makes it electrically compatible with Adriano shields, and there are a number of shields already supported by existing objects. Parallax runs an object exchange site where the community shares these objects, and you can find one to drive pretty much any common (or not so common) hardware.

    It has a native interpreted language called Spin that makes multi-core programming pretty simple, and also can be coded in assembly for time sensitive operations.
    There are a number of compilers made by 3rd parties to let you code in C (in fact there is a gcc project going on in the forums) as well as basic, pbasic, forth, and a few other languages.

    I even just recently learned of an IDE called 12 blocks that uses a form of Scratch, where you build up a program by dragging blocks onto the work space, and it can output Spin.

    As each of the 8 cores has its own video generation hardware and two high precision counters, there have been a number of home brew video game consoles made using the propeller. By just wiring up an IO line to an RCA jack, you can output NTSC or PAL. A couple more IO lines and it can do VGA too.

    It's quite the powerful little micro, might be worth checking it out.

  49. STK500 by NapalmV · · Score: 1

    STK500 + assortment of ATTiny and ATMega processors + Atmel Studio 6.0. Once you figure out how it all works, add to your setup the soldering iron, 100x160mm proto boards, IC sockets, transistors, op amps, etc. Install on your computer Tina-TI (free from Texas Instruments) and explore the analog side too.

  50. Pololu 3pi Robot. by hamster_nz · · Score: 1

    The Pololu 3pi robot is sweet. Small, simple, fast (3m/s!) and fun - can even be made Arduino compatible.

    If you want to play with motors and sensors you could do far worse.

  51. vex robotics by Anonymous Coward · · Score: 0

    Don't forget vex robotics if you want motors, sensors, gears, hardware (literally), etc.

  52. Call me old fashioned, but... by MotherErich · · Score: 1

    Breadboard?

    --
    You have to be smarter than the machine you're working with.
    1. Re:Call me old fashioned, but... by Anonymous Coward · · Score: 0

      You know, a bread board http://img1.etsystatic.com/000/0/6555322/il_fullxfull.331449065.jpg

  53. Arduino by Redlazer · · Score: 1
    I haven't used the other kits, but I have found the Arduino to be an awesome prototyping platform. Lots of available information, lots of tutorials, lots of support, lots of flexibility.

    I would consider it a great jumping off point for the Raspberry Pi, which is my next experiment. I have no experience whatsoever with electronics, and it's been smooth sailing so far!

    --
    Guns don't kill people, "with glowing hearts" kills people.
  54. Breadboard by inode_buddha · · Score: 1

    breadboard - grew up doing things that way, still think faster that way

    --
    C|N>K
  55. Arduino by Anonymous Coward · · Score: 0

    Ive used Arduino's of various forms in quite a few projects now, its a very capable little unit. Sure its not a number crunching processor, but thats not what its designed for. If you need a faster processor then maybe try the RPi, need more? you should probably be using a regular computer then.

    The Arduino in nano form costs about $10 and is a pretty slick device. its C-ish code is easy to pickup. I really dont like the Arduino-IDE, some people love it, I hate java, man I hate java. So I use qtcreator and just compile it and upload from within there. works for me.

    UDL

  56. Don't Forget PinoccIO! by WeBMartians · · Score: 1

    http://www.indiegogo.com/pinoccio Interesting because it is very small. However, the (current) lack of shields might be a detriment.

  57. In spite of what some have said by Anonymous Coward · · Score: 0

    In spite of what some have said, using the devices and libraries is a good starting point to learning about electronics. It includes programming and knowledge about busses, wiring diagrams, signal rates, etc. (unless I'm mistaken). No, you don't have to know Maxwells equations, you don't need to know about semiconductor physics, v=ir, p=ie, p=i^2r=v^2/r. You don't need to know about input impedence, output impedence, you don't need to know any calculus. You may have to know about sink and source currents, but not fan in or fan out (not at a chip level). You probably don't need to worry about logic races. You don't need to know about voltage gain, current gain or power gain. You don't have to know what Boltzmanns constant is for. You don't need to know about Butterworth or Chebychev filters. You don't need to know Norton's Theorum, Thevenin's Theorem or the Superposition Theorum. You don't need to know about travelling wave tubes, cavity magnetrons or waveguide. You don't need to know about differential amplifiers, voltage controlled oscillators, phase locked loops or tank circuits. What I'm saying, is that these things can come after you start experimenting and learning. Sure its nice if you knew now (I built my first computer about 30 years ago --and yes, my first computer started with circuit diagrams), but its at least a place to start.

  58. Arduino by Anonymous Coward · · Score: 0

    Arduino seems most practical and quite popular. Quadricopter at diydrones.com are based on ATMega...

  59. But OP said they've programmed n Java by raymorris · · Score: 1

    If you like Java

    OP said they've actually used Java after having used an actual programming language, so doesn't that pretty much guarantee OP HATES Java? I sure liked it right up until I tried to use it. ;)

  60. EeePC by rwa2 · · Score: 1

    I mean, c'mon

    http://xkcd.com/413/

    Yes, I feel bad that I have a set of Lego Mindstorms and an Arduino in my basement that I haven't done anything with yet.

    I did get my EeePC interfaced with this though, via the USB control dongle:
    http://www.amazon.com/OWI-OWI-535-Robotic-Arm-Edge/dp/B0017OFRCY

  61. Start with Arduino, then branch out by billstewart · · Score: 4, Informative

    Arduino has a really short friendly learning curve - the system is designed so a random not-very-technical artist can pick it up, start doing blinky lights and sensors, find lots of interesting community support and demonstrations and applications. All the pieces you need to get started are right there - hardware, software, IDE, sensors, output devices, documentation. The Arduino hardware is fancier than a bare-bones AVR chip on a breadboard (and building one of them is a good second project), but it's still pretty cheap. The software may hold your hand a bit too aggressively, but once you've learned what you're doing you can get deeper (think of it as a mostly-C scripting language.) If you'd rather use gcc to write your programs at the bare-metal level and avrdude to download them, you can, but Arduino lets you do your work at higher levels until you need that. You could buy an ISP programming tool for $20-50 to program raw AVR chips with, but you can also use a ~$30 Arduino to do that job, so just go buy one.

    Once you've used the Arduino a bit, you might want to branch out to a TI or STM development board, or something like Propeller with a lot more CPU horsepower if you need that, or PIC (if you want to know what people used to learn on before Arduino.)

    Stuff you're going to have to buy - whatever prototyping board you want (I'd recommend Arduino), a solderless breadboard or two, solid-core wire in a couple of colors, some LEDs, assorted resistors and capacitors, probably several different types of sensors and output devices, maybe a power supply (USB gives you 5v, which is just fine if you're doing everything tethered to your laptop or have a USB phone charger around.) If you don't have electronics stuff around home already, you'll probably end up spending $100 or so, typically for a kit from Sparkfun or Adafruit or MakerShed, plus some random shiny-looking parts from their catalogs, plus you'll start to find Radio Shack very useful when you need to stop in and get some more LEDs or various connectors (and get yourself a bag of assorted resistors and a bag of assorted capacitors if you didn't have enough from a kit.) If you're going to solder boards, you'll also need a soldering iron, solder, and some breadboard to work with.

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  62. Arduino good for non-assembly programmers by raymorris · · Score: 1

    Arduino from any other AVR board. It is a C-like language with a library; you're not programming to the bare board, you're not even writing your own main() routine. It is not intended for profressional programers, the target audience appears to be "multidisciplinary" (ie, people who aren't programmers).

    I've been programming professionally for fifteen years - in C, Perl, PHP, Javascript, VB6, Actionscript, and other languages. Being a programmer, I was glad I didn't have to learn both embedded systems and assembler at the same time. For a guy like me, at a point where I've done just a little bit of kernel ptogramming for example, Arduino was really nice. "mov 0x40 0xD0" isn't what most programmers are familiar with.

    1. Re:Arduino good for non-assembly programmers by julesh · · Score: 1

      Arduino from any other AVR board. It is a C-like language with a library; you're not programming to the bare board, you're not even writing your own main() routine. It is not intended for profressional programers, the target audience appears to be "multidisciplinary" (ie, people who aren't programmers).

      I've been programming professionally for fifteen years - in C, Perl, PHP, Javascript, VB6, Actionscript, and other languages. Being a programmer, I was glad I didn't have to learn both embedded systems and assembler at the same time. For a guy like me, at a point where I've done just a little bit of kernel ptogramming for example, Arduino was really nice. "mov 0x40 0xD0" isn't what most programmers are familiar with.

      I've been working directly with AVR chips rather than an Arduino on several projects over the last 6 months, and have never once had to touch an assembler. C is perfectly adequate for everything you're likely to want to do.

    2. Re:Arduino good for non-assembly programmers by gl4ss · · Score: 1

      you don't need to with avr.

      in fact, you can upload your arduino projects into avr chips because that's what they are. you might need to hook up a programmer though but those cost about as much as an arduino anyways and arduino can be used for one.

      --
      world was created 5 seconds before this post as it is.
    3. Re:Arduino good for non-assembly programmers by Andy+Dodd · · Score: 2

      Yup. My personal preference:

      Arduino hardware provides a great starting point for AVR work. It's the best way to get a variety of cheap AVR dev boards.

      However, rather than use the Arduino IDE, I strongly suggest avr-gcc - the initial learning curve is a bit steeper, but you gain a lot of long-term flexibility.

      Most importantly, if you learn using avr-gcc, you can more easily migrate designs to AVR variants that aren't supported by the Arduino environment well or at all. For example, if you have a very basic project that can fit in a Tiny85 - it's fairly easy to migrate something you prototyped on a Mega168/328 down to that if you're using AVR-GCC. If you're using the Arduino environment, it's extremely difficult if not impossible.

      (And yes, I know that the Arduino IDE is layered on top of avr-gcc - but when dealing with a microcontroller, all those extra layers of abstraction are counterproductive in the long run.)

      --
      retrorocket.o not found, launch anyway?
  63. MBED by Anonymous Coward · · Score: 0

    I've have lots of success with MBED. http://mbed.org. I needed something more powerful than an Arduino, with excellent library support. The MBED solved a lot of problems. It has a nice IDE in the cloud, yet lets you export projects with Makefile's and cross compiled libraries. But it's more expensive than a Raspberry PI, so that makes me want to try out the PI.

  64. Arduino! by Anonymous Coward · · Score: 0

    +1

    (Its not the most "flexible" but if you want that the OS alone will run you like 1K, at least that is what a QNX license kost last I checked. They rock though and nothing beats a super RTOS and 10k worth of hardware for flexibility!)

  65. A bridge to electronics by raymorris · · Score: 1

    I see these devices as a bridge from programming to electronics. Pretty soon, pronaly within an hour or so, you'll want to connect SOMETHING to the MCU and that's where the electronics begins. For someone coming from a programming background, the MCU seriously boosts the coolness factor while learning about how to build electronic circuits controlled by the chip.

  66. Arduino or Atmel/Pic direct by Anonymous Coward · · Score: 0

    Having some experiences with old 8051, Atmel, PIC and MSP430, and after trying Arduino for an hour at a friend, my suggestion is:
    - skip MSP430
    - if you have money, and don't have any time - Arduino. Everything is nicely set and ready (software, boards, shields), but it will cost you 20$ for each development board.
    - if you're looking on the long run, Atmel or PIC in it's base form. There are free and commercial tools, a lot of documentation. Platforms are proven, and you'll get to 20$ per board only if you go overboard. Personally, I'm more of a PIC guy, using Mikroelektronika's EasyPIC boards, and their compilers (they have C, Pascal and Basic). Compilers are 200$, board is 150$ but after 20 boards you're ahead in comparison to Arduino.

    - my peers are currently switching to LPCXpresso's , based on ARM Cortex M3. Nice boards, free compiler, very powerfull, cost similar to Arduino, but the whole experience (in comparison to Arduino) in not that smooth (at least by their words, I have an LPXCXpresso board but haven't tried it yet).

  67. Raspberry Pi and Arduino with Alamode by caseih · · Score: 1

    Though the raspberry pi can do a lot of what the arduinio can with it's gpio pins, the arduino (well the AVR system) is more flexible. It can do PWM, ADC, interrupt-driven signalling very easily, and can do it at 5v if you wish which is often an easier voltage to work with than 3.3v that the Pi uses. Also the shields are nice to add things like motor controllers, etc.

    But like another poster said, you can't exactly do AI or image processing algorithms on the arduino. But you probably can on the pi. And the pi has ethernet and a lot of horsepower. So why not combine the two? Check out the AlaMode, a shield for the raspberry pi that plugs in using its expansion port. The AlaMode has a complete Arduino Uno system onboard, and the pins on it are set up to make it work with any existing shield. You can load a firmware like firmata on the arduino portion, then use python or anything that speaks the protocol to drive the arduino from a program on the pi. Kind of a neat idea.

    Or you could write your own program on the arduino and a simple serial control interface to drive it from the pi depending on your needs.

  68. Think about application by Anonymous Coward · · Score: 0

    For your first few projects, you'll probably want to stick to replicating things that others have done, while you get the hang of it. THink about what you want to try, search for examples on instructables.com, and use whatever system is used in the projects you want to try -- that way you aren't trying to adapt code or debug for a different system right out of the gate.

  69. Depends on your electrical experience... by sl3xd · · Score: 2

    I'd personally go with a solderless breadboard and components.

    There are various 'platforms' out there, such as *duino, LaunchPad, and so on.
    The big advantage to these are:
    * Predesigned PCB, with most 'electroncis' taken care of for you,
    * USB built-in
    * built-in programming/emulation/debugging
    * an ecosystem of plug-in boards for various tasks.

    The platforms make it easy for those with more interest in programming than in hardware to get started. The downside is they are pretty pricey because they have so many bells & whistles.

    On the other hand, if you have good Electronics knowledge, then it's hard to beat a solderless breadboard and components. It's hard to get sentimental about a particular MCU when you start to see them as 'just another part'.

    In general, some things to consider:
    If you're just getting into micros, I'd avoid 8-bit, period. Especially for hobby projects, 8-bit is just masochistic; the part costs ~$0.25 less per unit - significant when you build a few thousand of 'em, but to a hobbyist, I'd just get the 32-bit part and enjoy fewer headaches.

    My suggestions:
    * Don't bother with assembly. It's a lot less painful to move to a different platform if you use C/C++ when possible.
    * Skip the 8-bit AVR-based Arduino entirely. Use one of the 32-bit *duino boards (ARM, for example) or clones (PIC32).
    * I like the 16 and 32-bit PICs. The PIC18 architecture is OK, but still only 8-bit. Avoid PIC 16, 12, and 10's. PICs are better suited to guys who can do everything on a breadboard, and intend to design a PC Board for a finished design. (There is the *duino-compatible ChipKit, though)
    * TI has three "Launchpad" platforms. I have at least one of each. TI can't be making money on these things - shipping alone costs more than the purchase price.
          * MSP430: A ultra-low power 16-bit MCU. The MSP430 Launchpad is so low-cost ($5 shipped for the MSP430), I'd recommend them as your first option.
              * TI's tools for the MSP430 are Windows-Only
              * There are (good) free compilers (MSPGCC, MSPGDB) and other tools available for Linux, Mac, etc.
          * C2000: A 32-bit real-time MCU. I got it mostly out of curiosity.
          * Stellaris: ARM M4 based MCU, full FPU. It's a much cheaper way to get an ARM than an Arduino
          * All three have sockets for "booster packs" - similar to an Arduino shield. There's even an MP3 player booster pack.
    * At least look at the Parallax Propeller. It's a very different, and certainly unconventional, take on microcontrollers.
        * The propeller has 8 32-bit cores in it, and has (beta) GCC support (and Linux is a first-class citizen), as well as its own interpreted language, Spin.
        * Everything is bit-banged; there are no hardware ADC's, no hardware UART's, no hardware I2C or SPI - just 32 general I/O pins.
        * Oddly enough, there a VGA/component video circuitry built-in and available on every I/O pin.
        * Propellers also have no interrupts; the idea is to simply activate another MCU core to do whatever task you would use interrupts for. As there are no interrupts, and each 'task' gets a full MCU core.
        * Whether you think it's wasteful to dedicate a whole MCU 'core' (even if it is 'sleeping') to do the job of an interrupt, it's a novel solution, and may suit your needs better.

    --
    -- Sometimes you have to turn the lights off in order to see.
    1. Re:Depends on your electrical experience... by solidraven · · Score: 1

      I disagree. Don't neglect the 8 bit goodness. An army of 8 bit microcontrollers working together can do some pretty funny things. Nothing quite beats the old fashioned 8051 in being well documented either. And it comes in loads of flavours. I'll agree on the stay away from Arduino, just too expensive for what you get. The TI dev boards are fun, very easy to use as well. The software is a bit iffy but not too bad. Never worked with Propellers so can't really say much about those.

      Another interesting option is getting one of those NXP ARM dev boards. Or even better, get a large FPGA dev board and use a soft core. Side bonus is if you need heavy data crunching you can synthesize dedicated hardware for it. Most of the common simple microcontrollers have FOSS models available. Then when you wish to build something final you can just switch to the actual MCU.

  70. Has anyone mentioned Wifi routers and OpenWrt? by robotang · · Score: 1

    If the avenue that the OP is planning on heading down involves tele-robotics with computer vision abilities, I would suggest looking into OpenWrt. I've had great success with upgrading the firmware on various routers and putting them to use in robots (usually streaming video and serial port data back to a PC). It is a very economical way of getting into embedded Linux, and highly recommended if you like to communicate to your robot via wifi. It is not too difficult to setup a cross compiler and develop your own programs to run on the router.

    An alternative to hacking a router is something like a Raspberry Pi or a Beagleboard. I haven't used a RPi, but own a Beagleboard and would like to warn you that building an image and setting up a toolchain (using OpenEmbedded to build Angstrom) for a Beagleboard (or Gumstix) is quite a task. It's also pretty difficult to get a suitable usb wifi stick and driver to operate as an access point (something I was convinced I needed!).

    As far as microcontroller and platforms go, I would suggest starting off with an Arduino. You could use Arduino's Wiring programming language, but it is just as easy to use WinAVR/avr-gcc/avr-g++, C/C++ and good old Makefiles! After conquering a simple to use microcontroller like an ATmega (used on the Arduino), I recommend you use something like a PIC32 or a STM32 if you need more horsepower. I've used the SAM7 quite a bit but am somewhat reluctantly to do on any new projects.

    --
    Fuelled by insatiable curiosity
  71. Erector Set? by Anonymous Coward · · Score: 0

    Did you mean an erecter set? Are you erect?

  72. I would chose FPGA from Altera by piechota.marcin · · Score: 1

    I think it is the best way to learn digital electronics.

    1. Re:I would chose FPGA from Altera by cpghost · · Score: 1

      Yes, Altera boards are great. Add a book or two to the mix, and you're all set.

      --
      cpghost at Cordula's Web.
  73. RaspberryPi by Anonymous Coward · · Score: 0

    Hi,
    I was just playing with the Raspy few days ago. It is really simple to use its GPIO pins. You can easily do it from python, bash scripting if you do not need performance.
    Here the best reference to my knowledge - the resource I have mainly used: http://elinux.org/RPi_Low-level_peripherals
    Just don be afraid of the first long C example - just skip it!

  74. MSP430 Launchpad dev kit - $4.30 !! by Anonymous Coward · · Score: 0

    http://www.ti.com/launchpad

    give it a try, you won't regreat...

  75. A Breadboard by Going_Digital · · Score: 1

    The OP asks for an Electronics Prototyping Platform and then goes on to list a bunch of microcontrollers. Writing software is not electronics prototyping it is software development, what they really mean is what micro controller and development environment should they use for their embedded applications. Electronics is connecting together components and the easiest way to do that is with a breadboard.

  76. If you want 74 series TTL by Fnagaton · · Score: 2

    I had a dream to make a computer using 74 series TTL, essentially transistor logic in small packages. I managed to get a full prototype working in Proteus from labcenter http://www.labcenter.com/index.cfm The same software also includes PCB layout tools. These files were then sent to beta layout PCB pool http://www.beta-layout.com/ When the PCBs arrived some soldering with all the components left me with a surprisingly heavy board that actually worked. http://www.wellytop.com/Fnagaton/DIYComputer.html

    --
    Martin Piper
    Owner - ReplicaNet and RNLobby
  77. My Experiences by presspass · · Score: 2

    I'll just share my experience since it's been such a blast...

    I picked up an official Arduino board, but it wasn't long before I was building 'stand alone' arduinos on a breadboard.

    This led to diving in to Cadsoft Eagle to learn the basics. I took one of the many schematics out there and put together an SMD arduino board. I sent it off to BatchPcb and waited the 20 days. When I got it back I got it all soldered up and IT WORKED! The first time!

    Now I'm using my incredibly small boards to drive a RFID reader in my garage so I can use the same 'key' as I have for work to open the doors. I've run cat5 out there and using RS485 I can open/close doors, check the temp and turn xmas lights on or off through a webpage.

    I'm sure the platform matters, but not as much as you think. I started with little or no electronics knowledge and with the Arduino/Atmega I've been able to both get things to work and learn a great deal in the process.

    1. Re:My Experiences by jcgam69 · · Score: 1

      Instead of running ethernet cables, use wifi. There are several options, such as: https://www.sparkfun.com/products/10822 http://ruggedcircuits.com/html/yellowjacket.html

  78. STM32 by Anonymous Coward · · Score: 0

    Take a look to the STM32 ARM Cortex-M family, they are quite powerful and cheap 32 bits microcontrollers, and look at the STM32F4DISCOVERY board (~$15):
    Features:
    - STM32F407VGT6 microcontroller featuring 32-bit ARM Cortex-M4F core, 1 MB Flash, 192 KB RAM in an LQFP100 package
    - On-board ST-LINK/V2 with selection mode switch to use the kit as a standalone STLINK/V2 (with SWD connector for programming and debugging)
    - Board power supply: through USB bus or from an external 5 V supply voltage
    - External application power supply: 3 V and 5 V
    - LIS302DL, ST MEMS motion sensor, 3-axis digital output accelerometer
    - MP45DT02, ST MEMS audio sensor, omnidirectional digital microphone
    - CS43L22, audio DAC with integrated class D speaker driver
    - Eight LEDs:
            – LD1 (red/green) for USB communication
            – LD2 (red) for 3.3 V power on
            – Four user LEDs, LD3 (orange), LD4 (green), LD5 (red) and LD6 (blue)
            – 2 USB OTG LEDs LD7 (green) VBus and LD8 (red) over-current
    - Two push buttons (user and reset)
    - USB OTG FS with micro-AB connector
    - Extension header for all LQFP100 I/Os for quick connection to prototyping board and easy probing.

  79. i make robots. by Aggrav8d · · Score: 1

    I prototype things all the time and blog it on my website, marginallyclever.com. Arduino is your best first choice. Go with a MEGA so you have room to grow. Next up I'd suggest an adafruit motor shield so you can drive steppers or DC motors with ease. those two items have allowed me to make many different robots.

  80. Gertboard by jcgam69 · · Score: 1

    The Gertboard includes an ATmega328p which can be programmed from the Raspberry Pi via putty. It includes 12 LEDs, a motor controller, A/D and D/A converters, switches, and other components.

  81. Maple from Leaflabs by Anonymous Coward · · Score: 0

    I am shocked to see no mention of the Maple board from http://Leaflabs.com

    It is essentially an Arduino, however, its CPU is the much faster ARM cortex M3 (approximately 36x!). It has the same IDE as the Arduino, too. It also has a huge support community and dozens of projects have been done with it. It also comes in two form factors: the Arduino one and a 40-pin DIP. Since it's in Arduino factor, it can re-use all of the Ardunio peripherals and most of the code.
    I have a stack of about 8 Maples at home. I love them to death. The Maple IDE makes them much easier to code than from scratch (which I have to do at my job!)

  82. As muc has I hate to say it by viperidaenz · · Score: 1

    Arduino. I'm not a fan myself, I prefer PIC's but the community around Arduino is much larger. If you're a beginner starting out that is the most important thing.

  83. New Arduino Esplora by billstewart · · Score: 1

    The Arduino Esplora is an interesting starting point. It's a slightly bigger board, shaped like a game controller, with buttons, joystick, potentiometer, accelerometer, temperature sensor, light sensor, buzzer, microphone, RGB LED, a few other LEDs, LCD connector, and some 3-pin I/O connectors. So if has a lot of the sensors and toys you might want to play with already built in. You can program it with the Arduino software (though a few pins already have stuff attached to them, so if you want to run an existing Arduino application you may need to change what pins to use for what devices.) It doesn't accepts Arduino shields, so there are times you'd be better off with other models, but you've got lots of cool stuff to start with. I think the list price is about $50-55 from Arduino, and I saw one for about $65 in Radio Shack.

    The Esplora and the new Leonardo have some other differences from the standard Uno - they use small surface-mount ATmega32u4 chips instead of the bigger socketed through-hole ATmega328 that the Uno has, so you can't just pop the chip in and out. The 32u4 has a few more pins, and has built-in USB support, so it has more flexibility for doing USB applications and doesn't need a dedicated chip for the USB interface the way the earlier Arduinos have.

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  84. right tool for the right job by Anonymous Coward · · Score: 0

    persoanlly i wouldnt recommend arduino for much more than blinking lights, yeah it works(sort of) but in professional hardware you need real time responce.

    its not really a matter of taking random prototype board and seeing what you can build around it, hardware design doesnt work like that.
    first specify requirements, then see what sort of solutions might satisfy them. once you move into really time critical applications cpu alone might not even be a viable solution anymore
    also dont forget that electronics is not just about digital, there is an whole analog and mixed signal domain you are not looking at all

    if you are looking for one tool fits all(doesnt really excist) the closest you can get is a fpga development board. want a cpu with x archidecture? you can make it. want some real time digital electronics? imagination is your limit. want to do some digital signal processing? why you can even do that
    or you can mix up any combinations your application requires

  85. Why do I need a resistor for an LED? by Anonymous Coward · · Score: 0

    V = I*R. Assume you have 5V between your power rail and ground, the forward voltage drop across a red LED is 1.2V leaving 3.8V and the resistance is ~0 so the current will go as close to infinite as the power supply allows. If you put a 180ohm resistor in series with the LED then V=IR, 3.8 = I * 180, I = 3.8 / 180 = 21mA which is exactly the right current drive a red LED to full brightness.

  86. BASIC STAMP has great tutorial and kit for $60 by John+in+Arlington · · Score: 1

    As others observed, the platforms are all similar. The difference is in the development tools and the education materials. > > Parallax Basic Stamp kit 'Whats a Microcontroller?" includes a fantastic text. In one weekend you can walk through projects to do most common uCON objectives: control LEDs, servos, create sound, monitor light, use any resistive sensor, detect rotary motion, read/write data, play music notes, use transistors for higher current. No need to think about what to learn next, just go through the ten chapters and then you jave the knowledge to do whatever you want. I like that each chapter has hands-on projects but also slides in the general theory like PWM, RC Time, I/O to PC, Pull Ups, Pulse shaping, EEPROM storage - those concepts will hold you for any work you do with uCON in the future. Every technique for every platform is on the web - the value is in having an expert tell you what to learn in what order and with the lessons logically building. > > You buy one box for $60 and it is all there, no need to find parts or ask around for what works. No debating about what to learn based on what parts you have - $60 and you are done. Dev board includes breadboard for easy builds so no buying shields or soldering. Power regulation & filters built-in. A servo is included. > > The other great part is the dev environment. Just download it and use it. No decisions over which compiler or stable versions - all of that is a distraction to a beginner. The language is BASIC-ish so commands are pretty much obvious. The whole load and boot thing is all abstracted. No need for special programming tools, just use the USB cable that comes with it. > > Two downsides: If you think you will need a lot of microcontrollers right away then the BASIC STAMP is expensive per unit. You won't learn about the low-level programming in assembly (but I don't recommend that for a beginner). > > I've gotten more than ten of these as gifts for friends' teens that have an interest in electronics and computers and almost none end up unused in a drawer. I also use them in classes for adult hobbyists and for 9-10th graders in general science.

  87. Arduino for interfaces ; RPi for computing power by RockDoctor · · Score: 1
    When my local LUG - actually, no, it was a TechMeetUp, not the LUG - had a meeting with some local gageteers and academics who were using the nice new RPi and the well-established Arduinos for various "robotics"-like things, one of the things that differentiated the two platforms clearly was that the Arduinos that they were using had a host of data interfaces available, while the RPi doesn't have anything like as many. But, in terms of computational grunt, the RPi beat the Arduinos hands down (per price, at least).

    So, their general ideas were around using Arduinos for actually controlling their existing robot designs (actuating motors with one interface, reading sensors with different interfaces), but to use the RPi to provide more braincells on board the robot to improve autonomy, increase functionality.

    Helps?

    Horses for courses.

    --
    Birds are not dinosaur descendants;birds are dinosaurs, for all useful meanings of "birds", "are" and "dinosaurs"
  88. Nice C option for PIC... by Artful+Codger · · Score: 1

    I've been quite happy with using SourceBoost as a PIC environment C compiler. You can do alot with the free version, and licencing for Pro use isn't that expensive. The simulator plugins at $20 are pretty good. Alas... Windoze only

    Back to the original question... I respect the Arduino project, it seems to be a great microcontroller infrastructure, with lots of hardware and community support. But I already have PIC tools and dev boards, and I've attended a few MicroChip courses.

    I've got some RPi's now... for $35 wow. I'm learning their capabilities, and I'm going to try talking serial or I2C to a PIC board. Could be my new go-to ethernet-enabled platform.

    --

    ... plans that either come to naught, or half a page of scribbled lines...