
Ask HN: I want to learn how to prototype hardware. Where do I start? - allsystemsgo
I&#x27;m an iOS developer. I&#x27;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?
======
lowglow
_This wasn 't too bad of a read:_

[http://www.amazon.com/Electrical-Engineering-101-Third-
Editi...](http://www.amazon.com/Electrical-Engineering-101-Third-
Edition/dp/0123860016)

 _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/](http://beagleboard.org/) (slightly more advanced
embedded controller)

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

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

 _Read:_

[http://www.josetteorama.com/hardware-hacking-for-ios-
program...](http://www.josetteorama.com/hardware-hacking-for-ios-programmers/)

[https://developer.apple.com/library/ios/featuredarticles/Ext...](https://developer.apple.com/library/ios/featuredarticles/ExternalAccessoryPT/Introduction/Introduction.html)

You might want to come out to a _SFHN event_
([https://www.facebook.com/groups/gosfhn/](https://www.facebook.com/groups/gosfhn/))

and _Hackendo_ ([http://hackendo.techendo.co/](http://hackendo.techendo.co/))

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

~~~
tptacek
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:

[http://microcorruption.com](http://microcorruption.com)

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

------
dschuler
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](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...](http://www.nordicsemi.com/eng/Products/Bluetooth-R-low-
energy/nRF51822-Development-Kit)

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.

~~~
vitovito
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...](http://www.creativedistraction.com/demos/sensor-data-to-iphone-
through-the-headphone-jack-using-arduino/) or using Project HiJack:
[http://web.eecs.umich.edu/~prabal/projects/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.

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

------
nuggetsgalore
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](http://shop.oreilly.com/product/0636920029281.do)

you can learn about techBASIC at
[http://www.byteworks.us/Byte_Works/techBASIC.html](http://www.byteworks.us/Byte_Works/techBASIC.html)

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

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

------
mauricesvay
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://bleduino.cc) \-
[http://www.rfduino.com](http://www.rfduino.com) \-
[http://redbearlab.com/blemini/](http://redbearlab.com/blemini/)

------
angersock
[http://learn.adafruit.com/](http://learn.adafruit.com/)

[http://www.sparkfun.com/](http://www.sparkfun.com/)

There you go!

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

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

------
ChrisGammell
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](http://www.youtube.com/playlist?list=PL2419BD818ADB11E1))
or Fedevel academy ([http://www.fedevel.com/](http://www.fedevel.com/))

Good luck!

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

------
aghillo
I've found [http://fritzing.org/home/](http://fritzing.org/home/) really
useful.

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

[https://www.edx.org/course/utaustinx/utaustinx-
ut-6-01x-embe...](https://www.edx.org/course/utaustinx/utaustinx-
ut-6-01x-embedded-systems-1172)

------
nargella
[http://www.youtube.com/user/EEVblog](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](http://www.youtube.com/user/jeriellsworth)
\- she hasn't made much recently due to here kickstarter VR project. Good
explanations though.

------
myang
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](http://learn.adafruit.com) (2)
[https://www.sparkfun.com/tutorials](https://www.sparkfun.com/tutorials) (3)
[http://bildr.org/](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](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.

------
aghillo
[http://fritzing.org/home/](http://fritzing.org/home/) I've found extremely
useful.

------
discordance
Really good course to get into hardware prototyping:
[https://www.edx.org/course/utaustinx/utaustinx-
ut-6-01x-embe...](https://www.edx.org/course/utaustinx/utaustinx-
ut-6-01x-embedded-systems-1172)

------
seddona
[https://circuithub.com/explore](https://circuithub.com/explore) (disclaimer -
i co-founded CircuitHub)

[http://contextualelectronics.com/](http://contextualelectronics.com/)

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

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

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

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

[https://www.coursera.org/course/eefun](https://www.coursera.org/course/eefun)

[https://www.coursera.org/course/eefunlab](https://www.coursera.org/course/eefunlab)

~~~
DennisP
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.

~~~
michalu
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.

------
calvinLTD
I would recommend the Aduino forums
[http://forum.arduino.cc/](http://forum.arduino.cc/)

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

Those use the same hardware as an Arduino uno. calvinthedestroyer

------
SixSigma
Take a look at [http://mbed.org/](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.

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

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

------
superbaconman
[http://123d.circuits.io/](http://123d.circuits.io/)

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

