Hacker News new | past | comments | ask | show | jobs | submit login

The hardest part is probably going to be power. A lot of the rest is just wiring up a bunch of components, which is complicated but not electronics-heavy. Datasheets are your friend.

My first suggestion is to get a microcontroller like a PIC and design a circuit board for something simple. Something like the SpiffChorder (http://chorder.cs.vassar.edu/spiffchorder/hardware), which acts as a USB chording keyboard with about a dozen components, might be a good start. Eagle is free for small boards.

The biggest hurdle here is probably getting your boards made--it'll be expensive and slow compared to everything else you're doing.




> The biggest hurdle here is probably getting your boards made--it'll be expensive and slow compared to everything else you're doing.

I guess it's a relative thing but compared to what it used to be I don't think getting PCBs made these days is expensive or particularly slow. (Well, slow is a couple of weeks compared to seconds for a compile cycle I guess...)

A few months ago I got two simple board designs fabricated at a couple of online PCB manufacturers and it cost under $20 per order with around two weeks for delivery from each vendor--for between three and ten copies of each design.

These are my notes on the experience:

http://www.labradoc.com/i/follower/p/notes-seeedstudio-fusio...

http://www.labradoc.com/i/follower/p/notes-osh-park-pcb-kica...


It sounds like you're trying to preach to a choir but talking to a de-converted atheist. :) Thanks for the link, though!

I've worked with embedded systems before, so it's not totally foreign to me.

But now, instead of programming a SoC or a board -- I want to MAKE the board! :D

I have a concept of how power would fit into an engineering system, but I mean

* How do I do board layout?

* How do I know which components to put on a board?

* How do I know what components go where?

* How do I test the system I want to build.


* How do I do board layout?

You learn an EDA tool such as Eagle, pick a board vendor, and produce a design that meets the board vendor's specifications. You submit an order, and get boards in the mail. It's like designing and getting custom t-shirts made, expect much more involved.

* How do I know which components to put on a board?

Mostly datasheets. Once you identify your subsystems (I want this micro, that USB interface, this video chip) you get the datasheets and read them to learn how to design the schematic for that part. How do you pick what micro or USB chip? I start by browsing hobbyist websites to see what is popular and digikey to see what meets my specs and is cheap.

* How do I know what components go where?

On a hobbyist board running in the kHz range? They mostly go where they fit. There are no rules, just guidelines- group things by how they connect, so you have less wire everywhere. Rats-nests are hard to design and debug, and component placement is the #1 way to fight rats-nest. Put central components (like the microcontroller) in the center. Put ports on the edge of the board. Put the USB chip next to the USB port.

* How do I test the system I want to build.

You build it. There's no simulation. You build it, and if things are wrong you figure out why with a multimeter and maybe an oscilloscope.


You can try breadboarding if you have a simple through-hole circuit. If things are SMD-only, you'll have more trouble.


I've been looking for a way to get around this for some ADC chips I'd like to use in a one-off. Proto-vantage SMD-to-DIP boards look great for that, if slightly spendy; Radioshack even sells a few varieties.


Power hard - how? It gets regulated 5V via Micro USB.


The power distribution on a board is essential to it running properly. The 5v needs to go into 3.3v and probably 1.2-1.8v as well. You need to make sure that any loads on the power net won't cause a momentary voltage drop below any component's tolerance. You also want to make sure that the components on the far end of the board will receive the same voltage that everything else is receiving. Next you want to make sure that any digital chips won't inject noise on the line and have their own power reserve via decoupling caps. These capacitors need to be speced out to block specific frequencies and placed accordingly. Also, grounding is super important to consider as you want to have a stable "0V" reference (for digital only designs this means having a dedicated ground plane, mixed analog and digital can have separate ground planes).

Now, for most hobbyist designs the rule of thumb is use a simple LDO and the recommended input/output caps (1-10uF) for it and use wide traces to route the power in a star like fashion. Also put a 100nF capacitor next to each power pin for noise and to serve as a power reserve.

More complicated circuits / circuits that will need to go through FCC will require more complicated power distributions. Most professional boards (with high frequency signals on it) that will meet FCC will be 4+ layers, with a dedicated ground and power planes. A PCB I just designed with an FPGA on it had something like 50 capacitors for just the 1 chip, with physical size requirements for each type (the smallest capacitors were 1mm x 0.5mm to block the highest frequency noise, anything bigger won't be as effective).

Don't let this deter you however, looking back on my first schematic/PCB designs I'm amazed at how much better I've gotten. Microcontroller designs with a few chips are very, very lenient. If you mess something up it will likely still work, but your performance won't be as good (i.e. if you use a built in ADC it may not be as accurate, or you might not be able to reliable run it at it's max clock speed)


I forgot about that part, I was thinking back to my experiences at a hardware startup. The battery circuitry was only a small portion of the board, but it was the most complicated electrically.


Yeah, in the simplest case you can battery power a pi with one of those rechargable battery-pack usb chargers meant for cellphones. Those require absolutely zero technical skill, start around $20, and it looks like they can power a pi from a few hours to more than 10.




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

Search: