Werner Almesberger | 27 Jan 14:33 2015
Picon

Anelok: meanwhile, making development a little easier

1) The setup menu as a developer's playground

I put a number of development-related functions into the setup
menu, and I think it's a good place for such things in general.
Here is a screenshot:

http://downloads.qi-hardware.com/people/werner/anelok/tmp/sim-setup-20150127.png

On top, barely visible, is the right/left hand configuration. Then
there are:

- Identify: show the KL26's unique 80 bit ID, see below

- RF: show the CC2543 chip revision. This is a way to confirm that
  the chip is really here. It also checks whether rfkill is set.

- LED on/off and blink: for LED testing, mainly for simulator
  debugging, see below

- Reboot: perform a software-triggered system reset, see below

I also grew tired of always having to enter the unblocking code
and made the setup menu accessible from the login screen.

2) Simulator has LED and rfkill switch

The red dot in the screenshot is the simulated LED. It tracks LED
changes immediately, without having to go through the event loop.

The rfkill switch is toggled with "R". There is no visual feedback
(Continue reading)

Werner Almesberger | 21 Jan 17:08 2015
Picon

Anelok: next round of case parts 2/2: parts galore

With all the model fixing done, it was time to spin the mill again.
This is what came out:

Run #3:

http://downloads.qi-hardware.com/people/werner/anelok/tmp/case-2015/case-2015-run3-razed.jpg

Well, that didn't go too well. The mill almost completely ground away
the ceiling of the case. This was caused by the table of my mill
flexing in the Z direction and me pushing it down a bit too firmly when
setting up the tool position, so it came up by almost 1 mm while
milling.

Not much to be done here. But what survived of the part looks good.

Run #4:

http://downloads.qi-hardware.com/people/werner/anelok/tmp/case-2015/case-2015-run4-chiseled.jpg

This is the other extreme: about 1 mm of extra material were left at
the bottom. I had to use hammer and chisel to get this one out of the
acrylic block.

Was that me over-compensating for my previous mistake ? The inner
structure provides a first hint:

http://downloads.qi-hardware.com/people/werner/anelok/tmp/case-2015/case-2015-run4-unfinished.jpg

These islands around the rondels and at the window shouldn't be there.
Except for the (tall) bezel elements, the ceiling should be completely
(Continue reading)

Werner Almesberger | 21 Jan 14:32 2015
Picon

Anelok: next round of case parts 1/2: fixing issues

First, let's quickly review the problems of the first case. I've named
it for the CNC run number, #2 (#1 would be the MDF predecessor).

1) The wall around the PCB should be 0.8 mm but looked more like 0.5 mm.

   Measurements confirmed this. Strangely, the CAD model had it at 0.8
   mm. This turned out to be a bug in the new slicer: when flipping a
   part, I reversed the Z coordinates of all the vertical facets but had
   forgotten to also reverse the Z coordinates of the horizontal facets.
   It's rather surprising that the result still looked almost right ...

2) The thick base of the right-hand rondel (the rounded rectangle
   keeping OLED and the PCBs in place) didn't support the PCB.

   This was a genuine error in the model. Easily fixed.

3) The hole for the USB receptacle was off-center.

   This turned out to be me mistaking Python for Perl. Python copied C's
   handling of division and integers. So 3 / 2 is 1, not 1.5.

4) The large silo capacitor almost didn't make it into the capacitor
   bay.

   This was caused by the differences between 2014 and 2015 boards: in
   the 2015 board the edges are 0.5 mm further out, but most of the
   components are at the same place. I took the measurements from the
   2015 layout but my board is from 2014. The model now adjusts the
   capacitor position accordingly.

(Continue reading)

Werner Almesberger | 20 Jan 00:21 2015
Picon

Anelok: the 2015 case 2/2: first impressions

I first did a trial run for the bottom part on a piece of MDF. The
result was too fuzzy to even look much like a case, which is more or
less what I expected, but it confirmed that the basics were right
and the mill wouldn't go off and drill holes into itself.

I then went straigh to acrylic and the top part. This is what the
model looks like:
http://downloads.qi-hardware.com/people/werner/anelok/tmp/case-2015/case-2015-alpha-top.png

This kept the mill busy for some three hours, but the result looks
nice. Of the two 2014 boards (#1 and #2) I have made, #2 is in the
2014 case and #1 didn't have a case yet. You've already seen this
board in July/August:
http://downloads.qi-hardware.com/people/werner/anelok/tmp/brd1-top-0818.jpg

Now it was time to cut board #1 in half and to put it into the new
top shell. This is the result:
http://downloads.qi-hardware.com/people/werner/anelok/tmp/case-2015/case-2015-alpha-overview.jpg

As one can see, the main PCB does fit. It doesn't have a lot of
wiggle room, but that's intentional. Here is the vertical stacking:
http://downloads.qi-hardware.com/people/werner/anelok/tmp/case-2015/case-2015-alpha-stacking.jpg

The display is held laterally by a raised border and the rounded
barriers (one prominently in the foreground, the other one invisible
under the PCB in the background). It hangs loosely between PCB and
the window because I haven't put anything between PCB and display to
gently push it against the case.

Then there is a rim upon which the PCB rests. This is followed by a
(Continue reading)

Ron K. Jeffries | 19 Jan 17:52 2015
Picon

Anelok stanadalone password safe use case?

This may be a really ignorant question.
If someone wishes to store e.g. passwords in anelok but only retrieve by reading the anelok display (i.e. not having anelok pump bits into an attached vua USB or someday Bluetooth) computer... is this possible?

Ron K Jeffries
805-567-4670 mobile

On Jan 19, 2015 8:14 AM, "Werner Almesberger" <werner-SEdMjqphH88fIZOOU7Yiuw@public.gmane.orgt> wrote:
So far, I made the case design with fped, by making a 2D drawing for
each layer and use some scripts to stitching the layers together
into a 2.5D model. This worked, but there are a lot of things in
such a construction process that fped isn't really designed to be
good at, and those things were therefore quite hard to do.

As an example, there are many cut-outs, either for things that need
to pass a wall (e.g., the USB receptacle) or for things that just
need space (e.g., the battery). With a proper CAD, one would make a
simple geometric model for the cut-out (e.g., a box for USB) and
then subtract it from the rest.

With fped, I had to draw the inside of the wall to the cut-out, then
a line to the outside, and then back. Then repeat it all for the
opposite side. This doesn't sound too bad, but it also means that I
couldn't use the handy macro that drew rectangles with rounded
corners, or had to "generalize" it.

So the end result was something increasingly cryptic:
https://gitorious.org/anelok/anelok/source/case/case.fpd

The model was also woefully incomplete and I didn't look forward to
tackling the trickier bits, such as the lanyard hole and some
internal cut-outs I found to be necessary.


So I decided to give FreeCAD a try. After all, it says it's nice and
parametric, just what I need. It also has a nice sketcher that lets
you "declaratively" define geometries in no time. So far, so good.

Then came the moment when I wanted to adjust some parameter, e.g.,
the diameter of the cylinder containing the lanyard hole. It let me
do that without complaining, but then all the things that depended
on that geometry were out of sync.

To make a long story short, I don't think this mechanism is useful
for non-trivial designs. There are plans to improve this, but that's
not there yet and may take a good while.


However, there is a plan B: FreeCAD can also be scripted in Python.
The workflow would now be more similar to what I had done with fped
(edit, compile, inspect, edit, ...), but I'd still have that 3D
engine of a real CAD to do things like those pesky cut-outs for me.

This approach worked and I have the script to prove it:
https://gitorious.org/anelok/anelok/source/case/case.py

It's longer than the fped script but it also does more. E.g., there
are more case details and it also generates some components, for
easier orientation.

This is what the model for the complete case currently looks like:
http://downloads.qi-hardware.com/people/werner/anelok/tmp/anelok-case-20150114.png


What I haven't figured out yet is how to make nice automatic
measurements, like I have in fped. I could calculate points and then
place a measurement on them, but there would be no guarantee that
the calculation matches the actual geometry. Or I could pick edges
or surfaces and do measurements between them, but the process of
selecting those edges and surfaces looks a bit grueling to me.


I then had to find a way to generate toolpaths from the FreeCAD
model. FreeCAD has no toolpath generation yet (they're working on
it). Some people suggest PyCAM, but that doesn't seem to have the
ability to make the sort of precise cuts we need here. Some use
HeeksCAD, which has nice CAM support that may actually be able to do
what we need, but the workflow would be rather complicated and
error-prone.

So I wrote a slicer for 2.5D models that then produces horizontal
polygons I can feed to the tools I already used before. This is the
slicer:
http://projects.qi-hardware.com/index.php/p/cae-tools/source/tree/master/sfc/slicer.py

Driving my old tools with the new data also revealed a great number
of bugs. They're fixed now, so overall quality of my virtual toolbox
should have improved after this ordeal :)

Next: results from a first try.

- Werner

_______________________________________________
Qi Hardware Discussion List
Mail to list (members only): discussion-Vk80si+ynGqyompGagk/7iLysJ1jNyTM@public.gmane.org
Subscribe or Unsubscribe: http://lists.en.qi-hardware.com/mailman/listinfo/discussion
<div>
<p dir="ltr">This may be a really ignorant question.<br>
If someone wishes to store e.g. passwords in anelok but only retrieve by reading the anelok display (i.e. not having anelok pump bits into an attached vua USB or someday Bluetooth) computer... is this possible?</p>
<p dir="ltr">Ron K Jeffries<br>
805-567-4670 mobile</p>
<div class="gmail_quote">On Jan 19, 2015 8:14 AM, "Werner Almesberger" &lt;<a href="mailto:werner@...">werner@...t</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote">So far, I made the case design with fped, by making a 2D drawing for<br>
each layer and use some scripts to stitching the layers together<br>
into a 2.5D model. This worked, but there are a lot of things in<br>
such a construction process that fped isn't really designed to be<br>
good at, and those things were therefore quite hard to do.<br><br>
As an example, there are many cut-outs, either for things that need<br>
to pass a wall (e.g., the USB receptacle) or for things that just<br>
need space (e.g., the battery). With a proper CAD, one would make a<br>
simple geometric model for the cut-out (e.g., a box for USB) and<br>
then subtract it from the rest.<br><br>
With fped, I had to draw the inside of the wall to the cut-out, then<br>
a line to the outside, and then back. Then repeat it all for the<br>
opposite side. This doesn't sound too bad, but it also means that I<br>
couldn't use the handy macro that drew rectangles with rounded<br>
corners, or had to "generalize" it.<br><br>
So the end result was something increasingly cryptic:<br><a href="https://gitorious.org/anelok/anelok/source/case/case.fpd" target="_blank">https://gitorious.org/anelok/anelok/source/case/case.fpd</a><br><br>
The model was also woefully incomplete and I didn't look forward to<br>
tackling the trickier bits, such as the lanyard hole and some<br>
internal cut-outs I found to be necessary.<br><br><br>
So I decided to give FreeCAD a try. After all, it says it's nice and<br>
parametric, just what I need. It also has a nice sketcher that lets<br>
you "declaratively" define geometries in no time. So far, so good.<br><br>
Then came the moment when I wanted to adjust some parameter, e.g.,<br>
the diameter of the cylinder containing the lanyard hole. It let me<br>
do that without complaining, but then all the things that depended<br>
on that geometry were out of sync.<br><br>
To make a long story short, I don't think this mechanism is useful<br>
for non-trivial designs. There are plans to improve this, but that's<br>
not there yet and may take a good while.<br><br><br>
However, there is a plan B: FreeCAD can also be scripted in Python.<br>
The workflow would now be more similar to what I had done with fped<br>
(edit, compile, inspect, edit, ...), but I'd still have that 3D<br>
engine of a real CAD to do things like those pesky cut-outs for me.<br><br>
This approach worked and I have the script to prove it:<br><a href="https://gitorious.org/anelok/anelok/source/case/case.py" target="_blank">https://gitorious.org/anelok/anelok/source/case/case.py</a><br><br>
It's longer than the fped script but it also does more. E.g., there<br>
are more case details and it also generates some components, for<br>
easier orientation.<br><br>
This is what the model for the complete case currently looks like:<br><a href="http://downloads.qi-hardware.com/people/werner/anelok/tmp/anelok-case-20150114.png" target="_blank">http://downloads.qi-hardware.com/people/werner/anelok/tmp/anelok-case-20150114.png</a><br><br><br>
What I haven't figured out yet is how to make nice automatic<br>
measurements, like I have in fped. I could calculate points and then<br>
place a measurement on them, but there would be no guarantee that<br>
the calculation matches the actual geometry. Or I could pick edges<br>
or surfaces and do measurements between them, but the process of<br>
selecting those edges and surfaces looks a bit grueling to me.<br><br><br>
I then had to find a way to generate toolpaths from the FreeCAD<br>
model. FreeCAD has no toolpath generation yet (they're working on<br>
it). Some people suggest PyCAM, but that doesn't seem to have the<br>
ability to make the sort of precise cuts we need here. Some use<br>
HeeksCAD, which has nice CAM support that may actually be able to do<br>
what we need, but the workflow would be rather complicated and<br>
error-prone.<br><br>
So I wrote a slicer for 2.5D models that then produces horizontal<br>
polygons I can feed to the tools I already used before. This is the<br>
slicer:<br><a href="http://projects.qi-hardware.com/index.php/p/cae-tools/source/tree/master/sfc/slicer.py" target="_blank">http://projects.qi-hardware.com/index.php/p/cae-tools/source/tree/master/sfc/slicer.py</a><br><br>
Driving my old tools with the new data also revealed a great number<br>
of bugs. They're fixed now, so overall quality of my virtual toolbox<br>
should have improved after this ordeal :)<br><br>
Next: results from a first try.<br><br>
- Werner<br><br>
_______________________________________________<br>
Qi Hardware Discussion List<br>
Mail to list (members only): <a href="mailto:discussion@...are.com">discussion@...</a><br>
Subscribe or Unsubscribe: <a href="http://lists.en.qi-hardware.com/mailman/listinfo/discussion" target="_blank">http://lists.en.qi-hardware.com/mailman/listinfo/discussion</a><br>
</blockquote>
</div>
</div>
Werner Almesberger | 19 Jan 17:14 2015
Picon

Anelok: the 2015 case 1/2: background

So far, I made the case design with fped, by making a 2D drawing for
each layer and use some scripts to stitching the layers together
into a 2.5D model. This worked, but there are a lot of things in
such a construction process that fped isn't really designed to be
good at, and those things were therefore quite hard to do.

As an example, there are many cut-outs, either for things that need
to pass a wall (e.g., the USB receptacle) or for things that just
need space (e.g., the battery). With a proper CAD, one would make a
simple geometric model for the cut-out (e.g., a box for USB) and
then subtract it from the rest.

With fped, I had to draw the inside of the wall to the cut-out, then
a line to the outside, and then back. Then repeat it all for the
opposite side. This doesn't sound too bad, but it also means that I
couldn't use the handy macro that drew rectangles with rounded
corners, or had to "generalize" it.

So the end result was something increasingly cryptic:
https://gitorious.org/anelok/anelok/source/case/case.fpd

The model was also woefully incomplete and I didn't look forward to
tackling the trickier bits, such as the lanyard hole and some
internal cut-outs I found to be necessary.

So I decided to give FreeCAD a try. After all, it says it's nice and
parametric, just what I need. It also has a nice sketcher that lets
you "declaratively" define geometries in no time. So far, so good.

Then came the moment when I wanted to adjust some parameter, e.g.,
the diameter of the cylinder containing the lanyard hole. It let me
do that without complaining, but then all the things that depended
on that geometry were out of sync.

To make a long story short, I don't think this mechanism is useful
for non-trivial designs. There are plans to improve this, but that's
not there yet and may take a good while.

However, there is a plan B: FreeCAD can also be scripted in Python.
The workflow would now be more similar to what I had done with fped
(edit, compile, inspect, edit, ...), but I'd still have that 3D
engine of a real CAD to do things like those pesky cut-outs for me.

This approach worked and I have the script to prove it:
https://gitorious.org/anelok/anelok/source/case/case.py

It's longer than the fped script but it also does more. E.g., there
are more case details and it also generates some components, for
easier orientation.

This is what the model for the complete case currently looks like:
http://downloads.qi-hardware.com/people/werner/anelok/tmp/anelok-case-20150114.png

What I haven't figured out yet is how to make nice automatic
measurements, like I have in fped. I could calculate points and then
place a measurement on them, but there would be no guarantee that
the calculation matches the actual geometry. Or I could pick edges
or surfaces and do measurements between them, but the process of
selecting those edges and surfaces looks a bit grueling to me.

I then had to find a way to generate toolpaths from the FreeCAD
model. FreeCAD has no toolpath generation yet (they're working on
it). Some people suggest PyCAM, but that doesn't seem to have the
ability to make the sort of precise cuts we need here. Some use
HeeksCAD, which has nice CAM support that may actually be able to do
what we need, but the workflow would be rather complicated and
error-prone.

So I wrote a slicer for 2.5D models that then produces horizontal
polygons I can feed to the tools I already used before. This is the
slicer:
http://projects.qi-hardware.com/index.php/p/cae-tools/source/tree/master/sfc/slicer.py

Driving my old tools with the new data also revealed a great number
of bugs. They're fixed now, so overall quality of my virtual toolbox
should have improved after this ordeal :)

Next: results from a first try.

- Werner

Werner Almesberger | 12 Jan 21:33 2015
Picon

Anelok: Flippin'

And here's another one:

http://downloads.qi-hardware.com/people/werner/anelok/tmp/Flip.mpeg
http://downloads.qi-hardware.com/people/werner/anelok/tmp/Flip.ogg

Again, .mpeg is better and Mplayer may dislike the .ogg.

Timeline:
00:02	Title
00:06	Anelok showing the list of accounts
00:08	Activation of the Setup (1) menu
00:12	Swap right / left handedness (2)
00:14	Rotate the device and use with the left hand
00:18	Return to the list of accounts
00:23	The end

(1) The menu shown has two global actions in it. In a more
    user-friendly UI, handedness may be selected elsewhere, and
    we'd have operations directly related to accounts in this menu.

(2) Note that the following things change:
    - display content orientation, and
    - slider orientation.

    What doesn't change is the position of the icon bar and the
    (horizontal) position of the little (vertical) position
    marker. Not sure if I should move them. Pro: they'd be
    closer to the slider, which makes sense. Contra: they may
    clutter up the left edge of the main display area.

By the way, all this also works in the simulator.

- Werner

Werner Almesberger | 12 Jan 20:16 2015
Picon

Anelok: The slide

Unfortunately this didn't make it in time for the Golden Globe,
but you may like it anyway:

http://downloads.qi-hardware.com/people/werner/anelok/tmp/slide-2015.mpeg
http://downloads.qi-hardware.com/people/werner/anelok/tmp/slide-2015.ogg

(The MPEG version is better quality. Mplayer doesn't seem to like
the .ogg version at all, but it plays fine with VLC. Encoding is
a bit bumpy today.)

Plot summary:

00:00	Opening title
00:04	Activation of Anelok
00:07	Unlock sequence
00:14	List of accounts
00:15	Tapping "up" to go up in the list, one entry per tap
00:18	Tapping "down" to go up in the list, one entry per tap
00:20	Slide to scroll with pixel resolution
00:24	The end

= Werner

Werner Almesberger | 7 Jan 02:43 2015
Picon

Anelok: BOM updated for 201501

First of all, I made some small changes to the schematics. It's
mainly explanations, but I've also relaxed the capacitance
requirements on the 32.768 kHz crystal:

http://downloads.qi-hardware.com/people/werner/anelok/tmp/anelok-20150107.pdf

Then I updated the BOM information. An example for an order quantity
of ten part sets is at the bottom of this mail. A new feature of this
BOM is that it uses the component references instead of groups. The
groups were more confusing than helpful since many parts appear in
multiple groups and the assignment then looked rather arbitrary.

This should now be usable for anyone interested in making boards of
the 2014 / 201501 version of Anelok. A daring soul may also try the
following substitutions:

- defy the oppressive standardization of the USB-IF and use a Micro B
  connector instead of Micro AB. ZX62R-B-5P or similar should work
  nicely. The "R" is important - even though the connector is mounted
  below the PCB it uses the "reverse" or "top mount" layout.

  Benefits:
  - connector is more solid

  Disadvantages:
  - some 10% more expensive (surprisingly)
  - host role detection (ID pin grounded) only works with a
    non-standard cable, e.g., the Y-cable Changchang described.

- boldly go where I haven't ventured yet and replace 0 R resistors
  R20 and R21 with beads, e.g., Samsung CIM05U601NC or Taiyo Yuden
  BK1005HS601-T

  Benefits:
  - should keep EMI and ESD out

  Disadvantages:
  - may make the capacitive slider work less well

- omit the varistors.

  Benefits:
  - less soldering work
  - fewer things to buy

  Disadvantages:
  - no ESD protection (for "lab" use that shouldn't be a major
    concern)

As usual, the shopping list below shows the order quantities that
yield the best prices. They may therefore be larger than what would
be needed to make 10 units.

- Werner

---------------------------------- cut here ----------------------------------

    10 R13       DIGI-KEY  RC1005J271CS/1276-4362-1-ND                 0.1500
                 RES SMD 270 OHM 5% 1/16W 0402
    25 C23-24    DIGI-KEY  CL05C120JB5NNNC/1276-1178-1-ND              0.2300
                 CAP CER 12PF 50V 5% NP0 0402
   100 C1,4,16,20,22,25-26
                 DIGI-KEY  CL05A104MP5NNNC/1276-1443-1-ND              0.5500
                 CAP CER 0.1UF 10V 20% X5R 0402
   100 V1-7      DIGI-KEY  EZJ-P0V080GA/P14130CT-ND                   15.0800
                 VARISTOR 8V 3A 0402
    25 R1-2      DIGI-KEY  RC1005J330CS/1276-4340-1-ND                 0.2300
                 RES SMD 33 OHM 5% 1/16W 0402
    70 C19,27,R4-6,8,16
                 ANELOK    DNP                                         0.0000
    10 U1        DIGI-KEY  MKL26Z128VFT4/MKL26Z128VFT4-ND             36.5500
                 IC MCU ARM 128KB FLASH 48QFN
    10 CON4      DIGI-KEY  1060/1060K-ND                              13.8200
                 HOLDER BATT COIN 2032 20MM SMD
    10 C21       DIGI-KEY  GRM1555C1H221JA01D/490-1293-1-ND            0.3200
                 CAP CER 220PF 50V 5% NP0 0402
    10 X1        DIGI-KEY  SC32S-12.5PF20PPM/728-1073-1-ND             5.7900
                 CRYSTAL 32.768KHZ 12.5PF
    10 C14       DIGI-KEY  CL10A475KO8NNNC/1276-1784-1-ND              2.1600
                 CAP CER 4.7UF 16V 10% X5R 0603
    10 U2        DIGI-KEY  AAT1217ICA-3.3-T1/863-1496-1-ND             4.4000
                 IC REG BOOST 3.3V 0.5A TSOT23-6
    40 ANT1,CON5-6,TP1-11
                 ANELOK    PCB                                         0.0000
    80 C3,5-6,10-13,17
                 DIGI-KEY  GRM155R60J105KE19D/490-1320-1-ND            1.5360
                 CAP CER 1UF 6.3V 10% X5R 0402
    10 R9        DIGI-KEY  RC1608J000CS/1276-3510-1-ND                 0.1000
                 RES SMD 0.0 OHM JUMPER 1/10W
    10 CON3      DIGI-KEY  101-00660-68-6/101-00660-68-6-1-ND         16.4900
                 CONN MICRO SD CARD PUSH-PUSH R/A
    30 R7,10,12  DIGI-KEY  MCR01MRTF8202/RHM82KCDCT-ND                 0.3120
                 RES SMD 82K OHM 1% 1/16W 0402
    10 L1        DIGI-KEY  CIG22L4R7MNE/1276-6213-1-ND                 3.2200
                 FIXED IND 4.7UH 1.1A 110 MOHM
    10 X2        DIGI-KEY  NX3225SA-32.000MHZ-STD-CSR-1/644-1056-1-ND  6.8500
                 CRYSTAL 32MHZ 8PF SMD
    10 B1        DIGI-KEY  2450BM15A0002E/712-1536-1-ND                8.0900
                 BALUN JTI MATCHED ZIGBEE
    10 D1        DIGI-KEY  RR264M-400TR/RR264M-400CT-ND                3.2400
                 DIODE GEN PURP 400V 0.7A PMDU
    10 R15       DIGI-KEY  MCR01MRTF5602/RHM56.0KCDCT-ND               0.1300
                 RES SMD 56K OHM 1% 1/16W 0402
    30 Q1,3,5    DIGI-KEY  DMG1013T-7/DMG1013T-7DICT-ND                6.1200
                 MOSFET P-CH SOT-523
    10 D2        DIGI-KEY  LTST-C190KRKT/160-1436-1-ND                 2.1800
                 LED SUPER RED CLEAR 0603 SMD
    10 R14       DIGI-KEY  RC1005F684CS/1276-4276-1-ND                 0.2700
                 RES SMD 680K OHM 1% 1/16W 0402
    10 C2        DIGI-KEY  JMK107BJ225KAHT/587-3386-1-ND               0.7700
                 CAP CER 2.2UF 6.3V 10% X5R 0603
    10 CON2      EASTRISING ER-OLED013-1                              53.1000
    10 CON1      DIGI-KEY  10104111-0001LF/609-4053-1-ND               7.4200
                 CONN RCPT STD MICRO USB TYPE AB
    10 U3        DIGI-KEY  CC2543RHBR/296-35579-1-ND                  45.1500
                 IC SOC 2.4GHZ RF 32QFN
    50 R3        DIGI-KEY  ERJ-2GEJ101X/P100JCT-ND                     0.6900
                 RES SMD 100 OHM 5% 1/10W 0402
    30 R17,20-21 DIGI-KEY  RC1005J000CS/1276-3480-1-ND                 0.2400
                 RES SMD 0.0 OHM JUMPER 1/16W
    10 SW1       DIGI-KEY  CUS-12TB/563-1102-1-ND                      6.8700
                 SWITCH SLIDE SPDT 300MA 4V
    10 C15       DIGI-KEY  C0603C225K4PACTU/399-7886-1-ND              1.2500
                 CAP CER 2.2UF 16V 10% X5R 0603
    25 R11,18    DIGI-KEY  RC1005J105CS/1276-4448-1-ND                 0.2700
                 RES SMD 1M OHM 5% 1/16W 0402
    30 Q2,4,6    DIGI-KEY  DMG1012T-7/DMG1012T-7DICT-ND                6.1200
                 MOSFET N-CH 20V 630MA SOT-523
    20 C9,18     DIGI-KEY  GRM31CR60J107ME39L/490-4539-1-ND           13.7800
                 CAP CER 100UF 6.3V 20% X5R 1206
    25 C7-8      DIGI-KEY  CL10B475KQ8NQNC/1276-2087-1-ND              1.3100
                 CAP CER 4.7UF 6.3V 10% X7R 0603
Total: 264.79, 26.48 each

DING Changchang | 6 Jan 09:39 2015

Tests on Y-cables

Hi, Werner

I have tested two Y-cables Xiangfu bought:

http://downloads.qi-hardware.com/people/xiangfu/anelok/y-cable/Y-cable.JPG
http://downloads.qi-hardware.com/people/xiangfu/anelok/y-cable/Y-cable-with-chip.JPG

They both have the ID pin connected to GND in USB Micro B port as the OTG host.

The first one should meet all the needs:
Works fine when connecting usb keyboard/mouse/disk on the OTG slave (the standard USB A female)
The power branch does deliver power to both slave and host, only failing in charging a Nexus5. But it can charge a Nexus4 and power up a RaspberryPi.

One problem is that the power branch has a Micro B female and is not long enough. But we can connect it with a Micro B male to Standard A male cable which is very easy to get:
http://downloads.qi-hardware.com/people/xiangfu/anelok/y-cable/Y-cable-full.JPG

The second one has a chip inside.
It cannot work properly when all three ends are in use.

Another cable Xiangfu ordered should arrive in a few days. I will test it later.


CC
<div>
    Hi, Werner<br><br>
    I have tested two Y-cables Xiangfu bought:<br><br><a class="moz-txt-link-freetext" href="http://downloads.qi-hardware.com/people/xiangfu/anelok/y-cable/Y-cable.JPG">http://downloads.qi-hardware.com/people/xiangfu/anelok/y-cable/Y-cable.JPG</a><br><a class="moz-txt-link-freetext" href="http://downloads.qi-hardware.com/people/xiangfu/anelok/y-cable/Y-cable-with-chip.JPG">http://downloads.qi-hardware.com/people/xiangfu/anelok/y-cable/Y-cable-with-chip.JPG</a><br><br>
    They both have the ID pin connected to GND in USB Micro B port as
    the OTG host.<br><br>
    The first one should meet all the needs:<br>
    Works fine when connecting usb keyboard/mouse/disk on the OTG slave
    (the standard USB A female)<br>
    The power branch does deliver power to both slave and host, only
    failing in charging a Nexus5. But it can charge a Nexus4 and power
    up a RaspberryPi.<br><br>
    One problem is that the power branch has a Micro B female and is not
    long enough. But we can connect it with a Micro B male to Standard A
    male cable which is very easy to get:<br><a class="moz-txt-link-freetext" href="http://downloads.qi-hardware.com/people/xiangfu/anelok/y-cable/Y-cable-full.JPG">http://downloads.qi-hardware.com/people/xiangfu/anelok/y-cable/Y-cable-full.JPG</a><br><br>
    The second one has a chip inside. <br>
    It cannot work properly when all three ends are in use. <br><br>
    Another cable Xiangfu ordered should arrive in a few days. I will
    test it later.<br><br><br>
    CC<br>
</div>
Werner Almesberger | 6 Jan 06:42 2015
Picon

Anelok: new circuit revision (20150106)

I finally sat down and corrected most of the errata from the 20140712
board and also made some small improvements. The highlights:

- the board is now 1 mm wider, to give the FPC on the OLED more room
  for bending,

- the rfkill switch now switches VRF between VSYS and GND instead of
  acting as "syskill" by switching VSYS between VRF and GND,

- removed copper from under the 32.768 kHz crystal, which happens to
  have a keep-out area there (I suspect that having missed this
  requirement is why the crystal on my board #2 doesn't oscillate),

- found a nicer diode to prevent reverse current into VBUS (the one I
  used so far has fairly large leakage, but it's the best I have at
  home), and

- added a small test pad to PTD1. This may become a battery sense
  input in the future. More about this later.

The updated schematics:

http://downloads.qi-hardware.com/people/werner/anelok/tmp/anelok-20150106.pdf

The layout:

http://downloads.qi-hardware.com/people/werner/anelok/tmp/anelok-20150106.png

For comparison, the previous version is here:

http://downloads.qi-hardware.com/people/werner/anelok/tmp/anelok-20140711.pdf
http://downloads.qi-hardware.com/people/werner/anelok/tmp/anelok-20140712.png

I still need to update the BOM. Also, the widening of the PCB still
has to propagate into related material, such as the case design or
the wire frame model with pop-ups.

I don't plan to make any prototypes based on this design myself but
Xiangfu has said he wants to make a few boards.

Note that the widening of the PCB will also allow growing the touch
sensor a little, and I have an idea for growing and at the same time
simplifying it even further. The 20150106 design doesn't have this
change since I still have to make a board (just the sub-board) and
test whether this works as well as I hope.

- Werner


Gmane