Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
Hardware Hacking Build

Ask Slashdot: Best Electronics Prototyping Platform? 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)..."
This discussion has been archived. No new comments can be posted.

Ask Slashdot: Best Electronics Prototyping Platform?

Comments Filter:
  • by Anonymous Coward on Monday January 28, 2013 @09:12PM (#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.
  • by DrewFish ( 23138 ) <{ten.atlof} {ta} {werd}> on Monday January 28, 2013 @09:15PM (#42721909) Homepage

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

  • IOIO? (Score:5, Interesting)

    by swanzilla ( 1458281 ) on Monday January 28, 2013 @09:17PM (#42721931) Homepage
    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.
  • by volvox_voxel ( 2752469 ) on Monday January 28, 2013 @09:33PM (#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.
  • by Darinbob ( 1142669 ) on Monday January 28, 2013 @10:43PM (#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.

  • by caseih ( 160668 ) on Tuesday January 29, 2013 @02:44AM (#42723321)

    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.

Where there's a will, there's an Inheritance Tax.