Slashdot Mirror


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?

134 comments

  1. I think you need to define what tinker is by Anonymous Coward · · Score: 2, Insightful

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

    1. Re:I think you need to define what tinker is by Q-Hack! · · Score: 2

      Sadly, the days of Heathkit are long gone.

      --
      Some days I get the sinking feeling Orwell was an optimist.
    2. Re:I think you need to define what tinker is by Anonymous Coward · · Score: 0

      Heathkit, Heathkit
      no one should
      terrify the neighborhood

    3. Re: I think you need to define what tinker is by Anonymous Coward · · Score: 0

      Heathkit,
      It's me your Cathode,
      I've come howowome, ...

    4. Re:I think you need to define what tinker is by Anonymous Coward · · Score: 0

      That's "terrorise the neighbourhood" not "terrify the neighbourhood".

    5. Re:I think you need to define what tinker is by ShanghaiBill · · Score: 2

      some serious equipment (or at least a good scope.)

      You can get a USB oscilloscope on Amazon for $20.

      Then get some discrete transistors, caps, resistors, and some LEDs. Build an inverter, then an oscillator, and an adder.

      After that, breadboard a microcontroller, then add an FPGA and use Verilog to implement a state machine, a serial port, and then a "soft" 8 bit CPU. Whip up an assembler for your custom CPU, and bootstrap an event loop driven mini-OS.

      Once you do all of that, give me a call, and I will give you a job.

    6. Re: I think you need to define what tinker is by Anonymous Coward · · Score: 0

      There is a lot more cheap equipment around now than ever, both new stuff and used. You can get cheap scopes from off brand names that are good enough for to tinkering and do more than Heathkit builds ever did. Or just get the used stuff if that is exactly what you want. Chances are, for digital projects you'll want something that reads fast logic signals, which tends to be more modern than Heathkit stuff.

    7. Re:I think you need to define what tinker is by AmiMoJo · · Score: 1

      event loop driven mini-OS.

      Ugh.... I hate those so much. Every function that runs for more than a millisecond becomes a giant, unwieldy state-machine and a nightmare to debug.

      Here's an example of a proper, cooperative multitasking system: https://github.com/kuro68k/xmu...

      It does proper context switches via a single function call, so no horrible spaghetti code. There are some down-sides, such as slightly higher stack use and needing to allocate enough stack to each task, but that's a fairly standard thing for embedded developers anyway.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    8. Re:I think you need to define what tinker is by RoccamOccam · · Score: 1

      Or get an XMOS microcontroller . Multiple CPUs. Also, each CPU has hardware support for multi-tasking, so each of four to eight processes gets a guaranteed portion of the system clock.

      The system programming model is based on Communicating Sequential Processes (CSP). The I/O lines have hardware support so you can do FPGA-like timing and control, but using a nice, high-level language. Lightning fast. Rather popular for audio-processing systems.

    9. Re:I think you need to define what tinker is by Doctor+Memory · · Score: 1

      some serious equipment (or at least a good scope.)

      You can get a USB oscilloscope on Amazon for $20.

      He said a good scope. 20MHz of bandwidth is fine for audio work, but if you're serious about anything you'll be wanting at least 100MHz of headroom. Hell, I picked up a Tek 847 for $25 that's got 50MHz and two separate timebases. (Of course it also sucks down 190 watts and takes matched sets of 12AX7s, so there's that.)

      --
      Just junk food for thought...
    10. Re:I think you need to define what tinker is by Anonymous Coward · · Score: 0

      Thanks for linking XMOS. I've looked at their datasheets but had no idea of their main market segments. Audio -- that's interesting.

    11. Re:I think you need to define what tinker is by AmiMoJo · · Score: 1

      XMOS do make some interesting parts, but they are all geared towards high performance. That's great some times, but when you need low power it's still impossible to beat 8 bit MCUs. Fortunately they are relatively easy to context switch on as well, since it's basically a few work registers and a stack pointer.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    12. Re:I think you need to define what tinker is by RoccamOccam · · Score: 1

      but when you need low power it's still impossible to beat 8 bit MCUs.

      Impossible, you say? Epson to Launch Production of Ultra-Low Power 4-Bit Microcontrollers. :-)

    13. Re:I think you need to define what tinker is by mark-t · · Score: 1

      You can get a USB oscilloscope on Amazon for $20.

      He said a good scope. 20MHz of bandwidth is fine for audio work, but if you're serious about anything you'll be wanting at least 100MHz of headroom.

      Heh... I was looking to say something similar when I saw the above comment. Looks like I'm not the only one who feels that way.

    14. Re:I think you need to define what tinker is by AmiMoJo · · Score: 1

      I remember the old Fujitsu 4 bit parts. No C compiler of course, you had to use assembly and it was a right bigger. Good times.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    15. Re:I think you need to define what tinker is by ShanghaiBill · · Score: 1

      I remember the old Fujitsu 4 bit parts. No C compiler of course, you had to use assembly and it was a right bigger. Good times.

      I had a friend who worked for a toy company, and they used these in many of their products. 4 bit registers. 32 bytes of RAM. Ten cents each.

    16. Re:I think you need to define what tinker is by AmiMoJo · · Score: 1

      The in-circuit emulator we had was the size of a desktop PC case. The parts were OTP or UV erasable so emulation was pretty much the only sane way to develop.

      It was nice being in total control at the assembler level.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    17. Re: I think you need to define what tinker is by Anonymous Coward · · Score: 0

      Wow! (pun intended)

    18. Re:I think you need to define what tinker is by KingBenny · · Score: 1

      i think if you wanna start collecting a vocore is the least you can have ... buttonsized ... you can have mommy sow it into a vest as buttons, stick a battery to it in your pocket ... maybe solar chargers if you got one of those backpacks, write some basic shell script to scan for unsecured wi-fi and start hackzing
      or use it as an mp3 player out of the box, i saw a youtube video of some ultrageek who soldered a spare screen to it , and recompiled doom to run it as a benchmark ... and its dirt cheap too :) (and the dude accepts bitcoins)
      if its a hobby, why go for the mainstream hm ?

      --
      Free speech was meant to be free for all... how can anyone grow up in a nanny state ?
  2. Tinkering? Open source hardware? by Dan+East · · Score: 2

    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.
    1. Re:Tinkering? Open source hardware? by FudRucker · · Score: 1

      on the hardware side with open source hardware all the info is open, the schematic, the blueprint of the circuit boards, even the IC chips are open, http://kiwisdr.com/

      --
      Politics is Treachery, Religion is Brainwashing
    2. Re:Tinkering? Open source hardware? by Frosty+Piss · · Score: 1

      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.

      My guess is Open Source(tm) hardware has better/more (any) hardware documentation readily available along with numerous project tutorials and such.

      --
      If you want news from today, you have to come back tomorrow.
    3. Re:Tinkering? Open source hardware? by mark-t · · Score: 1

      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

      This is just a guess, but offhand, I'd say it's because being open source suggests the details of its design are readily available to anyone who wants to see them, which is ideal for learning something from scratch.

    4. Re:Tinkering? Open source hardware? by LifesABeach · · Score: 1

      Off hand one could give the long look to the Arduino and Raspberry Pi? Maybe there are some cheap Bit-Slices? I am curious STM32 Nucleo, I've got a idea for a robotic arm with 32-DOF that has to lift 100Kg, and maybe this SBC could do the job?

    5. Re:Tinkering? Open source hardware? by Anonymous Coward · · Score: 0

      Almost all microcontrollers are closed hardware, and many have great documentation. I'm a fan of Microchip's PIC line, for example, and just starting to learn Texas Instruments' MSP430. Both of these are well documented, yet the development environments and silicon IP are closed.

    6. Re:Tinkering? Open source hardware? by Whatsisname · · Score: 1

      If you are going to be lifting 100kg, you should know exactly what you are doing before even thinking about building such a device. If you are going to have 32 degrees of freedom you should use a PC to do all your math, which is going to be a lot, and only use embedded processors for the motion controls. Additionally, you should already be familiar with platforms suitable for that application, an STM32 Nucleo board should be not even be considered unless you are only using it to evaluate the STM32 platform for use one of your own boards.

      Please don't get anyone killed when your software has bugs and it tries to deliver 100kg of force into someones arms or something.

    7. Re: Tinkering? Open source hardware? by bestweasel · · Score: 2

      If you're not restricted to open source hardware then try to get your hands on an ATM. These can be very profitable to tinker with.

    8. Re: Tinkering? Open source hardware? by tigersha · · Score: 0

      I think if you think you are going to learn the design of a CPU from scratch you are deluded.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    9. Re: Tinkering? Open source hardware? by tigersha · · Score: 1

      If you want to throw around that much weight you better hope your CPU hardware was designed by professional engineers.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    10. Re:Tinkering? Open source hardware? by Bing+Tsher+E · · Score: 0

      Are TTL gates 'open' enough? Or do we need to wire up the flip flops ourselves? I have big bags of TO-92 transistors, and plenty of resistors.

      Or do we need to fabricate point-contact transistors ourselves? (I think diffusion transistors are beyond 'open source' for the individual.)

      It isn't beyond the capabilities of an individual to learn how to make their own vacuum tubes, if we need to stay with things an ordinary human can do themselves, because doping silicon or germanium is pretty tricky.

    11. Re:Tinkering? Open source hardware? by Bing+Tsher+E · · Score: 1

      There are plenty of open-source development tools for the Microchip PIC processors. You can do everything you want within Linux with 'free' tools, including the bootstrap to burn the binary into flash on the chip. That mostly means Assembly Language, though. I don't think there is an open-source C compiler yet for the PIC family. The CPU itself is closed, but there's no 'hidden' supervisory processor or anything. That we know of.

    12. Re: Tinkering? Open source hardware? by Bing+Tsher+E · · Score: 1

      Plenty of people have constructed their own CPU with discrete logic gates. You can 'cheat' on the ALU and just use the 74LS181 chip, for instance, and throw the registers around it using octal latches like 74LS373s and the like. And of course the 7464 for a bit of scratchpad RAM. Some of them are fairly rare at this point in time, but you could make your own ALU if you really wanted using MSI logic.

    13. Re:Tinkering? Open source hardware? by Anonymous Coward · · Score: 0

      I would say TTL-gates are open enough. The sn74ls04 datasheet contains schematics for each gate so you can build one yourself if you want to.
      Same goes for many operational amplifiers and linear regulators.

      It's not so much that they were released as open source hardware, but rather designed before integrated circuits had IP protection.
      That means that pretty much anything designed before 1984 was reverse engineered and copied by all competitors so the "source" isn't something anyone keeps secret.

      Considering that the 8085 appears to have been copied a lot you can probably find schematics to build your own too.

      Of course more modern architectures have been reverse engineered and could be considered open but they might still be protected so you can't legally distribute those.

    14. Re: Tinkering? Open source hardware? by Anonymous Coward · · Score: 0

      Being open isn't about "making it from scratch" and all of the semantics games you're trying to play based on that. There are time having full documentation and schematics is useful.

    15. Re:Tinkering? Open source hardware? by Anonymous Coward · · Score: 0

      > I'm just curious why the hardware needs to be open source for you to tinker with it.

      Not the original poster, so her/his answer might be different.

      For me, I'd call it "favoring the open ecosystem".

      As an example: I'm not hacking on my C compiler currently. Nevertheless, I strongly prefer a Free [1] compiler, because I prefer a C compiler which *you* might be able to hack on (or someone else, which might be myself 10 years down the road). Thus, by contributing to a freer ecosystem, we all profit from it.

      Likewise, and in the realm of hardware, I very much prefer to throw my money at a manufacturer who favors the "open ecosystem". I'm willing to suffer some inconvenience and some higher price (economy of scale, less speculative income) for that.

      [1] Free as in speech, you know. And yes, in this context copyleft tops pushover (sometimes called permissive), for obvious reasons.

    16. Re:Tinkering? Open source hardware? by Anonymous Coward · · Score: 0

      Neat. I've only programmed them in assembler so far anyway, as I typically use the PIC10/12/16/18 series. I have a project planned for a PIC24 and plan to use C for that.

    17. Re:Tinkering? Open source hardware? by AmiMoJo · · Score: 1

      The online mbed IDE is something of a deal-breaker for a lot of people. You are completely at their mercy, when they terminate the service all your projects and code will become useless. They can make any arbitrary changes they like and you have no way to reject them.

      STM32 is just ARM, so you might as well just use whatever free ARM IDE you prefer. Eclipse and GCC work well.

      One of the reasons why Atmel AVR is popular is that it's supported by free development tools. In fact Atmel ship GCC as their compiler in Atmel Studio.

      If you want a high level environment with libraries to do all the complex stuff, ARM is a good bet. If you want something a bit lower level, a bit more raw, AVR is a good option and you don't need to rely on libraries.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    18. Re: Tinkering? Open source hardware? by TheRaven64 · · Score: 1

      Why? The CPU that our project uses was originally designed by a single PhD student. With modern HDLs, it's entirely plausible for a single person to design a CPU (if you want to do more than simulate it in software or an FPGA, you need to spend a lot of money, but that's irrelevant to learning how to design one). The RISC-V hardware mailing list seems to have people producing new implementations almost every week.

      A simple in-order pipeline is pretty easy. Things get harder when you want to make it superscalar (register renaming is hard, as is parallel decode if you have a variable-length instruction encoding), or if you want to support all of IEEE floating point.

      --
      I am TheRaven on Soylent News
    19. Re:Tinkering? Open source hardware? by Anonymous Coward · · Score: 0

      There's SDCC C compiler for PIC 16/18, but i have not used it myself. Chipkit and Pinguino have compilers for PIC32s, but i don't know about their openness.

    20. Re: Tinkering? Open source hardware? by Anonymous Coward · · Score: 0

      Relax, it isn't trying to put the 100kg in a specific spot. He just wants some extra headroom so the autonomous robotic arm can reliably aim a 22kg minimum without saying under recoil. Perfectly safe.

    21. Re: Tinkering? Open source hardware? by Anonymous Coward · · Score: 0

      Er, 22kg minigun. Damn hippie autocorrect.

    22. Re: Tinkering? Open source hardware? by LifesABeach · · Score: 1

      Poor foolish A/C, it's your public school education that hinders your reading skills. Try reading my post again. And if there isn't a collar around your neck, it's because your master is allowing you to run out into on coming traffic.

    23. Re: Tinkering? Open source hardware? by LifesABeach · · Score: 1

      Another clueless A/C, parading your childhood abandonment issues is utterly worthless. Your ancestors left you at the meat packing plant because they knew your future would be brighter there.

    24. Re: Tinkering? Open source hardware? by LifesABeach · · Score: 1

      "Throw?" The verb I used was "lift."

      The real problem that will bust a bra strap, is the power supply. It needs to run 3 hours, the average is 2 hours 15 minutes. Swapping power supplies should take about 1 minute.

    25. Re:Tinkering? Open source hardware? by LifesABeach · · Score: 1

      "Exactly?" Try "off the truck, on the ground." Plus or minus centimeter is good enough. Do I need help from a Metrologist? No. That's over engineering. It's not a video game, it's just hard work. At the end of the day, its a beer, and a thanks. Because tomorrow, it's more of the same.

  3. Hands down the best ever. by Anonymous Coward · · Score: 0

    Lincoln logs... Followed closely by the Erector Set.

  4. i think HackRF one and KiwiSDR are cool by FudRucker · · Score: 2

    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
    1. Re: i think HackRF one and KiwiSDR are cool by Jesus+H+Rolle · · Score: 0

      Run on, my friend. Run on.

  5. Depends by Anonymous Coward · · Score: 2, Informative

    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.

    1. Re:Depends by Whatsisname · · Score: 1

      While Pi is designed to cater to beginners, they are cheap and they can be pretty handy for prototyping stuff rather than going through the hassle of spinning up your own board.

    2. Re:Depends by serviscope_minor · · Score: 1

      Pi for absolute beginners. Arduino can get you a long ways very quickly.

      Not really. It all depends on what you want to do, what your goals and constraints are etc.

      The Pi is great even in a professional setting especially for one-off stuff. Doubly so if you need a network and/or a screen or something like bluetooth. Few things need the level of grunt of the Pi 3, that's for sure.

      Realtime control over the GPIO is possible but a different ball of wax.

      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 uses to use the USB Pic Kit. Pretty handy, especially for the little tiny ones like the 10F series. About GPB35 too and supported with Free tools.

      Demo boards are invaluable for getting started with other chips, especially if you don't want a dual chip system with a shield.

      --
      SJW n. One who posts facts.
  6. Pencil and paper by Subm · · Score: 2

    I like pencil and paper. Sometimes a pen.

    Hammers, nails, screwdrivers, and such work well too.

    1. Re:Pencil and paper by Anonymous Coward · · Score: 0

      I'm glad you did not mention screws, since they could be proprietary:
      www.ifixit.com/blog/2011/01/20/apples-diabolical-plan-to-screw-your-iphone/

  7. Raspberry Pi by JonathanP.Bennett · · Score: 0

    By far, my favorite hardware to work with is the Raspberry Pi 3. It now works with mainline Linux, and has a bunch of gpio to play with.

    1. Re:Raspberry Pi by Anonymous Coward · · Score: 2, Informative

      great as far as it goes

      but the video binary blob is closed source
      so are other parts.

    2. Re:Raspberry Pi by JonathanP.Bennett · · Score: 2

      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.

    3. Re:Raspberry Pi by Actually,+I+do+RTFA · · Score: 1

      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?

      --
      Your ad here. Ask me how!
    4. Re:Raspberry Pi by drinkypoo · · Score: 2

      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.'"
    5. Re:Raspberry Pi by Whatsisname · · Score: 1

      If you need hard realtime then you don't use a miniature PC, it's as simple as that.

    6. Re:Raspberry Pi by serviscope_minor · · Score: 1

      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?

      How real time do you want?

      You've got a quad core processor, and so once you set your one GPIO thread to the highest priority level, you get surprisingly good performance on a stock kernel especially if you keep the load average down.

      If you switch over to the RT branch of the kernel, you'll get RT performance good enough for almost everything. Multi-core is helpful since you can tell the kernel to not schedule interrupts on the core running your realtime process.

      There's probably other options to go even better.

      Obviously though you'll never beat a scalar, in-order processor with direct clocking for low jitter and predictable timings.

      --
      SJW n. One who posts facts.
    7. Re:Raspberry Pi by Anonymous Coward · · Score: 0

      The BeagleBone Black will let you do hard realtime via the two PRUs on the processor. They're essentially a pair of 200 MHz microcontrollers that can run independently of the main processor but still have access to common memory, peripherals, and I/O.

    8. Re:Raspberry Pi by thegarbz · · Score: 1

      All of that is largely irrelevant to the users of devices.

    9. Re:Raspberry Pi by Actually,+I+do+RTFA · · Score: 1

      How real time do you want?

      I'm still trying to figure that out. For one GPIO pin, I'm fine with milli-second timing (so regular Linux should be fine). For others, it's faster, but I'm still waiting to find out what precision is required. I know I have latency issues as well, but that's on me as a developer.

      Does developing software for a RTOS require special SDKs/skills/patterns? Can you still do something like run WiFi/BlueTooth in a RTOS, or does it require so much rewriting that there are no drivers? (Obviously, the WiFi/BlueTooth part would not be predictable itself, because wireless and other devices.

      --
      Your ad here. Ask me how!
    10. Re:Raspberry Pi by Anonymous Coward · · Score: 0

      Just my personal experience, but stuff like an IR receiver seems more responsive from an Arduino and a Rasperry pi, Another one is the 315Mhz and 433Mhz radios. I think those distance sensors that require timing between the ping and echo pins.

      Not sure what happens, maybe when waiting for IO or something else.

    11. Re:Raspberry Pi by serviscope_minor · · Score: 1

      Disclaimer, I've not done much RT work.

      If you get a Linux kernel with PREEMPT_RT you'll hey deterministic bounds on latency and jitter, which is the core of real-time performance. Since its a stock kennel, you'll get all the goodies like WiFi, Bluetooth and so on (as long as you have the firmware).

      In terms of special skills... Basically you'll need to write your real time code in C, C++, or some other language where you can write useful code without heap allocation. You'll also need to know a bit of Unix (posix) programming for things like seeing the priority of the process and for mutexes which inherit priorities (necessary for real time stuff).

      You're right that I/O is predictable, and hence not real time. The solution is to have that happen in a different thread or process and send messages from the RT one. The RT one needs to have a strategy for discarding data or running without in case the IO thread waits for too long.

      I think sockets are real-time so you can separate the real time code and the management stuff by sticking a socket between them.

      --
      SJW n. One who posts facts.
  8. Build your own by dlleigh · · Score: 4, Informative

    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!

    1. Re:Build your own by Anonymous Coward · · Score: 0

      Do you know if there's a good companion book with answers to the exercises? I find myself getting lost really easy.

    2. Re:Build your own by Bing+Tsher+E · · Score: 1

      I grew up with a copy of Horowitz and Hill, first edition, but there's a sizeable contingent of people who pull a Martin Prince about H & H (they are 'familiar with his work' so to speak). It's an excellent book for general coverage of practical electronics, but snobby EEs find it threatening (it empowers people who didn't have to take all the sucky classes they did, I presume)

    3. Re: Build your own by Anonymous Coward · · Score: 0

      Most of the complaints I've heard are that it is a great reference but often a bit rough for a first time for the material (ymmv). Many EEs have a book recommendation or two get up to speed faster, complimenting more comprehensive texts (not exactly the approach taken by someone feeling threatened...).

    4. Re:Build your own by Anonymous Coward · · Score: 0

      Seriously, this! Horowitz and Hill was recommended to me by my university - It's astoundingly wide in it's coverage and is extremely simple to apply and understand.

    5. Re:Build your own by thegarbz · · Score: 1

      While I agree it's great for electronics, it's also an order of magnitude different in league compared to the program a microcontroller with a modular open hardware concept crowd. Definitely required reading for building circuits, but that's not what most people do anymore.

      The Arduino / shield concept basically put an end to that requirement. Hell I've been known on occasion to simply not give enough of a damn to design/build a circuit of my own and simply interface with an off the shelf module for the reason of simplicity too.

      It's quite going to be quite pointless reading for the vast majority of the current "electronics tinkering" crowd.

  9. CARS by Anonymous Coward · · Score: 0

    Cars, preferably one with a carburetor points ignition and simple advance.

    I bought a 1970's Lancia as a second car and basically over the course of a few years pulled every-single-bolt-and-thing apart and put it back together again. I then later installed and programmed my own computer controlled fuel injection and ignition system on top of the bare metal.

    Learned mechanics, dynamics, metalurgy, fluids, machining, electronics, wiring standards, crimping, enviro protection ,embedded devices, programming and many other skills... full spectrum of engineering - better than any course sat in my free time only caveat no piece of paper....

    -Kaex

  10. RISC-V by Anonymous Coward · · Score: 0

    Doesn't get much more open than something based on a RISC-V CPU. Whether any of the currently available RISC-V solutions are good to tinker with, I don't know.

  11. Memristors by Anonymous Coward · · Score: 0

    Two things that comes to mind is FPGA and memristors, which are the current (FPGA) and future (memristors) technology for circuit boards created by a compiler, not PCB process. The short term usage of memristors is probably going to be replacing flash, hard drives, RAM, and other storage media, but memristors have the potential to provide and FPGA experience where the reconfiguration or flashing is a fraction of the time. I don't understand all of the details, but memristors have been shown to be useful for storage (1 is a bit), logic (3 memristors are equivalent to a NAND gate), and switching (but whereas transistors require 3 terminals, memristors only require 2 terminals).

    1. Re:Memristors by Whatsisname · · Score: 1

      Using FPGA and memristors in any meaningful capacity is well within the "Has a degree in EE" territory, hardly an area where you'd use the word "tinker".

    2. Re: Memristors by Anonymous Coward · · Score: 0

      Lattice has(had?) a $20 fpga dev board with several thousand gates and free-as-in-beer software to run vhdl/verilog projects, open CPUs, or hybrids of the two without much effort. Someone with some basic programming and logic experience could have an FPGA project running over a weekend following easy tutorials.

      Getting efficient speeds and gate usage takes quite a lot of experience, but getting started and tinkering does not.

    3. Re: Memristors by TeknoHog · · Score: 1

      Lattice has(had?) a $20 fpga dev board with several thousand gates and free-as-in-beer software to run vhdl/verilog projects, open CPUs, or hybrids of the two without much effort. Someone with some basic programming and logic experience could have an FPGA project running over a weekend following easy tutorials.

      Getting efficient speeds and gate usage takes quite a lot of experience, but getting started and tinkering does not.

      Agreed. Not to toot my own horn, but I once released a pretty groundbreaking project (one of the first Bitcoin FPGA miners) after 3 weeks of owning my first FPGA board. I did have programming and electronics experience, but not exactly professional in either. I mostly used tutorials from fpga4fun to get started.

      --
      Escher was the first MC and Giger invented the HR department.
  12. Closed source proprietary hardware by Anonymous Coward · · Score: 0

    Reverse engineering is the only future. The sooner we break the shackles of law the sooner we progress as humans. Violate a copyright sooner.

  13. The good old days by Anonymous Coward · · Score: 0

    Old cast iron drainpipes, fireworks and petanque balls. Once lost one. Never quite figured out where it went.

    1. Re: The good old days by Anonymous Coward · · Score: 0

      Ah yes, when you could blow shit up without attracting the attention of the authorities.

  14. STMicro CubeMX by Anonymous Coward · · Score: 4, Informative

    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.

    1. Re:STMicro CubeMX by Bing+Tsher+E · · Score: 1

      You can get UNO clones on eBay for several dollars. They work fine, though people who have bought into the 'Open Source Hardware' in a way that they want to sell $30 boards with $2 of components on them get riled up about.

  15. LattePanda by psinet · · Score: 1

    Raspberry Pi and Arduino are great platforms for learning. But if you want a properly integrated professional system with limitless potential out of the box, LattePanda wins hands-down.

    Although it is about 5x the price of a Raspberry Pi, it quite easily operates as a fully-functional Win10 installation with C#, Javascript, Ruby, Visual Studio, NodeJS, Java, Processing etc - powered by USB.

    Specs:
    Intel Cherry Trail Z8350 Quad Core Processor
    Base Frequency: 1.44GHz (1.92GHz Burst Frequency)
    Operating System: Windows 10 Home Edition (Unactivated)
    RAM: 4GB DDR3L
    Storage Capacity: 64GB
    GPU: Intel HD Graphics, 12 EUs @200-500Mhz, single-channel memory
    USB 3.0 x 1, USB 2.0 x 2
    Wi-Fi 802.11n 2.4G
    Bluetooth 4.0
    Integrated Arduino Co-processor: ATmega32u4 (Arduino Leonardo)
    Video output: HDMI and MIPI-DSI
    Onboard touch panel overlay connector
    Supports 100Mbps Ethernet
    Intel Processor GPIO x 6
    ATmega Processor GPIO x 20
    Gravity Interface Connectors x 6
    Voltage: 5V@2A

    The real secret is in how the 2 chips operate - with the ability to turn either chip off or on (wake or sleep), from the other chip. The potential of this board is basically limitless.

    1. Re:LattePanda by Anonymous Coward · · Score: 0

      windows 10? c#, visual studio? wtf is wrong with you?

    2. Re:LattePanda by psinet · · Score: 0

      Feel free to use whatever platform you prefer, since it encompasses all.

      FYI: Vis. Studio, Win10 and C# - between them - are a massive portion of the market.

  16. BBC Microbit by mspohr · · Score: 1

    There is very little "pure" open source hardware. Patents and software copyrights (and proprietary software bits) make this difficult.
    If you want to tinker, a good option is the BBC Microbit (http://microbit.org/). It's a simple ARM processor with inputs, Bluetooth, sensors (acceleration, compass, etc.), LED display, light sensor and robust programming environments (GUI, Python, C++, etc.)
    The Bluetooth give lots of interesting options for communicating with other nearby Microbits

    --
    I don't read your sig. Why are you reading mine?
  17. uh... raspberry pi. by anon+mouse-cow-aard · · Score: 1

    I have four or five of these... got some for lots of people. I think there might be some firmware blobs required, but it's open source enough for me. To play with, it needs to be cheap enough to break without heartbreak, and it needs a community, and pi has all that, and third party hardware packages also. It runs plain vanilla debian, and so dead easy to work with, build your projects in python. Latest generation gets you wifi & bluetooth built in, so a lot of options for control and i/o.

  18. 7400 by Anonymous Coward · · Score: 0

    How much are base logic chips these days? I'd love to wirewrap up something with some 7400...

    1. Re: 7400 by Anonymous Coward · · Score: 0

      May I suggest instead the slightly more modern, voltage tolerant and lower power CMOS 4000 series?

  19. There is only one answer by Anonymous Coward · · Score: 0

    Notepad.

  20. ICE by bugs2squash · · Score: 1

    I'd say that the Lattice ICE HX FPGA is worth using to learn about verilog. And after that maybe some fpga based ham radio projects like maybe Lime

    --
    Nullius in verba
  21. Cocur by Anonymous Coward · · Score: 0

    There are several other single board Linux computers designed for embedded applications, but the Raspberry Pi has a huge community, and that gives it a definite edge. While I do a lot of PIC microcontroller projects, I've bought and used every R-Pi generation in embedded applications of increasing complexity, and I love them!

  22. Z80 projects or Arduino Severino by Leninix · · Score: 1

    Print your board old-style at home. some Z80? Really easy to do with a laser printer and ferric chloride. http://www.z80.info/z80_mp.htm Breadboard project: http://www.vaxman.de/projects/... Also check Arduino Severino: https://www.arduino.cc/en/uplo...

  23. Re:dumb question by uvajed_ekil · · Score: 0

    What is the best car to drive?

    Easy: Mazda MX-5 or Porsche 911 GT3, depending on your skill level and desire to spend your kid's college fund. Next question.

    --
    This is a hacked account, for which the owner can not be held responsible.
  24. Atmel AVR by Anonymous Coward · · Score: 0

    Get yourself a bread board and some AVRs. Its really easy to use and program those. It will also let you learn a lot more about this stuff than any off-shelf board you get.

  25. easy by Anonymous Coward · · Score: 0

    esp32 platformio for dev env. and any kind of pi depending on your needs. raspberry if you're anal, orange if you don't care. nano / zero if you need something small. armbian for os.

  26. TTL Gates by Bing+Tsher+E · · Score: 1

    I made a stepper motor controller about 30 years ago with just TTL gates. Today I'd use a PIC microcontroller, but for open source, you want to work with the bare wires. Get a 'solderless breadboard' an assortment of chips, some LEDs and a big piece of #20 wire to cut to short lengths and strip the ends on. You need a 5 volt supply, but you can salvage one from a cellphone wall-wart charger. That part is much easier than it was 30 years ago.

    You can get a bunch of TTL gates on eBay, I think.

  27. 7400 series by Anonymous Coward · · Score: 0

    Nothing beats https://en.wikipedia.org/wiki/List_of_7400_series_integrated_circuits

    1. Re:7400 series by dlleigh · · Score: 1

      But please use the more modern HC/HCT/etc. CMOS versions, and not the old TTL stuff. Your family/friends/neighbors will thank you when they hear less screaming from you tearing less of your hair out.

  28. 2nd edition PDF by Anonymous Coward · · Score: 1

    Just in case your pocket is not filled with $$$, there is a PDF of the 2nd edition of the book available online

    http://www.csun.edu/~acm31201/Old%20Class%20Work/ECE%20340/The%20Art%20of%20Electronics%20-%20P%5B1%5D.%20Horowitz,%20W.%20Hill.pdf

    I do recommend folks with money to purchase the 3rd edition, tho !

    1. Re:2nd edition PDF by serviscope_minor · · Score: 1

      Just in case your pocket is not filled with $$$, there is a PDF of the 2nd edition of the book available online

      It's 65 quid, which is not a large chunk to dedicate to a hobby.

      --
      SJW n. One who posts facts.
  29. Raspberry Pi, SAMD21, STM32 and build your own! by L-One-L-One · · Score: 2

    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/
       

    1. Re:Raspberry Pi, SAMD21, STM32 and build your own! by Anonymous Coward · · Score: 0

      Don't forget ESP32 which is dual core at higher clock rate than ESP8266 and with bluetooth and other goodies.

    2. Re:Raspberry Pi, SAMD21, STM32 and build your own! by Gaygirlie · · Score: 1

      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/

      Being able to design one's own boards is exciting! I started with ESP8266 (a Chinese Nodemcu-clone) and since then I've been fiddling with a bunch of different MCUs and full-blown SoCs, I've tried to copycat and/or modify various kinds of sensor-modules I've found on eBay and stuff, and I've progressed enough that I was just designing my very first, ESP8266-based board with built-in LiPo-charger and some extras -- I know it ain't particularly impressive to anyone who already knows their shit, but I'm still a newbie when it comes to DIY-electronics and I still find it both fun and rewarding to realize that I can actually come up with simple boards of my own nowadays.

      All I wish is that I had a better source for learning new stuff and improving my understanding than random Youtube-videos and articles I find on Google.

    3. Re:Raspberry Pi, SAMD21, STM32 and build your own! by Obfiscator · · Score: 1

      This may seem like a silly question, but may I ask what you do with them? Is it the challenge of creating them which is exciting, or what you use them for afterwards?

      I'm starting to think about tinkering with electronics, and I have a couple projects in mind which could be cool to do, but literally no idea if they are something which would take me a month to do or 10 years. If it ends up being 10 years, I imagine my interest will start to wane, so I'm wondering if other things will come up along the way to keep the excitement going.

      --
      "Nothing shocks me. I'm a scientist." -Indiana Jones
    4. Re:Raspberry Pi, SAMD21, STM32 and build your own! by Gaygirlie · · Score: 1

      It's more-or-less the challenge and the learning-process that I find so rewarding and that's what I use them for. Maybe one day I'll come up with some actually useful projects, but as of the moment, I just use them to fiddle with stuff and experiment on things -- software and hardware -- and put them away until I come up with the next thing I want to experiment on; I've always kind of found learning stuff more interesting than actually putting the knowledge to practical use, though, with electronics you kind of have to make *something* eventually, if you want to keep improving your skills. That said, I live in a very small rental apartment, so I do not have the landlord's permission to make a single hole in the walls or anything here, so I can't explore any home-automation stuff and I don't have the space to explore anything other than projects that fit on my desk -- I might come up with some actual practice projects, too, if only my living situation wasn't so limiting.

    5. Re:Raspberry Pi, SAMD21, STM32 and build your own! by Obfiscator · · Score: 1

      Ha, okay, I can understand that. It's kinda like a puzzle that might someday be useful. I fully support that!

      --
      "Nothing shocks me. I'm a scientist." -Indiana Jones
  30. OpenRISK the open source CPU by Anonymous Coward · · Score: 0

    OpenRISK the open source CPU

    start with that and build your own computer. Real software people build their own hardware - Alan Kay

  31. What do you mean by Open Source? by thegarbz · · Score: 1

    If I understand correctly you got hooked on Arduino because of it's user friendliness and available documentation. In that regard it's not Open Source you're looking for, but rather very actively used platforms with a large community support.

    I say that as a big caveat since ever other person is pointing out that the Raspberry Pi isn't Open Source, but I'm inclined to believe you don't care too much about the fact that the video driver for it is a binary blob right?

    The platforms should be chosen with an end goal in mind.
    Microcontrollers (especially 8bit) > Arduino
    Embedded PCs > Raspberry Pi / Beaglebone.
    ARM > STM32 nucleo or something similar, but the communities are no where near as large as the above two.
    FPGA > Anyone's guess. The communities here are quite fragmented.

  32. Re:dumb question by MoarSauce123 · · Score: 1

    Neither fits a concrete mixer in the trunk...pieces of crap!

  33. Depends..I like the Propeller Chip for multicore by Quantus347 · · Score: 1

    It really depends on what you want to accomplish with it. I tend to favor the Parallax Propeller chip as it's inexpensive (~$10) and has eight cores which are great for independent/parallel processes as I see in hobby robotics, and their is an open access repository of functioning code "objects" that offer a surprising amount of advanced functionality. But at the end of the day you will have to code and compile everything in one of a few dedicated languages. On the other end of the spectrum, If I want more actual software-side power up to and including the ability to run a true OS like Linux, Rasbery PI seems to be everyone's Go-To these days, great for embedded systems and the like.

    --
    Common Sense isn't as Common as people think...
  34. What for? by Anonymous Coward · · Score: 0

    What are you wanting this for?
    General mucking about: arduino.
    Going a bit further: bare AVR
    Going further still: STM32+OlimexJTAG
    Linux+solder: RaspberryPi
    Motor Control/CNC: BeagleBoneBlack
    Radio DSP: RTLSDR (HackRF for Tx)
    HamRadio: RockMite ][
    FPGA: Lattice IceStick
    Being really silly: Instrument of Amplification by H. P. Friedrichs (ISBN:978-0-96719-051-7)

  35. Arduino Uno by Anonymous Coward · · Score: 1

    Grab an Arduino Uno. They are the most popular micro-controller board with the largest community around them. There are dozens of knock off boards, and many books to choose from. That's your best start, then branch out from there.

  36. Arduino/Genuino by blind+biker · · Score: 3

    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.
  37. Thinkpad! by CrocsAndSocksAreBad · · Score: 1

    You could get an old Thinkpad T400 or X200, flash Libreboot on it, then install Trisquel. This is certified by the FSF (fsf.org) as being an open source piece of hardware. Oh, I think you'd have to change out the Wi-Fi card as well, as open source drivers don't work with the stock card. Have fun!

  38. locate some inexpensive commodity hardware by Anonymous Coward · · Score: 0

    Load kubuntu,
    load libreoffice,
    load freecad,
    load gimp,

    Learn them.
    Use them.

    Make money.

  39. Comment removed by account_deleted · · Score: 0

    Comment removed based on user account deletion

  40. ESP8266 by Anonymous Coward · · Score: 0

    Get a NodeMCU and the esp8266 core for Arduino IDE. Way more memory, faster, built in wifi, similar (often identical) libraries to the ones you use in Arduino.

  41. Particle Photon by Anonymous Coward · · Score: 0

    Your Tinker comment is ironic, as that is the name of their default rest app.

  42. Zynqberry by Anonymous Coward · · Score: 0

    Think of it as Raspberry Pi + FPGA (for hardware tinkering). Best of both worlds. Albeit small amount of logic (only 15K LE).
    https://shop.trenz-electronic.de/en/TE0726-03R-ZynqBerry-Zynq-7010-in-Raspberry-Pi-form-factor?number=TE0726-03R

  43. Zareason, to use/program without building HW by cboslin · · Score: 1

    Plenty of people have mentioned the Raspberry Pi and Arduino...plenty of options in the $25 - $100 range.

    This poster agrees with them, but what about those that do NOT want to build hardware, they just want to explore Linux and software....this post is for you. Read on, and note, while the starting prices of their hardware starts out low, by the time you max it out with memory, disk drives, power supplies, better Graphics cards, multiple other stuff, the price will rise. In other words, do not expect this hardware to be the cheapest, just know that it will work with an distro of Linux out of the box, period! And to be honest, they are often not much more when configured similar to what you have in the big box store...just let them know which Distro of Linux you want on it, and they will configure it for you. You spend your time learning Linux, not messing with hardware and device drivers.

    ZaReason is your Answer!

    ZaReason has been active in the open source community since their founding days and all of their hardware is built with open source in mind. No UEFI BS chips on any of their hardware. No need to purchase a Windows OS in order to wipe Windows and install a Linux Distro.

    UEFI, Unified Extensible Firmware Interface was forced on Vendors by Microsoft a long time ago. Originally they use to say it would make your computer more secure, however when you consider that the exploits it was protecting your computer against required someone to have the keys to your home, be inside, with your Linux password in order to use those exploits, well UEFI is a waste of time and is just more Vendor Lock-In by Microsoft.

    First encountered the ZaReason owners at SCaLE in Los Angeles / Pasadena, California, when it was held at the hotels near LAX, now they hold it in Pasadena. If you are into Open source and have not been to SCaLE you should check it out. The things you can learn about, often from the creator is great, especially for the price. Recommend you book a room a head and stay in the hotel where the conference is hosted...but I digress.

    Most of ZaReason's hardware starts in the $400 - $600 dollar range, but will quickly go up when you start adding their current maximum memory (32GB RAM) and if you add 6TB hard drives, etc.... When Windows refused to allow their Operating System to address above 16GB of RAM memory, ZaReason was putting laptops together with that amount of RAM and it was all usable. One of their laptop models had the largest screen on the market at the time, 16.3 (Bright, anti-glare 17.3" LED backlit display @ 1920x1080 pixels) versus 15" from other manufacturers.

    Want to create a TV wall on a 65" or larger TV in your house, Linux will let you do it, there is software that has to be configured / built in with the kernel that will let you control the processors independently of each other, say let your 2 cores control one screen, another core control another, two other cores control yet another screen, etc... and divide your 65" TV into a TV Wall of say 3 X 3 or 4 X 4 monitors. Let the internet stream music on one screen, news on a couple of others, weather on another, you can program on four of the others and show social media on yet other screens of your TV Wall....I plan to do this in the next couple of years...software was available back in 2010 or before.

    Boy will I cut the cord....can't wait and will never look back...if only I had Google Fiber in my area!

    Full disclosure, I do not work at the company, but have purchased two laptops, a desktop/ser