Ask Slashdot: What's The Best Open Source Hardware to Tinker With?
This question comes from an anonymous Slashdot reader who just got an Arduino and started tinkering with electronics:
I'm quite amazed at the quality of the hardware, software, and the available tutorials and (mostly free) literature. A very exciting and inexpensive way to get a basic understanding of electronics and the art of microcontroller programming.
Now that I'm infected with the idea of Open Source hardware, I'm wondering if the Slashdot community could suggest a few more things to get for a beginner in electronics with experience in programming and a basic understanding of machine learning methods. I was looking at the OpenBCI project [Open Brain Computer Interface], which seems like an interesting piece of hardware, but because of the steep price tag and the lack of reviews or blog posts on the internet, I decided to look for something else.
Leave your best answers in the comments. What's the best open source hardware to tinker with?
Now that I'm infected with the idea of Open Source hardware, I'm wondering if the Slashdot community could suggest a few more things to get for a beginner in electronics with experience in programming and a basic understanding of machine learning methods. I was looking at the OpenBCI project [Open Brain Computer Interface], which seems like an interesting piece of hardware, but because of the steep price tag and the lack of reviews or blog posts on the internet, I decided to look for something else.
Leave your best answers in the comments. What's the best open source hardware to tinker with?
Tinkering with hardware, really hard to say what that means. As a Hardware engineer for about 25 years most anyone who says tinker makes me think they want to flash an LED or some such thing.
Does tinker mean
1. Run software on
2. Modify / customise
3. Build from plans
4. something else
In general build from plans is not a good idea for expensive stuff because when it does not work it can be dead or just impossible to diagnose without some serious equipment (or at least a good scope.)
I'm just curious why the hardware needs to be open source for you to tinker with it. If you aren't planning on making contributions to the hardware design (which doesn't sound like "tinkering" to me), and if you aren't going to base products on it that you are going to sell or distribute, then I don't see why it needs to be open source.
So if we're not talking about open source hardware, I have enjoyed experimenting with the STM32 Nucleo boards. They're affordable ($11), and at one time were vastly more powerful than Arduino (I don't keep up with who is producing what so maybe that has changed). I developed online using the free mbed IDE ( https://os.mbed.com/accounts/l... ) and open source libraries, and would drag / drop the downloaded image onto the USB drive and it would flash it and start running my software.
Better known as 318230.
my favorite is KiwiSDR, it is a SDR that plugs on to a Beaglebone Green and the Beaglebone has Debian on it, and i am gradually tweaking the KiwiSDR software to my personal liking, nothing too drastic, mostly user interface things https://imgur.com/a/d6dJ4
Politics is Treachery, Religion is Brainwashing
Pi for absolute beginners. Arduino can get you a long ways very quickly. Beaglebone is more advanced and powerful if you want to use Linux. That being said, there is no reason not to use demo boards from microcontroller makers such as Microchip as a starting point since the demo board hardware files are freely available to develop with and their development systems are cheap and easy to learn.
I like pencil and paper. Sometimes a pen.
Hammers, nails, screwdrivers, and such work well too.
great as far as it goes
but the video binary blob is closed source
so are other parts.
Anyone who wants to tinker with hardware should buy a copy of Horowitz and Hill’s “The Art of Electronics”, now in its third edition.
https://www.amazon.com/Art-Ele...
It’s practical, understandable and will teach you how to build good, real world analog and digital circuits. Accept no substitutes!
great as far as it goes
but the video binary blob is closed source
so are other parts.
So there is closed firmware for the wifi and potentially video chips, yes. There is an open source video driver now, that works fairly well.
So if you take the Fedora/kernel view of things, totally open source friendly. If you take the libreboot/FSF/Purism Librem, then yeah, not what you want.
STmicro boards are more powerful than UNOs, have 10x the IO of RPis and cost 1/2 as much as either (US$14 for an 80MHz L4 core with about 20 IOs, including 4 UARTS, 3 SPI, 3 I2C, and a dozen GPIO).
Their CubeMX stack is easier to start with than Silicon Labs or NXP IDEs, and exports projects for IAR, Keil and GNU ARM-AEBI makefile!
I would recommend mbed but there are too many shortcomings.
STMicro = for when you grow out of RPi/Arduino.
A bunch of GPIO, without a way to run them in realtime. Or is there a subprocessor or something I can use for super accurate timing?
Yeah, an Arduino Pro Mini/Micro. Because when you want super accurate timing, you want a coprocessor. Sadly, there's nothing like that actually onboard the Pi's SoC. Happily, an Arduino costs bugger all, and you can program it from the Pi. (Yes, how annoying that they didn't bother to implement DTR in the serial driver. Yes, you could add it in the serial driver on the GPIO pin of your choice, if you cared enough.)
The other benefit is that it makes it a lot less likely that you will fry your Pi with GPIO.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Thanks to open-source hardware, there has never been so much choice and so much opportunity to learn.
My recommendations for today's tinkerer are:
- Raspberry Pi (not fully open source but close enough) and the wiring Pi library http://wiringpi.com/
- The esp8266 boards: Super cheap Arduino compatible WIFI boards.
- Any SAMD21 ARM cortex M0 board like the Arduino Zero, Sparkfun SAMD21 breakout, or the Adafruit Feather M0.
- STM32 "blue pill" boards. Super cheap on ebay and powerfull.
In theory, you don't need hardware to be open source just to "tinker" with it. But in reality, if you want to truly learn stuff, open source hardware is great. You can take a look at the schematics, learn piece by piece from others: power supply circuits, reset, oscillators, micro-controllers, ...
For example take a look at the Sparkfun SAMD21 breakout schematics here: https://cdn.sparkfun.com/datas...
You'll see the leds, the usb, the battery power circuit, the micro-controller and headers, all nicely broken down in separate blocks that you can learn from and re-use.
After a while, you will be able to make your own boards. YES! ** That the best part of it all! **
Myself I started with a simple Arduino UNO and a couple of years later, I'm about to launch my own IoT Arduino compatible platform, fully designed and implemented in the garage of our house: http://omzlo.com/
At this point, I think Arduino has become the most expandable, simplest, and most open HW platform for tinkering, out there. Compared to Raspberry Pi, it has more shields, it allows for better access to the hardware, there is NO need for proprietary drivers (this plagues Raspberry Pi), it has FAR more I/O pins - which is probably why there are so many more shields for it.
Arduino allows for hard-realtime control, should you need it. Among other things, this is why there are various 3D printer, laser-cutter, and CNC machine control boards made based on Arduino.
Finally, the C++ libraries for Arduino are very numerous and allow you to do all kinds of sexy tricks. For instance, simple graphics via CRT control (be it RGB or composite). Or my other favorite set of projects: MIDI controllers and hardware synths based on Arduino.
"The agriculture ministry is not in charge of Gundam" - Japanese ministry official.