Project update 8 of 10
All orders placed before June 21st have been shipped, but unfortunately four devices that did not pass QA found their way into shipping bags. Read on to get all the details and find out if your order is affected. The pick-and-place video and some production details are also included in this update.
Your devices serial’s are not associated with your order in any way, so I can’t exactly tell who’s affected, but I was able to narrow it down to shipping dates and batch numbers.
Here is an overview about the already shipped orders - including all information to identify the four affected devices:
|Devices shipped||Shipped with defect||Date||Comment|
|26 (Early-Bird)||0||2018-04-05||all good!|
|39 (Early-Bird)||2||2018-05-02||devices from batch 6 and 7|
|73||2||2018-06-07||devices from batch 13 and 16|
|55||0||2018-06-12||fixed the bug & retested all|
In addition to all of your orders, a shipment of 100 devices is now on its way to the Crowd Supply warehouse, from where the remaining (and all upcoming) orders will ship.
If you placed your order recently - and can’t wait any longer - please let me know and I’ll ship it directly from Germany.
In any case, check your serial on 13-37.org/verify. The four affected devices from batch 6,7,13 and 16 will show the status DOA (dead on arrival).
You can also just try it out by plugging it in - it won’t light on fire, but the drivers don’t like it, as it will trigger the sanity check mentioned on the campaign page:
Additionally there are some other basic sanity checks, like looking for more than 20 consecutive 1’s or 0’s.
resulting in the error:
Maximum sequence of 20 of 0's or 1's exceeded
If you see this, contact me at email@example.com and you’ll get a replacement ASAP -
To make good for it, you will get a limited special edition with an even more transparent enclosure! I received a few of these with my last order of 500 enclosures - hopefully I can get some more of those in the future.
Some do fail in reality, but overall, I was kinda surprised of the success rate. And while packing your orders, I stumbled upon a device that did not work during spot tests, so I decided to take a closer look - and identified those four already shipped devices with the same defect. I’m so sorry!
It’s quite tricky to test ten devices in parallel, that’s why I did not simply check the return code, which would have been enough to identify the failed devices.
Now I’m parsing the output of each device’s driver instance (running with —debug —no-output) to check for common failure modes.
It was a real stupid mistake not catching the worst failure-mode for an RNG: giving out long sequences of 1’s and 0’s. As explained in the campaign page, the driver actually stops when it receives such data - and the tests actually failed - but the rest of my script didn’t handle it correctly (and finally programmed the serial number..).
In update #3, I promised a test report available at the verification service, which I’m not yet able to delver on, as I have concerns of revealing too much information about your device’s behaviour.
Thus far, I’ve kept the debug output from the tests, which is how I was able to identify the affected devices at all. As soon as I work out a way to boil the test report down to a harmless number, I will delete those reports.
For now I’ve added the some lines to my test output, so I can manually check on the entropy, amplification factor (K) and the distribution of 0’s and 1’s. And, of course, I fixed the bug (which was: simply not checking for "Maximum sequence of 0’s or 1’s"), which already triggered for some devices.
There is one thing missing in the user manual - a troubleshooting section, which could help you to handle a device that does not work as expected.
So here is a table of the failure-modes I’m aware of. An error does not neccesarily mean that your device is broken, so please try the provided solutions before contacting me at firstname.lastname@example.org for a replacement.
|Device is not recognized at all||USB connection issues||Check USB connection. For Bill's Edition: clean USB pins with alcohol|
|USB read/write failed||An error in USB communication occured||This could be just a connection issue or a defect, so further testing may be required. Often it's caused by USB hubs, so try connecting it directly.|
|Maximum sequence of 20 of 0's or 1's exceeded||Just what it says - there have been more than 20 consective 1's or 0's coming from the device||In most cases, this is a hardware defect (or a simple and stupid attack)|
|NOT OK to use data||Something nasty is going on (Attack or Defect)||I'm working on instructions on how to debug this kind of error - even when you don't own a RF power sensor/spectrum analyzer. A good way to rule out attacks is to operate it in a shielded environment/add some shielding. This also occurs if there are timing issues in the USB transmission, like when running in virtual machines!|
It seems to be a good point to inform you about the two year warranty that every device comes with. And as said before, it’s not neccesarily void if you’ve opened your device for inspection. But be very careful when doing so.
I’ll also publish a video on how to open it without breaking your device. Visual damage may still occur to the enclosure - it’s definitely tamper-evident even without the serial number labels.
There’s one thing missing in the BOM listed on the campaign page: the enclosure.
It’s New Age Enclosures
P0P-140703U, which is a custom version of the publicly available
P3A-140703U, made from transparent polycarbonate instead of black/white ABS.
The USB cap is actually from a different enclosure, it’s New Age Enclosures
You can find these replacement parts available in my shop on 13-37.org soon!
Finally, here is a short production video of the LitePlacer pick-n-place in action:
It’s not perfect yet:
There is also a full-length version available, but it takes 50 minutes to place a panel of ten Infinite Noise. Make sure to turn the volume down, as it really produces infinite noise.
Here an overview of the interesting sections:
|Timecode (short version)||Playback speed||Timecode (full version)||Action|
|0:00||8x||0:00||Load nozzle #2 & measure PCB|
|0:05||8x||0:30||Place all resistors and capacitors (skipped in the short version)|
|0:35||8x||36:55||Place SW1 and SW2|
|1:10||8x||41:25||Load nozzle #3|
|1:12||8x||41:45||Place CMP and AMP|
|1:10||8x||41:25||Load nozzle #4|
|2:00||4x||47:35||Place FT240XQ USB chip|