Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: I want to learn how to prototype hardware. Where do I start?
108 points by allsystemsgo on Jan 19, 2014 | hide | past | web | favorite | 36 comments
I'm an iOS developer. I'm decent and have launched a couple of apps. With bluetooth LE and multipeer connectivity, I am very interested in learning about building a hardware device that pairs with my iPhone. Where can I go to learn more about prototyping?

This wasn't too bad of a read:


But, if you're not talking discrete components and just want something to act as more of a controller, these boards are pretty friendly:

http://beagleboard.org/ (slightly more advanced embedded controller)

http://arduino.cc/ (pretty basic and awesome community)

http://www.raspberrypi.org/ (never played with one, but another popular option)




You might want to come out to a SFHN event (https://www.facebook.com/groups/gosfhn/)

and Hackendo (http://hackendo.techendo.co/)

If you stick with digital hardware and interfaces, the materials everyone else has suggested are pretty useful. The TI MSP430 is a nice, cheap microcontroller and they offer something called a "Launchpad" which used to sell for $4.30. It is one of the workhorses of engineering design, and there are legions of websites about it.

Check out sparkfun.com for parts. They have lots of stuff and most of what they sell is accessible to the programmer type. They will have micros and BLE components and whatever else you may be interested in, and a bunch of nonprofessionals are using them and talking to each other about how to use them.

You can probably find an EE friend who would work with you if you're good. In that case you might be able to combine strengths and build something awesome. I know you want to prototype right now but if you get to a "good idea" you'll want someone who knows how to build hardware.

The MSP430 Launchpads are great (we give them away at school events). Also, if you're interested in the MSP430 architecture, we've got one online for you to play with:


The Tiva C Launchpad is about ten bucks and there's a course starting on EdX next week that uses it.

It's not an MSP430 (it's an ARM Cortex), but still it's great that TI pumps out these low cost boards for newbie electrical engineers.


My community college offers electronics courses. I've taken only one to date but I feel like it really helped me learn basic EE skills better than a book or online tutorial did. It also helps that they have a proper space setup to tinker and a budget to hand out basic components. My suggestion would be to see if your local CC does the same.

I just got into Bluetooth LE as an Android developer. My school background is in embedded devices, so I wanted to see what's out there that I can program on the device side, and then connect to the phone.

There are two comparable offerings for Bluetooth LE chips (are there others? let me know): the Texas Instruments CC2541, and the Nordic Semi nRF51822. They can be purchased as development kits for $100, but the chips only cost $2-3 in larger quantities, so you could take something based on them to production without the cost being prohibitive.

I like the TI SensorTag (CC2541 based, $25). It comes with several sensors a coin cell battery, and iOS sample code, which is neat. http://www.ti.com/tool/cc2541dk-sensor

On the other hand, if you wanted to program the bluetooth device itself, the CC2541 isn't ideal. It's based on the 8-bit Intel 8051 micro controller, and TI's radio libraries only work with the very expensive and crappy IAR tool set. I bought their development kit for $100 before realizing that it's worthless without the $3000 IAR IDE :|

The Nordic Semi nRF51822 development kit is much better. Their chip is based on the ARM Cortex M0, so you get a tiny 32-bit processor. It comes with a programmable USB dongle that can be used right away, as well as a J-Link Lite CortexM-9, which can download code and do full GDB debugging on the device. You may need to be comfortable looking at schematics to figure out the other two included demo boards, however. http://www.nordicsemi.com/eng/Products/Bluetooth-R-low-energ...

If anyone knows of any other Bluetooth LE chip offerings, please let me know (I've read that Broadcom has 'announced' several chips, but I didn't see anything concrete that's shipping at the moment). The Bluegiga modules are too integrated for me, and too expensive to sprinkle them around the house for random sensing/controlling projects, but they may be easier to get started with as well.

Remember, too, that another recent iOS 7 device can also run as a BTLE "client" and pair: that's how testing iBeacons works.

You can pick up an iPod Touch and write an app for it that uses the Touch's sensors to do what your custom hardware could do, to get further than you might if you had to start from hardware alone. Additionally, integrating new sensors into the Touch could be done more simply via the headphone jack using an Arduino: http://www.creativedistraction.com/demos/sensor-data-to-ipho... or using Project HiJack: http://web.eecs.umich.edu/~prabal/projects/hijack/

Once you've got a version using an iPod Touch and a custom sensor working, you'd have a complete test case and prototype to develop original hardware against.

I wasn't aware of iBeacon, thanks for the tip!

Do you (or anyone else) know a decent Bluetooth dongle that works on Windows 7 and will find and pair with LE devices?

I picked one up last week before a local hackfest, but in a room of a half-dozen BLE devices (one about 10 inches away) my laptop detected zero.

Could very well be I was doing something wrong but it seems there shouldn't have to be a whole lot to do after plugging it in and loading the drivers.

I think I just got the wrong thing. (It's a Kinivo BTD-400 Bluetooth 4.0 USB adapter.)

OReilly has a book "Building iPhone and iPad Electronic Projects Real-World Arduino, Sensor, and Bluetooth Low Energy Apps in techBASIC" http://shop.oreilly.com/product/0636920029281.do

you can learn about techBASIC at http://www.byteworks.us/Byte_Works/techBASIC.html

they claim on their website that techBASIC apps can be sold through Apple.

Other people have given you this advice already: Play around with an arduino for a while until you get comfortable with the hardware/software interface. If you're looking to incorporate sensors, get a few breakout boards from sparkfun (doesn't really matter what sensors) - one that you read as a voltage level from the ADC (analog to digital converter), and one that uses I2C, SPI, or another serial interface.

On the Bluetooth LE side, you CAN get a shield that sits on top of your Arduino, but it'll be bulky and power hungry. There's a company called Bluegiga that makes a BLE stack called the BLE112. Basically, it's an arduino and a BLE module in a package the size of a postage stamp. Not something you'd want to go into production with (doesn't get much below $15, regardless of quantity), but you can run it off of a coin cell battery for years, and it's got all the serial and analog interfaces you'd expect. You can get a breakout board for around $50 assembled - google 'ble112 breakout inmojo'.

Good luck! Build cool stuff.

Arduino is easy to start with and can go pretty far. If you are specifically interested in Bluetooth LE, there are a couple of BLE prototyping board that are Arduino-compatible: - http://bleduino.cc - http://www.rfduino.com - http://redbearlab.com/blemini/

I am shocked that no one has recommended Contextual Electronics yet.

Dave Jones runs the best EE video blog on YouTube (EEVBlog), which also has an excellent forum associated with it. He co-hosts an EE podcast called the Amp Hour with Chris Gammell. Chris Gammell has been putting together a video course on learning how to make hardware for about 6 months now, and session 1A starts tomorrow (the 20th). I highly recommend you sign up (I did!). Check out some of his YouTube videos to see if you think you'd like it (search for Contextual Electronics).

I love the Teensy: http://www.pjrc.com/teensy/teensy31.html - same environment, but quite a bit more power than an Arduino.

Mentioned one other place here, but I'm running class called Contextual Electronics. You can choose your level of involvement. It covers PCB design and electronics design principles, leading up to building this: contextualelectronics.com/the-benchbudee/

So I suppose it depends about your definition of prototyping. If you want to do breadboarding stuff, a lot of the other suggestions on here are good: start with Fritzing -> Get an Arduino -> check out the tutorials from Adafruit/Sparkfun -> Dig in more with EEVblog and AfroTechMods

But then after that, if you want to design/build your own hardware, I recommend my program (duh) or checking out other PCB type stuff from Jeremy Blum using EAGLE (http://www.youtube.com/playlist?list=PL2419BD818ADB11E1) or Fedevel academy (http://www.fedevel.com/)

Good luck!

If your city has one, I've found Hackerspaces are a great way to find a community to learn from for this kind of thing.

I've found http://fritzing.org/home/ really useful.

edX Embedded Systems course starts this week [Jan 22].


http://www.youtube.com/user/EEVblog - this Aussie has some pretty cool tutorial videos/community. He talks on a pretty high level so it can be hard to follow but I prefer that.

http://www.youtube.com/user/jeriellsworth - she hasn't made much recently due to here kickstarter VR project. Good explanations though.

I have a similar background to yours. I program Java professionally and have iOS and web apps as side projects.

I think the first three website you may want to go to for getting familiar with the quick prototyping platforms like Arduino and Beaglebone are:

(1) http://learn.adafruit.com (2) https://www.sparkfun.com/tutorials (3) http://bildr.org/

The advantage of (1) and (2) is you can quickly order parts right from their site without having to search them at different places yourself. If your goal is to eventually have a PCB house make the board, you may want to check out ladyada's comprehensive review on PCB manufacturer at http://www.ladyada.net/library/pcb/manufacturers.html. Also Sparkfun has a series of very insightful tutorials on SMD soldering. For (3) I personally highly recommend it for its component oriented tutorials even though it doesn't seem to add new articles anymore.

I think the quickest way to get yourself the skills is to set a goal. Create a wish list of functions that the device must have. Then read or watch only the relevant tutorials. If you have a specific goal, then the above mentioned websites should work very well for you.

To share my experience, I was able to design my own schematic and board on KiCAD, program the firmware, and have the PCB factory make a fully functional prototype that works with iPhone, with these resources in 24 weekends.

http://fritzing.org/home/ I've found extremely useful.

Really good course to get into hardware prototyping: https://www.edx.org/course/utaustinx/utaustinx-ut-6-01x-embe...

Pairing with an iPhone may be an issue for anything which is not an audio device. Apple requires all non-audio devices to have certain 'authentication' hardware which is only available to MFi-licensed developers. My information may be out of date, but please do check this out before you invest too much effort in this, as it may be very difficult. I went through MFi, but ended up developing for Android.

As you guessed, this information is out of date. Bluetooth LE hardware doesn't require MFi certification.

Developing BLE devices in iOS does not require any MFI licensing whatsoever.

Get an Arduino and a Bluetooth shield. <$100, let's you prototype away. Not the tiniest platform around, but still fits in a roomy pocket.

You might be interested in "Fundamentals of Electrical Engineering" and related "Laboratory" course that start today on Coursera:



It looks a little late to start the lab on this round. You have to order equipment, which takes a while to arrive. And you have to use Matlab, and they give you a license which only lasts until the course ends. They say Octave won't work.

Laboratory starts 27th and the kit arrived in 1 week, so there is a good chance. The videos were posted just today, I haven't started either. The kit costs more if you are from EU. If you start this week you should be alright. I don't plan to do anything until Friday anyway. Also laboratory is not required for first course so you can just jump in.

I would recommend the Aduino forums http://forum.arduino.cc/

If what something even smaller you can try out the TinyCircuits that I work for: http://tiny-circuits.com/

Those use the same hardware as an Arduino uno. calvinthedestroyer

Take a look at http://mbed.org/

The supported chips are pretty powerful and a Bluetooth dongle is available.

The development boards start at about $12 but can go up to $100. The bare chips from NXP themselves are $6.

The LandTiger board even has a 320x240 pixel LCD touch screen display and is < $100.

Amazing really.

I'd say look into TI's sensor tag. http://www.ti.com/tool/cc2541dk-sensor

I went to Codemash this year and a gentleman had some interesting BluetoothLE demos on Android.

Do a YouTube search on afrotechmods. The person who makes those videos is simply amazing. I have learned a tremendous amount.

I'd also recommend getting an Arduino and building projects with it.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact