Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Ask Slashdot: Best Electronics Prototyping Platform?

Unknown Lamer posted about a year and a half ago | from the arduino-attack-bot dept.

Hardware Hacking 228

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)..."

Sorry! There are no comments related to the filter you selected.

obvious (1)

Anonymous Coward | about a year and a half ago | (#42721779)

CopterControl (5, Informative)

Sowelu (713889) | about a year and a half ago | (#42721795)

If you want it to fly, you might want this: []

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!

Arduino, AVR, RPi, Beaglebone (5, Insightful)

n1ywb (555767) | about a year and a half ago | (#42721801)

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.

Re:Arduino, AVR, RPi, Beaglebone (5, Informative)

n1ywb (555767) | about a year and a half ago | (#42721831)

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

Re:Arduino, AVR, RPi, Beaglebone (3, Informative)

grim4593 (947789) | about a year and a half ago | (#42721977)

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.

Re:Arduino, AVR, RPi, Beaglebone (0, Flamebait)

Osgeld (1900440) | about a year and a half ago | (#42721995)

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

fixed that for you

Re:Arduino, AVR, RPi, Beaglebone (3, Informative)

Solozerk (1003785) | about a year and a half ago | (#42722045)

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.

Re:Arduino, AVR, RPi, Beaglebone (1)

grim4593 (947789) | about a year and a half ago | (#42722063)

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

Re:Arduino, AVR, RPi, Beaglebone (1)

grim4593 (947789) | about a year and a half ago | (#42722081)

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.

Re:Arduino, AVR, RPi, Beaglebone (0)

Anonymous Coward | about a year and a half ago | (#42722147)

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

Re:Arduino, AVR, RPi, Beaglebone (1)

DarwinSurvivor (1752106) | about a year and a half ago | (#42722413)

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).

Re:Arduino, AVR, RPi, Beaglebone (1)

span100 (2350592) | about a year and a half ago | (#42722055)

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.

Re:Arduino, AVR, RPi, Beaglebone (5, Interesting)

Darinbob (1142669) | about a year and a half ago | (#42722421)

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.

Re:Arduino, AVR, RPi, Beaglebone (3, Informative)

BTG9999 (847188) | about a year and a half ago | (#42722129)

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.

Re:Arduino, AVR, RPi, Beaglebone (1)

n1ywb (555767) | about a year and a half ago | (#42722463)

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

Re:Arduino, AVR, RPi, Beaglebone (0)

Anonymous Coward | about a year and a half ago | (#42722595)

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.

Re:Arduino, AVR, RPi, Beaglebone (0)

Anonymous Coward | about a year and a half ago | (#42722665)

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

Page with source code:

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!

Re:Arduino, AVR, RPi, Beaglebone (4, Interesting)

DrewFish (23138) | about a year and a half ago | (#42721909)

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).

Re:Arduino, AVR, RPi, Beaglebone (2, Funny)

Anonymous Coward | about a year and a half ago | (#42721947)

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

Re:Arduino, AVR, RPi, Beaglebone (1)

ecn2 (777566) | about a year and a half ago | (#42721951)

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.

Re:Arduino, AVR, RPi, Beaglebone (1)

Proudrooster (580120) | about a year and a half ago | (#42722101)

Forget the UNO, Get an Arduino MEGA!

If you have a lawn irrigation system, consider this your first Arduino project! Open Sprinkler: []

Re:Arduino, AVR, RPi, Beaglebone (5, Informative)

Ford Prefect (8777) | about a year and a half ago | (#42722181)

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.

None of the above. (1)

Anonymous Coward | about a year and a half ago | (#42721815)

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.

Re:None of the above. (2)

muridae (966931) | about a year and a half ago | (#42721893)

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.

It Depends (1)

muridae (966931) | about a year and a half ago | (#42721817)

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!

Re:It Depends (2)

muridae (966931) | about a year and a half ago | (#42721885)

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.

Re:It Depends (0)

Anonymous Coward | about a year and a half ago | (#42722013)

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.

Re:It Depends (1)

muridae (966931) | about a year and a half ago | (#42722427)

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?

Re:It Depends (0)

Anonymous Coward | about a year and a half ago | (#42721979)

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

Re:It Depends (2)

tibit (1762298) | about a year and a half ago | (#42722035)

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.

Re:It Depends (1)

muridae (966931) | about a year and a half ago | (#42722441)

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.

Re:It Depends (2)

fermion (181285) | about a year and a half ago | (#42722319)

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.

lol java weenies (-1)

Anonymous Coward | about a year and a half ago | (#42721821)

took and passed the Oracle Certified Professional exam, FWIW

A few sheets of toilet paper is about what it's worth.

Tough one (0)

Anonymous Coward | about a year and a half ago | (#42721825)

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.

Those are not electronics prototyping (5, Insightful)

Anonymous Coward | about a year and a half ago | (#42721829)

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).

Re:Those are not electronics prototyping (2, Interesting)

Anonymous Coward | about a year and a half ago | (#42721895)

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.

Re:Those are not electronics prototyping (2)

EmagGeek (574360) | about a year and a half ago | (#42721961)

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.

Best Electronics Prototyping Platform? (0)

Anonymous Coward | about a year and a half ago | (#42721847)

Easiest to use is definitely the EzSBC1 . 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.

The best platform... (1)

msauve (701917) | about a year and a half ago | (#42721851)

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

Re:The best platform... (2)

MacGyver2210 (1053110) | about a year and a half ago | (#42722649)

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.

electronics or Automation (0)

Anonymous Coward | about a year and a half ago | (#42721859)

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.


No (0)

Anonymous Coward | about a year and a half ago | (#42721889)

Learn electronic engineering

IOIO? (4, Interesting)

swanzilla (1458281) | about a year and a half ago | (#42721931)

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.

makeblock (1)

DrewFish (23138) | about a year and a half ago | (#42721949)

This is something that proposes to solve the hardware and wireware in one system: [] . They're pretty new -- their kickstarter campaign just finished.

$4.30 MSP430 Launchpad for starters (5, Informative)

javawocky (1160907) | about a year and a half ago | (#42721953)

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. [] Order directly from Ti - []

Re:$4.30 MSP430 Launchpad for starters (1)

qvatch (576224) | about a year and a half ago | (#42722401)

There is also an arduino style IDE for it. []

Re:$4.30 MSP430 Launchpad for starters (1)

javawocky (1160907) | about a year and a half ago | (#42722465)

There is also an arduino style IDE for it. []

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

Re:$4.30 MSP430 Launchpad for starters (2)

qvatch (576224) | about a year and a half ago | (#42722575)

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.

Re:$4.30 MSP430 Launchpad for starters (1)

javawocky (1160907) | about a year and a half ago | (#42722631)

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.

Why just one? (2)

Peganthyrus (713645) | about a year and a half ago | (#42721967)

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.

Cortex-M4 (2, Informative)

Anonymous Coward | about a year and a half ago | (#42721975)

Discovery Board - STM32F407

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

Price: $15

Real-time or not? (1)

Billy the Mountain (225541) | about a year and a half ago | (#42721987)

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.

Galago (1)

jackrabbit123 (164587) | about a year and a half ago | (#42721993)

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

A bread board and components (1)

Morpf (2683099) | about a year and a half ago | (#42722019)

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.

Netduino? (1)

iq in binary (305246) | about a year and a half ago | (#42722031)

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.

what about microcontroller + FPGA ? (3, Interesting)

volvox_voxel (2752469) | about a year and a half ago | (#42722041)

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.

Re:what about microcontroller + FPGA ? (1)

Avid Ting (2826825) | about a year and a half ago | (#42722269)

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

Re:what about microcontroller + FPGA ? (4, Informative)

hamster_nz (656572) | about a year and a half ago | (#42722503)

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.

"Read 31 Comments" (0)

Anonymous Coward | about a year and a half ago | (#42722047)

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

It depends (4, Informative)

Anonymous Coward | about a year and a half ago | (#42722053)

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.

mbed (1)

evil_aaronm (671521) | about a year and a half ago | (#42722111)

Like others have said, "It depends." But, having plunked $50-ish for an mbed - [] - 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.

Arduino + Fritzing (5, Informative)

Bitsy Boffin (110334) | about a year and a half ago | (#42722113)

No question in my mind, an Arduino for the microcontroller platform, and Fritzing to do the design.


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.

Re:Arduino + Fritzing (0)

Anonymous Coward | about a year and a half ago | (#42722455)

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.

Re:Arduino + Fritzing (1)

Bitsy Boffin (110334) | about a year and a half ago | (#42722611)

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 :-)

Arduino (2)

Spiked_Three (626260) | about a year and a half ago | (#42722115)

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 []

Re:Arduino (0)

Anonymous Coward | about a year and a half ago | (#42722589)

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

Arduino because all the cool kids have it! (2)

TheSync (5291) | about a year and a half ago | (#42722131)

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.

The best choice... (2)

ElizabethGreene (1185405) | about a year and a half ago | (#42722151)

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!

Straight AVR and a breadboard (2)

claytongulick (725397) | about a year and a half ago | (#42722157)

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.

Go for brand recognition (0)

Anonymous Coward | about a year and a half ago | (#42722159)

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.

really want the most flexible? (0)

Anonymous Coward | about a year and a half ago | (#42722169)

Check out Cypress Semiconductor's PSoC Microcontroller:

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:

DO NOT GET an MSP430 Launchpad (1)

Anonymous Coward | about a year and a half ago | (#42722179)

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.

Re:DO NOT GET an MSP430 Launchpad (3, Informative)

muridae (966931) | about a year and a half ago | (#42722469)

You don't have to use the TI IDE and bootloader, which are highly encumbered with copyright. MSPGCC ( [] ) exists to allow the whole system to use an opensource toolchain.

The basics.... (0)

Anonymous Coward | about a year and a half ago | (#42722231)

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

Arduino Uno (1)

n2505d (759637) | about a year and a half ago | (#42722251)

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: [] . I generally prototype with the Uno and switch to the Nano or barebones when moving beyond the prototype stage.

VHDL? (0)

Anonymous Coward | about a year and a half ago | (#42722265)

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

I found this:

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

Not at all what you want (1)

narcc (412956) | about a year and a half ago | (#42722271)

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.

Build your own (1)

Murdoch5 (1563847) | about a year and a half ago | (#42722273)

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.

Don't forget Teensy using the Arduino dev env (2)

caseih (160668) | about a year and a half ago | (#42722323)

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!

Teensy! (1)

cleepa (1142305) | about a year and a half ago | (#42722341)

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.

Re:Teensy! (1)

Yonder Way (603108) | about a year and a half ago | (#42722557)

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.

Wiring (1)

theheadlessrabbit (1022587) | about a year and a half ago | (#42722349)

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

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.

It all depends (0)

Anonymous Coward | about a year and a half ago | (#42722363)

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.

Sparkfun Inventor's Kit (1)

Roxton (73137) | about a year and a half ago | (#42722391)

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.

cypress psoc (1)

dtdmrr (1136777) | about a year and a half ago | (#42722393)

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.

Erector set (1)

freemenow-linux (2825877) | about a year and a half ago | (#42722395)

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

$5 Arduino (1)

raymorris (2726007) | about a year and a half ago | (#42722397)

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.

Lego Mindstorms (0)

Anonymous Coward | about a year and a half ago | (#42722409)

more expensive, but stable and fun.

reply (-1)

Anonymous Coward | about a year and a half ago | (#42722447)

Shanghai Shunky Machinery Co.,ltd is a famous manufacturer of crushing and screening equipments in China. We provide our customers complete crushing plant, including cone crusher, jaw crusher, impact crusher, VSI sand making machine, mobile crusher and vibrating screen. What we provide is not just the high value-added products, but also the first class service team and problems solution suggestions. Our crushers are widely used in the fundamental construction projects. The complete crushing plants are exported to Russia, Mongolia, middle Asia, Africa and other regions around the world.

Propeller (1)

dissy (172727) | about a year and a half ago | (#42722481)

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.

STK500 (1)

NapalmV (1934294) | about a year and a half ago | (#42722485)

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.

Pololu 3pi Robot. (1)

hamster_nz (656572) | about a year and a half ago | (#42722519)

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.

vex robotics (0)

Anonymous Coward | about a year and a half ago | (#42722531)

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

Call me old fashioned, but... (1)

MotherErich (535455) | about a year and a half ago | (#42722561)


Re:Call me old fashioned, but... (0)

Anonymous Coward | about a year and a half ago | (#42722615)

You know, a bread board

Arduino (1)

Redlazer (786403) | about a year and a half ago | (#42722565)

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!

Breadboard (1)

inode_buddha (576844) | about a year and a half ago | (#42722581)

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

Arduino (0)

Anonymous Coward | about a year and a half ago | (#42722627)

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.


Don't Forget PinoccIO! (1)

WeBMartians (558189) | about a year and a half ago | (#42722639) [] Interesting because it is very small. However, the (current) lack of shields might be a detriment.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?