Hardware Development: From Idea To Device

Now it is much easier to find funding for your project, startup-meetups are held, and crowdfunding platforms are full of new products. Arduino brought dreamers closer to their cherished glory. IoT technologies took their toll and IT firms realized that it is not possible to live by a single coding. It is not uncommon for a hardware project to be run by people who are somewhat distant from electronics. And even more often, they think that the lifecycle of a Software project is similar to the lifecycle of a Hardware project. Unfortunately, this is not the case.

The organization of the Hardware development process is a very important point. An error at any stage can cost many resources and the price can be prohibitively high. When creating a material object, it is not possible to release a new version every day. Design is the most difficult stage of development and it will be discussed later.

Note: here we are talking about a simple lifecycle, from an idea to a piece of hardware, but not to a sale. Why so? Projects of varying complexity can go through many stages before the sale: search for an investor, if there is no investor, legal routine, prototype, layout, device, debugging, development of debugging stands (which may be even more difficult), certification, serial device.

PCB – printed circuit board;

TP – technical project;

BOM – bill of materials or list of elements.

Project Lifecycle

 

  • Drawing up the TP (General concept, functions, development of potential solutions, comparison with deadlines);
  • Development of an approximate concept (pictures for bosses/sponsors);
  • Creating Gantt charts/schedules/deadlines;
  • Approving tasks with the team;
  • Development of PCB + writing a program for MK;
  • Drawing the case (according to the approved 3D model) + PP the ordering and purchase of components for PP;
  • Installation of PCB + manufacturing of the case;
  • Debugging, a lot of debugging, a lot of debugging;
  • Testing;
  • Photos/press releases/tears.

 

Team

A good team is an integral part of the project. Since you have to work with different people and integrate into projects at different stages, then the “hardware project lifecycle” was described. In electronics, there are different specialists: a circuit engineer, a PCB-design engineer, a software engineer (low-level, i.e. microcontrollers, microprocessors, FPGAs), a process engineer, a technical designer, an installer, and a technical part Manager or Technical Director. There is such a category as Embedder – a specialist who calculates the scheme, designs, programs, soldering. There is often an opinion among customers that you need to hire a person who will do everything, but the division of processes is the best position and you should not blame everything on one person, especially if we are talking about a startup when you need to fit into a tight time frame and do a lot of work.

Naturally, they started arguing with colleagues about this. They say that startups do not have a lot of money, but in our opinion, the amount of money is not the concern of an engineer or technical Director. If you want one person, they will have to work day and night, and for this, you need to pay very well (it is cheaper to hire assistants for them). Also, such work may be interesting for a while, but then it may just start to burn out. The specialist throws everything and goes into the sunset, and the boss burns and burns.

 

Not so long ago I was asked how a team is formed for a project of different complexity. It depends on many factors: deadlines, financial constraints, initial data (e.g. previous developments), what you need to get at the output (prototype, layout, beautiful layout, device, serial version, etc.) and from the lead project. For a simple project, such as a driver for a certain led thing, one Embedder may be enough (calculated the scheme, traced, soldered, programmed, and in production). There was a medical project with a staff: a leader, an embedder for the main unit and the power transmission unit, a low-level programmer for working with information transfer, a high-level programmer (software for PC and phone), a near-engineer for small work (at that distant moment I was) such as drawing a library of components for CAD, documentation, and theory. calculations, a separate logistician (he was engaged in purchasing and supply control), a technologist, and a technical designer. But this is taking into account the fact that there were previous versions of the device, the specialists who developed them, deadlines moved many times, debugging and testing on live samples (no one was injured). There was a lot of work, but no one could imagine at the initial stage HOW much, although there was a lot of experience and experience.

For the project of wearable devices, I need a PCB designer who also deals with logistics, an embedder for calculations and programming, installation at a firm or private person. Accordingly, the top Software/design is taken over by the customer (or a person is being found under the contract).

Why doesn’t it make sense to blame everything on one person/yourself? Of course, if you spend all day doing nothing and you have one customer who is not burning deadlines, then do it. BUT if there are a lot of projects and a person values their time and money, it is more rational to delegate tasks to others. For example, I can do MK programming myself, but I will take longer to figure it out than a software engineer (because I work better with PCB design) and I will lose more than I get if I break deadlines and get fined (for example), or I may lose a client altogether.

In any case, I think that this experience is formed only in the course of work. It is also interesting to hear your opinion on this in the comments.

Organizational Issues

In order not to be like this, you need to clearly and strongly plan everything.

  1. Drawing up the TP (General concept, functions, development of potential solutions, comparison with deadlines). There are many jokes on the subject of “what TP — this is the solution”, but once again do not neglect the reminder. The more detailed the TP, the fewer surprises will occur along the way. It is not necessary to understand electronics, but it is more than enough to describe what the device should do, what approximate dimensions, special components, budget, and deadlines. If the engineers are a separate team, you can make a commercial offer where the engineers will describe your technical specifications (not for free, of course, because this is already a serious job):
  • the method of implementation, for example, it can be a full-sized layout with subsequent modifications to create a prototype, or just a prototype (and this also happens, but I do not recommend it);
  • output products (you can just give a working device, or you can also give diagrams/drawings/Assembly documentation);
  • the list of tasks usually describes the project lifecycle;
  • technical requirements for the device;
  • pricing terms and payment.

Special greetings to those who like not to explain the task properly, but ask to calculate the cost. This is a stupid idea because a preliminary estimate does not guarantee that you can fit in this amount;


2. Development of an approximate concept (pictures for bosses/sponsors). Most often, this is a hastily selected element base and thrown on a printed circuit board to get a 3D model, try it on in the case, and please the boss. But this is only an approximate model, in 90% of cases something can go wrong (there are no necessary battery sizes, for example, or when tracing just does not fit into these dimensions and you need to increase by a couple of mm, or everything went too well and the fee can be reduced);

3. Development of Gantt charts/schedules/deadlines. One of the most important points. The engineer needs to evaluate the timing and scope of tasks in a complex. There are intermediate stages of demonstrating the results, and they also need to be announced so that there are no surprises. It is necessary to lay down risks. For example, one important item is traveling from abroad, paid for urgent delivery, but it was delayed somewhere. Besides, we all know that if there is no deadline, then all this is done without any enthusiasm, sluggish, long, and tedious;

4. Approving tasks with the team. Everything is planned, drawn up, once again we review the schedules and tasks, discuss controversial points, sign/do not sign the papers, and start working.

 

The Life Cycle of PCB Development

  1. Selection of the element base (which components will be based on). We analyze prices, availability, and delivery times. The selection is performed in dynamic mode along with the creation of the schema. The choice of the element base is based on the electrical circuit principle taking into account the conditions and requirements set out in the TP;
  2. Drawing components. A graphical symbol, a seat, a 3D model, and parameters are the components of any component. Different engineers manage their libraries differently, and some use ready-made libraries. For me, the rule is meticulous drawing. The 3D model of the component allows you not only to roll out the 3D model of the board later but also to check the correctness of the seat. There are different seats for different technologies. Different parameters (even if the nominal value is just different) — different components. This eliminates a lot of manual editing errors;
  3. The creation of the schema. Just as there are rules for writing readable code, there are rules for creating a readable schema. The circuit can be divided into blocks, sign them, and place them along the path of current flow. Specify pins that can be swapped. The more detailed the diagram, the fewer questions there are when tracing. If the device consists of several printed circuit boards, it is much more convenient to conduct each circuit separately, but then you must create an Assembly diagram indicating how the boards are connected. However, all this is described in the standards;
  4. Approving the scheme. Once again, we check the element base, calculations, and limits. It is better to spend an extra 5-15 minutes than to cut tracks and solder sandwiches;
  5. Edits the diagram as necessary. We made edits, approved them, and at this stage, you can roll out the BOM (list of elements) and order the key chips, which will not change for sure. Small items (resistors/capacitors/diodes etc) may change;
  6. Tracing the printed circuit board. If necessary, the scheme and element base is adjusted. It’s quite a creative process, you can trace, trace, and then score and start all over again. About avtotransservice opinion is ambiguous, all do as you see fit. Also, when tracing, it is important to take into account the production technology of the printed circuit board, because if I know what I will do where the quality does not Shine, I will not make ultra-thin tracks and small transients;
  7. Approval of a distributed inventory item;
  8. The output of the 3D model of the PCB. Honestly, all customers love models, this is a win-win option if the deadline is on the way. Also, we give the model to our designers and they adjust the case or grumble and ask you to change something;
  9. Preparation of Gerber files for PCB manufacturing. It is best to send Gerber to production. First, if you just send *.pcbdoc, you can reverse engineer it. Secondly, in this case, the manufacturer is not responsible for how they prepare Gerber, that is if you gave *.pcbdoc and they accidentally deleted some polygon/component during the “conversion”, it is not their fault. Do not be lazy, prepare Gerber, check them in special programs. It is especially important to match together with the drill;
  10. Preparation of documentation. A standard set of documentation: list of elements, specification, drawing, topology, installation documentation. It can be made according to GOST, according to foreign standards, or according to your own. If you do it your way, it is better to stick to unification, it will be easier to understand.
  • The list of elements is necessary both for purchasing and for the installer (basically, it is enough to display designator, component name, package, quantity, if available/desired value, marking). Marking is not indicated by everyone, but it simplifies the work of the installer, he does not have to think 30KOm is 303 or 304? Completeness of documentation is our everything;
  • Specification — All the components included in the product, here is also marked the documentation included in this product: Assembly drawing of the printed circuit board, electrical circuit diagram, list of elements;
  • The scheme — this can be a dimensional drawing or an Assembly drawing. It can be useful for checking the PP after production or for updating the purchased case;
  • Topology — needed for checking the Board. If the Board is small or has a lot of components, it is best to check whether everything is correct, whether the manufacturer made a mistake somewhere;
  • Installation documentation — a contour image of the product, as well as data necessary for its installation (installation) at the place of use. It includes a circuit board outline, topology, component image (top view), marking, designation, sometimes side view or cross-section, if the installation is complex. Do not forget about the keys on the components, this is also very important so that the installer does not throw tantrums later. Left somehow my first Board for installation with my first documentation and then flies into the office woman shouting “Where is the plus and minutes of the diode?”. Or the customer himself soldered everything, complained that nothing works, sent a photo, and the controller is not soldered.

11. Approval of documentation

 

Writing a lower-level program

The software lifecycle depends on the project specifics, but mostly everything follows a template:

  1. Requirements analysis;
  2. Development of algorithms (creation of program logic);
  3. Writing source code;
  4. Compilation;
  5. Testing and debugging (a lot of debugging);
  6. Documentation.

It is worth adding that the development of lower-level software and upper-level software is different because everything is very, very dependent on hardware. Non-soldering, the quality of the board, components, the phase of the moon, and anything else can affect the correctness of the program, which is why a software engineer is still an engineer, he also has to poke the board with a soldering iron in addition to tapping on the keyboard.

 

The first principle of the programmer:

Write the code as if it will be accompanied by a violent psychopath who knows where you live. 

Seriously, do to your programmers whatever you want, but they must maintain documentation. He was suddenly offered a better place, or a cyclist ran over — that’s all. To understand someone else’s code, without comments, without an algorithm — an unbearable pain, it’s easier to write everything from scratch (and this is time and money).

Programmer, remember about karma, pass the project without comments, and one day you will get into the same one!

 

Drawing the Case

We work together with the technical designer at the tracing stage because you need to confirm that the board is satisfied and becomes available before sending it to production. If the software allows it, it is most convenient to roll out the 3D model of the printed circuit board. The designers’ nuances, but also need to consider what material will the hull, what method he will be (if serial, you can make a mold or 3D printing for layout), or it will be bought and ready just to be finished.

 

Why the Cycle?

I call all this a cycle because this series of tasks (circuit, board, case, program) is an integral part of the product. Sometimes, to reach the finish point “product”, this chain of tasks must be completed several times. Even within the “series”, everything is also cyclical. When developing a circuit, you go back to the element base again and again; from the Board to the circuit; from the case to the board. And back and forth. This is probably like a web, a change in one node sometimes leads to changes in many others. That’s why I use this term. If true engineers call it something else, write it and I’ll correct it.

 

Production

The organization of production is also an important part, especially if you do not have your shop. For everything about everything (the organization, not the production itself), it is better to allocate ~a month, then we explain why.

When the approved scheme has appeared, it’s time to start buying components, because not everything is available. As long as the fee is not spent, you can easily make changes. It is better to buy components from official suppliers and distributors. Of course, you can buy in China, but if it is Chinese China, then half of the chips may be defective. The same applies to purchases on private ad sites.

There are a lot of suppliers, if one of them has cheaper LEDs, it doesn’t mean that everything is cheaper (Yes, there are people who think so, and this is a comment for them). It is most effective to combine the prices and terms of different suppliers in a table. It is better to buy with a margin of 20-30% (there was a situation with 0402 transistors, which were bought end-to-end in quantity, and when soldering them with a hairdryer, they were blown).

There are also nuances with deliveries, for example, a module was required, it is only available in China, we only need a couple of dozen, but it is not profitable for suppliers to carry it (especially in this quantity) because they will spend too much money to get special documents. Because they ordered by regular mail, the terms there are very floating. Recent rakes have also taught you this: keep your finger on the pulse, call your supplier every 3-5 days, because most often they will not notify you that there are problems. The product is coming from England, promised 5-9 business days. It’s been two weeks, okay, after much confusion and attempts to make excuses, it turned out that at the time of order was not in stock (although they said that all existence, everything is OK) and he just left and will be in a week, and already need to start production. Circus-suppliers.

When the payment is distributed and verified, we issue Gerber files and send them to production. But, there is also a pitfall, there is usually a queue at the production facilities.

Manufacturers are different, some make long and high-quality, and some are fast and not very high-quality, but for a small batch of the layout is suitable. Everyone makes mistakes, ordered the boards at the best company, all according to Feng Shui, but then they come and in place of the Central pad of one of the micros (drum roll) marking (silkscreen). There was one question: how? The timing allowed us to redo them, but the next time they even managed to remove one of the polygons. There are different situations, all the risks are not taken into account, but you should be prepared for them.

Mounting. If the batches are large, it makes sense to order automated installation or if these boards will be put into production more than once. In any other case — manual installation. Enterprises are very reluctant to take on small batches because it is rather unprofitable.

If we are looking for installers on our own, it is better to ask in advance what is soldered, about complex cases (for example, transistors in the 0402 or LGA-14 case), show the installation (make sure that the person will look at it, and then once soldered two vertically and closely located resistors horizontally).

It should also be mentioned that sometimes the question of the installation method may arise at the tracing stage. For example, there is a component in the SOT-23 case, but there are two seats in the library for this case — the usual one and from NXP; for microchips, the seats can be with a rear and front meniscus.

 

Debug

This is an extremely specific stage. Sometimes you need to build entire stands for debugging, which are more expensive than the device. Another may be that the method of debugging may depend on the concept Board, for example, the device consists of 3 boards and had tested each separately, and then all in a heap, but the boss suggested all 3 boards to do one piece, and then they break. In this case, there is only one device for debugging, but then you need to spend time on three boards and a new stand, this was not profitable (simply because then only one Board needed to be modified).

If errors were detected during debugging, it is best to document them so that you do not step on the same rake in the future.

Why is it better to start a project with a layout instead of developing an experimental device/serial device right away? Because in the case of the second it is impossible to say as a board, base, or soldering.

And don’t forget about using power supplies.

 

Conclusion

Hardware development is long, expensive, and difficult, but very, very interesting, and you can write about it again and again. The main thing is not to forget the phrase “do well, it will turn out badly by itself“.

I also plan to write articles about circuit design (from the idea to the scheme, where to start, how to make calculations, what you need to know and understand? That is, for beginners), tracing (drawing components, complex Seating, life hacks, CAD tutorial), soldering and raking with production scaling, if you are interested, of course.

 

Aduk provides customer hardware and software development services

 

Already leaving? We can help you to find what you need if you provide us with your email: