Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^4: I came, I saw, I ...

by afoken (Abbot)
on Jul 06, 2017 at 21:44 UTC ( #1194407=note: print w/replies, xml ) Need Help??


in reply to Re^3: I came, I saw, I ...
in thread I came, I saw, I ...

Fried a custom prototype .... Damage: About 100 €

Wow - you got off easy. I'm guessing your employer is enlightened enough to include plenty of spares in the order for prototypes. (My employer's purchasing department will only allow us to order the minimum quantity accepted by the board maker. This usually means we have only 2 or 3 spares.)

Well, yes and no.

We had exactly two prototype boards from the first generation, and we modified the hardware quite a bit while integrating the hardware and software. I remember a little "SMD Stonehenge" of four or six SMD resistors they were wrongly connected as pull-downs, not pull-ups. So our hardware expert mounted the resistors vertically, only on the pads of the signal lines, soldered a thin wire to the other ends, and connected that wire to a 3.3V pad somewhere nearby. It looked quite nice, but of course, it was a hack to get stuff working. Tons of other stuff went wrong, especially with a nasty serial bridge chip. Those boards ended in a box somewhere in the storage room, and IIRC, our hardware expert later ripped some spare parts from them to fix other boards.

The second generation of prototype boards came in a batch of 10 or 20 and had most hardware bugs from the first generation fixed. So, no more SMD stonehenge. Unlike the first generation, most of them were not mounted on scrap wood, but into prototype cases, with all peripherals. This was the first time we could do actual tests with the entire hardware, not just the electrical part. We gave some of those prototype devices to the client, so they could also do some initial testing.

Four of those quite expensive prototype devices were also used in a transport test: Put the device in its transport box, put the box in a cardbox box, and drop that from a significant height onto a concrete floor, several times per side. No mercy. The client did all of those tests in parallel with four devices, and thereby destroyed hardware costing several k€. Lesson learned, the hard way: A simple cardboard box is not sufficient, it needs some padding, and the transport box also needed some more internal padding. We would have tested with only one device at a time, but the client insisted on fast progress. Well ...

After that, we also dropped some devices, with better padding, damaged them significantly less, and learned how to improve the mechanics so it could survice the test without breaking apart. We repaired what could be repaired, then dropped the devices again. Finally we sorted the bits and pieces, including some remaining prototype case parts, into spare parts, parts for internal testing, scrap for ripping of spare parts, and junk. We build some test devices from the second quality, and still use these devices, full of scares, scratches, glue, and discolored plastic, as test devices for development. They have a few extra holes here and there, to access parts of the circuit not available on a normal device. Wires and, in one case, tubes dangle out, with switches, connectors, and extra electronics fixed to the case with velcro tape, Some other parts that serve no purpose for us, like a sticker with the client's support hotline, a carrying handle or a cover for power supply and service connectors, are usually removed from those devices, or were never mounted. Their serial numbers, usually hidden on a small sticker on the button, are written with a black marker on the front, so we can easily identify them. No customer of our client will ever see or touch those devices, and if they would see them, they would probably run away in terror. ;-)

Two of the second quality boards that survived the drop tests replaced the first prototype boards on the scrap wood. We changed some parts on the boards to fine-tune the electronics, but after that, those second generation prototypes were identical to the first series production boards.

One of the scrap wood systems was extended by a bunch of switches, wires, modified peripherals, banana jumpers for current and voltage measurement, and promoted to "test rig". With that setup, it was (and still is) possible to simulate almost all hardware problems, even the exotic ones: Broken wires, dead or broken peripherals, interrupted communication, and some more that I can't detail here.

While working with the setup, when the first few serial boards have already been mounted into serial devices, we found out that we would need some more wires patched on the board to simulate more stuff. And one of those wires touched the +24V line.

So yes, I killed a prototype board, but it was a second-generation board modified to be extremely similar to serial production boards. That's also the reason for the quite low damage: It was - except for minor details - electrically and mechanically identical to a serial production board, and it was already produced in a small series.

After all, killing the board was kind of luck, because that allowed us to "steal" a brand new second series board with a better controller and some electrical improvements, so we could test the new stuff with the new software. We kept the other scrap wood system with a first series board for compatibility tests. Actually, that's currently my main target for development. If the software works on a series one board, it will also work with a series two board. So I test on a series one board. The software still has to support the series one boards, because several customers of our client have bought devices from the first series. Until all of those "old" devices have been exchanged for new devices or have ther main board swapped for a series two board, we can not release software that runs only on series two boards.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

Replies are listed 'Best First'.
Re^5: I came, I saw, I ...
by RonW (Vicar) on Jul 06, 2017 at 22:42 UTC

    Sounds very familiar. :)

    No customer of our client will ever see or touch those devices, and if they would see them, they would probably run away in terror.

    Yes. Real life development is a lot closer to "McGiver" than the "show case" labs featured in advertisements and company tours.

    (And, in our show case lab, don't open the doors of the rack cabinets. It's not only a tangled nest of patch cables, but also an assortment of modified prototype boards providing functionality that even the vendor of the hugely expensive, LED-bejeweled hardware simulator can't figure out how to provide.)

      Real life development is a lot closer to "McGiver" than the "show case" labs featured in advertisements and company tours.

      Yes, indeed. I can play with Lego all day and get paid for it. ;-) No, really:

      We like to use Lego for quick test setups. Take a large Lego board, click a few bricks onto the board, fit a PCB, sensor, actuator, laser pointer, prototype board, eval board between the bricks. Add the next bricks, and parts. Add a few more bricks to prevent that mess from falling apart. Add wires, tubes, whatever is needed. Pad with paper or adhesive rubber feet. That works surprisingly well.

      Larger, heavy Lego parts also work well as paperweights to temporily fix pieces of printed paper with fake screenshots on a large piece packaging paper while discussing interaction between the parts. Old lego rails work incredible well to mark borders between the parts. We used exactly that on a ping-pong table to discuss how our software should work with our client. Different colors could be used for grouping, and the client asked for the meaning of the colors, but we did not use that. Colors were meaningless in that discussion. All of us, including the client, moved paper and Lego parts around until we found out how the client wanted the software to behave. We taped the paper pieces to the packing paper, replaced Lego borders with marker lines, and draw some notes onto the packing paper. That was our inofficial main document for the user interface development. We simply taped it to a long wall and looked at it whenever we needed details or had to discuss implementation variants.

      We later reused that trick to discuss interaction between parts of the software, without the client; and once again for a larger rework of the software internals.

      Alexander

      --
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)
        I can play with Lego all day and get paid for it.

        It seems I'm not the only one. A judge in Düsseldorf reconstructed a crime scene using Lego:

        Blog post (google translation), Newspaper article (google translation)

        Alexander

        --
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

        Great idea. I'll have to suggest it as an alternative for one-off test fixtures.

        (We have a prototype shop with an "industrial" 3D printer, ShopBot, drill press, jigsaw, arbor saw and radial-arm saw. The 3D printer is mostly used for "showy" prototype housings. The ShopBot mostly for milling delryn blocks for bed-of-nails fixtures. The saws and drill press are used for most other test fixtures (because is usually a lot faster than preparing the design files required by the ShopBot or 3D printer, and the 3D printer is painfully slow).

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1194407]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (8)
As of 2018-06-21 02:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?



    Results (117 votes). Check out past polls.

    Notices?