I need to design and build an embedded piece of electronics based on a PIC microcontroller.

I am assuming the process is:

  1. choose chip (PIC16F690)
  2. prototype code on PicKit breakout board
  3. prototype on breadboard with associated electronics
  4. create electronics design in software
  5. send file to electronics company to make board and install electronics (or is there a step where I solder all this onto a PCB myself?)
  6. test and order more

Does this sound about right? What are the standard (free?) circuit design software packages for 3?

  • \$\begingroup\$ Reminder: There is the option of printing a mask, using photoresist, and etching your own boards. (And, yes, populating them yourself.) Or ordering bare boards, if you don't trust yourself with that process or don't want to deal with the chemicals. (Note that in these days of maker shops, a CNC router might be another alternative for generating onesie-twosie quantities of PCBs.) I wouldn't pay someone else for assembly time until I was fairly sure the PCB was going to require no more than one or two errata wires before shipping. Preferably zero. \$\endgroup\$ – keshlam Mar 31 '14 at 15:52

The general process that you should follow is:

  1. Design concept
  2. schematics and research into alternative solutions to your first adventurous guess
  3. breadboard each circuit as a 'module' and make sure its all good. Select appropriate components for the required ratings, voltages, and operation conditions. find Bill of Materials by looking at supplier websites such as element14, RS-Online, Digikey (my favourite) and Mouser as a good start.
  4. once the electronics 'modules' are proven to work, get onto the software prototyping and how it interacts with the electronics, to prove THAT part works
  5. use some free CAD package like Eagle or DesignSpark (closer to Altium in operation) to do the schematics and component
  6. once the PCB (probably 2-sided, unless its very complicated) has been done, and all the traces routed and the design rules specified BEFORE YOU START routing, and then do a Design Rule Check to ensure no weird net issues, contact a PCB manufacturer. I use PCBCart. Get a quote, send them the design file OR a Gerber output (they will help you make one, or look online for tutorial) and pay them lots of money.
  7. now go and buy all your components,
  8. you will receive your board, solder stuff on, and mostly likely there will be something wrong if it's your first time - but that is okay! Debugging circuits is fun, and a very good learning experience. As you progress, your boards will have less errors.

good luck!

| improve this answer | |
  • \$\begingroup\$ Many Thanks, KyranF. What hardware and software would you use for programming and debugging the PIC on the breadboard? \$\endgroup\$ – user2633388 Mar 31 '14 at 10:08
  • \$\begingroup\$ @user2633388 if I have answered your question, you can select mine as the answer, if you would be so graceful.. Good luck in your prototyping adventures! \$\endgroup\$ – KyranF Mar 31 '14 at 10:09
  • \$\begingroup\$ I have not used PICs myself directly - I suggest you us the standard PIC programmer/development kit i think they call them Pickits. I have only used Texas Instruments and Atmel microcontrollers and their associated programmers and IDE. \$\endgroup\$ – KyranF Mar 31 '14 at 10:10
  • \$\begingroup\$ I would suggest reversing steps 5-6 and 7, especially for parts you've never used before. When you're making a footprint and interpreting mechanical drawings, it's nice to have the part in front of you, and it can prevent some "face-palm" moments with odd bits like connectors etc. \$\endgroup\$ – Spehro Pefhany Apr 12 '14 at 17:27
  • \$\begingroup\$ @Spe Yeah, that's true. If you have the exact parts in your schematics worked out I guess it's good to buy some test parts and your example of connectors rings true - I had SMD female pin socket strips which had legs on alternating sides, like 'pin one on left' but when the parts arrived the footprint I made was for the other style 'right pin first' haha \$\endgroup\$ – KyranF Apr 12 '14 at 22:41

I would probably swap or parallel your steps 3 and 4, but that is a detail.

For one or a few prototypes I would do the soldering myself. This avoids setup costs, and in the not unlikely case that you will have to change something on the PCB you are at leasst minimally familiar with it.

A lot depends on how many you want to produce. Below 100 (and for a small PCB) I would order just the PCBs and do the soldering myself. I have no experience with larger numbers, but a larger run will likely start with a smaller run anyway.

There are a lot of circuit+PCB design packages. I have used Eagle (not free for commercial use). They can all produce a gerber/excelon file set, which is the standard input for a PCB house. Some PCB house accept Eagle (and a few other formats) directly, which can be convenient.

| improve this answer | |
  • \$\begingroup\$ Indeed, a larger run should always be pre-empted with a small run to prove that it works. I recently did a frame containing 8 boards per panel, and had nice integrated power rails inside the frame that connect to the boards to allow all 8 to be powered for initial testing and programming. After the first panel was proven to be good, we ordered the next 13 panels to be loaded by the pick-and-place guys. Was awesome to not have to solder up 120 boards with 107 components each haha! \$\endgroup\$ – KyranF Mar 31 '14 at 9:26
  • \$\begingroup\$ Thanks again - PS any good book recommendations on this (prototype -> production)? All I got at the moment are embedded C, '50 projects with PICS' etc \$\endgroup\$ – user2633388 Mar 31 '14 at 10:27

I would also recommend you to use an hobbyist service like Osh Park or seeedstudio, instead of etching your own PCB, always design your PCB with the future in mind, like new functionalitys and access to pins that your not planning to use for now. Have fun :)

| improve this answer | |

From my (rather limited) experience:

  1. Draw schematics with sofware of your choice (Kicad is open source and free)
  2. Prototype hardware, write some firmware. You might skip this step if you are comfortable with what you are doing.
  3. Refine schematics
  4. Work on your BOM, choosing components takes a lot of time
  5. Refine schematics, refine your prototype, possibly firmware
  6. Choose the housing, think about all the mechanical constraints, inputs, outputs, user interface, you might need to change BOM, firmware and schematics again.
  7. Draw PCB, you might refine schematics for easier routing
  8. Send gerbers to PCB house
  9. Polish your firmware while waiting for boards to arrive
  10. See yourself win. If not, repeat.
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.