libera/#neo900/ Sunday, 2018-06-10

houkimeU1902, C1903 are connected to 1v8 instead of 1v8_u05:43
Joerg-Neo900right, and R1904 is totally misplaced and dangling05:49
Joerg-Neo900can you work around this for now without editing schematics?05:51
houkimecompared to changes there already were introduced by kicad5 remapping it doesn't really seems like much05:53
houkimemy branch is already quite unmergeable05:53
houkimegood thing it is really nothing to merge it into05:53
houkimeit is latest and brightest and nobody have done anything in parallel05:54
Joerg-Neo900anyway discard R1904, change 1V9 to 1V8_U05:54
houkimewhat about grounds being messed up and audio ground connecting to a normal lower ground without any formal interface?05:58
Joerg-Neo900ph shit, there's more buggy in there05:58
houkimei believe some of them were fixed in my branch as i got things going into netlist nicely and have appropriate fps and pins05:59
houkimewas a butthurt at the start06:00
Joerg-Neo900grounds messed up? wouldn't know how. And we have no separate audio ground, I elaborated on that a few days ago already06:01
houkimewell if they are not meant to be separated then why there is an aground in audio sch?06:03
houkimewhich shorts to a normal ground only in one single place06:03
Joerg-Neo900we should use a star topology for grounds. with audio groind connecting to geberic ground exactly where it's noted, and running a audio GND in parallel to signal lines06:03
houkimeok. probably needs a comment in sch on that.06:06
houkimeGND2 messed up like 1v8. Although it is a BoB ground, some semnsors on UPPER use ir06:10
houkimeand U90106:10
Joerg-Neo900that sucks06:11
houkimeAlso both upper and LOWER have a common ground which is "hb_audio_ground"06:12
houkimewell, netlist calls it that at least06:13
houkimedo you have kicad5 now?06:14
Joerg-Neo900no, not yet, still about to update my system06:14
Joerg-Neo900was planned for yesterday but yesterday was day off from the disaster that was last week06:15
houkimeGrounds on LOWER and UPPER got merged together because they both used just a  GND to denote ground.06:27
houkimer1904 is not dangling06:39
houkimethe "dangling" wire actually teleports to "cabc" which is a local wire connected to cabc pin 22 of display connector on the same sheet06:42
houkimeok, pushed 2 commits with point sch fixes for 1v8 and sensor grounds06:51
houkimeseparating ground of UPPER from ground of LOWER though will take some effort. Not critical right now.06:53
Joerg-Neo900houkime: please see U1901 R2, it's missing in Neo900 diagram14:25
Joerg-Neo900also D2 Zener  and the 100R are missing14:26
Joerg-Neo900please add R2 0R14:35
Joerg-Neo900also provide D2 and the series R DNP14:36
Joerg-Neo900this whole thing is rather experimental and will get streamlined in final product14:38
Joerg-Neo900"this thing" = backlight dimming concept14:39
Joerg-Neo900not going to pester you with trivialities, but if you got spare capacity in your mind, please try to keep "loop area" (aka distance between forward and return traces) of high current paths for backlight LED as small as possible, to avoid magnetic error introduced to compass sensor14:43
Joerg-Neo900we probably could calibrate out a lot of such error in software (compass driver) as long as we know the error amount aka LED brightness, but avoiding errors is better than compensating them14:46
Joerg-Neo900in the end our compass can't be worse than that of e.g. Cat S60 ;-)14:48
Joerg-Neo900that thing is unbearably pointless14:48
Joerg-Neo900you can calibrate it but that only holds for an hour or two14:49
Joerg-Neo900prolly until next charging where high currents nuke all calibration of magnetic properties14:50
Joerg-Neo900to give you an idea: a 10° rotation of device may make the map rotate all way top-down 180°14:51
houkimewhat should be the model of D2? It has a different model on your paste14:52
houkime*from D114:52
Joerg-Neo900D2 is a zener, something generic14:53
Joerg-Neo900datasheet for example recomends OnSemi MMSZ471114:54
Joerg-Neo900DAMN MONSTER14:57
Joerg-Neo900well, so be it14:58
houkimedoes it have some unique properties or sth? We don't use stuff like that enywhere else.15:21
houkimewe don't have fp for SOD-12315:26
houkimeshould I make one or you find more viable part?15:27
Joerg-Neo900it seems it has no special properties, so any small Zener with a convenient voltage range will do15:35
houkimeright now i just copied the thing we used for D1. relatively small15:35
Joerg-Neo900I first thought it needs to be quite some power part, but actually no, it only needs to provide enough current to drive the FB hig against the load of R2 and R115:36
Joerg-Neo900with R2 in place, the Zener can't consume more than a few mA15:37
Joerg-Neo900so 50 or max 100mW will be fine15:37
Joerg-Neo900actually it's I_zener = V_FB / (R1906 || "R2")15:40
Joerg-Neo900V_FB = 0,2V15:41
Joerg-Neo900R1906 = 4k7, "R2" = 1k15:42
Joerg-Neo900so ~0.2mA15:42
Joerg-Neo900P = 0.2mA * (say) 40V = 8mW15:43
Joerg-Neo900any tiny Zener will do15:43
Joerg-Neo900actually the whole D2 thing is only emergency OVP15:44
Joerg-Neo900should never trigger in recommended operating conditions15:45
houkimeactually no. I'm wrong. D1 is a shottky barrier, it is unrelated. In all other places we use metal-oxide varistors16:04
Joerg-Neo900I hope we usually don't - MOX VARs tend to develop leakage current over time (with multiple "excursions" to consume overvoltage surges)16:06
Joerg-Neo900also D1 isn't a TVS, it's a regular operational rectifier diode16:07
Joerg-Neo900please see datasheet of the boost converter for placement of D1, it's relevant16:08
Joerg-Neo900the parasitic capacitance of trace on joint L1901 D1901 shall be as low as possible, and the "loop" forming a coil made from D1901 C1904 shall have minimum area, this results in all those components as close to chip as possible16:12
Joerg-Neo900C1904 needs to be a low-ESR high frequency high current  and low loss type16:13
Joerg-Neo900D1901 needs to be a fast rectifier with low parasitic capacitance, so schottky16:13
houkimeunfortunately we do use MOX VARs pretty much everywhere when a standalone tvs is needed. these ones
Joerg-Neo900I wonder how we came to do that16:14
Joerg-Neo900semiconductor TVS are generally a better choice16:15
Joerg-Neo900well, I guess the footprint is sufficiently generic to swap them16:16
Joerg-Neo900 for example: 0201 ;-)16:34
Joerg-Neo900when it burns out completely, then the footprint can still operate as spark gap ;-P16:35
Joerg-Neo900(just kidding)16:36
Joerg-Neo900there are 0402 as well16:39
Joerg-Neo900compatible to the V5.5MLA0603N footprint, I'd guess16:39
Joerg-Neo900oops those are 0603, monsters16:40
Joerg-Neo900so you gonna like the 0201 I guess ;-)16:40
Joerg-Neo900lots of space saving16:41
Joerg-Neo900really sorry, no idea how the MOXVAR crept in16:42
Joerg-Neo900particularly since the symbol suggests transil16:42
Joerg-Neo900MOX would look like
houkimeadded 0R (R2||R1917)17:07
Joerg-Neo900great :-) could you send a screenshot?17:08
houkimeof course17:08
Joerg-Neo900I just checked back, seems I remebered right - there's few good rationale to use MOXVAR17:09
Joerg-Neo900Transil Transzorb is it17:09
Joerg-Neo900and the symbols in diagram five it away: this always been the plan17:10
Joerg-Neo900really sorry those MOX sneaked in17:10
Joerg-Neo900possibly momentary lapse of common sense on my side17:12
Joerg-Neo900excellent :-)17:13
Joerg-Neo900please note that the above mentioned Transil component was only an example, there might be even better and cheaper parts, like
Joerg-Neo900line capacitance 110pF (vs 7pF of the former) but in most places this doesn't matter at all17:26
Joerg-Neo900then it has 30kV (vs 15) and 110W/11A (vs 50?W/3A)17:27
Joerg-Neo900and WAAAY better (lower) clamp voltage17:28
Joerg-Neo900plus "new component, on stock" vs "factory lead time"17:28
Joerg-Neo900we'll pick the best we can get (0201) when it comes to production17:29
houkimewhat is bme-replacement you were talking about recently?17:29
Joerg-Neo900a FOSS driver for battery management in N900, not really needed at all in Neo900 since we got a way smarter charger chip17:30
Joerg-Neo900Neo900 charging sort of works without any driver17:31
Joerg-Neo900N900 can only do emergency bootstrap charging to bring up the CPU, then it needs a driver to charge batery to 100%17:31
Joerg-Neo900Neo900 charger is fully autonomous though still controllable via software17:32
Joerg-Neo900in N900 maemo fremantle, BME is a closed blob Nokia didn't dare to open-source due to liability reasons when devices / batteries would catch fire17:34
Joerg-Neo900and BME replacement is a FOSS driver replacing BME blobs, made by Pali based on my specs17:34
Joerg-Neo900though not 100%, which is a tad of a pity since it has issues where it deviates from my specs ;-)17:35
houkimeand what is exactly the reason which makes N900 compatibility require outdated fuel gauge?17:36
houkime(which is a huge thing btw)17:36
Joerg-Neo900exactly this BME thing17:38
Joerg-Neo900BME is a closed blob and communicates with bq27200 directly via I2C17:38
Joerg-Neo900and bme-replacement needs a new kernel, so it won't work for 100% compatibility17:39
Joerg-Neo900there are alos a number of apps (all sorts of battery monitors) that rely on bq2720017:40
houkimeHow much sensible to the placement are fuel gauges? They are not high current, right, so thin (and maybe long) probing trace is ok?17:42
Joerg-Neo900actually nobody can know for sure what in N900 depends on bq27200, we *hope* we found all dependencies but we can't guarantee that17:42
Joerg-Neo900totally uncritical17:42
Joerg-Neo900yesm long parallel /differential pair) traces from chip to 10mR shunt resistor are OK17:43
Joerg-Neo900except for those fule gauges that have internal shunt, of course17:44
Joerg-Neo900some do, I don't know if we already decided on a particular type and if it has internal shunt or not17:44
Joerg-Neo900aaah BQ27421YZFR-G1A (4V2)17:46
Joerg-Neo900>> Low-Value Integrated Sense Resistor  The bq27421-G1 fuel gauge uses the patented (7 mΩ, Typical)<<17:47
Joerg-Neo900oops s/The bq27421-G1 fuel gauge uses the patented//17:47
Joerg-Neo900so the above comment about differential pair to shunt only applies to the bq2720017:48
Joerg-Neo900akso bq27200 probes low side (GND) while bq27421 is high side (Vbat)17:50
Joerg-Neo900R306 is DNP shunt for an alternative chip to bq2742117:51
houkimethere's one more question i have about powertree.17:51
houkimev2.pdf says that 1v8 and 2v7 in v2 are formed from vsys with LDO17:52
houkimehowever i couldn't find these17:52
houkimecheck with eeshow (it has net tracking)17:53
Joerg-Neo900"Adaption (v2 only)"17:53
Joerg-Neo900U2201, U220217:53
Joerg-Neo900obviously move those out of "inside case" area of UPPER17:54
houkimeok. So we move whole high-current VSYS to UPPER and then redistribute it from there?17:55
Joerg-Neo900also for cooling reasons17:55
Joerg-Neo900what is "whole high-current VSYS"?17:56
Joerg-Neo900in final device VSYS (and the orther volatges) will come from TPS65950 companion chip17:57
Joerg-Neo900also on UPPER17:57
Joerg-Neo900next to SoC17:57
Joerg-Neo900basically all sheet 22 is about simulating TPS6595017:58
houkimehm. ok.18:00
Joerg-Neo900not happy?18:00
Joerg-Neo900WAAAAH!!!! check C2202!18:04
Joerg-Neo900what eeshow woefully lacks is a generic search function18:08
Joerg-Neo900and a view history, so you could move back and forth in your own panning/jumping/zooming history18:09
Joerg-Neo900e.g. with cursor-left (back) and -right (fwd)18:09
Joerg-Neo900and a highlighted offsheet symbol shouldn't get instantly unhighlighted when you accidentally move cursor over another symbol18:10
Joerg-Neo900there's ESC for unhighlighting18:11
Joerg-Neo900wpwrak: ^^^18:11
houkimeit just doesn't seem logical to move high current cross boards, split with LDO's and then reverse-transfer it back. maybe there were reasons though.18:12
Joerg-Neo900  **BUG** C2202 must not go to U2204:3(OUT), instead must go to U2204:4(VDD)18:14
Joerg-Neo900the reason is: battery is on LOWER, SoC and TPS65950/TWL4030 is on UPPER18:15
Joerg-Neo900if we would place TWL on LOWER, we would have unacceptanly many and long wires to CPU/SoC. If we place SoC and TWL on LOWER (if there was even space for that) then we had display and whatnot on the B2B conns18:16
Joerg-Neo900we mused about component distribution between LOWER and UPPER quite a while, and this is what we came up with. I'm not saying it's the optimal solution, just the best we could find18:18
Joerg-Neo900suggestions welcome18:18
Joerg-Neo900in the end we need all voltage railes on LOWER *and* UPPER, so it doesn't make much of a difference18:21
Joerg-Neo900the only tail we could "save" would maybe VBAT18:21
Joerg-Neo900and it seems more uncritical to route VBAT from LOWER to UPPER than several of the other SoC supplies18:22
Joerg-Neo900actually VBAT is neither stanilized nor filtered or whatever, so a pretty uncritical "signal" to route to wherever it's most convenient to place the sink18:23
Joerg-Neo900it's just a pity that we have a large magnetic loop this way, for VBAT current to interfere with compass18:25
Joerg-Neo900we should take some care so GND return path is as parallel to VBAT as possible18:26
houkimewhat is a summary 1v8 current consumption per board?18:27
Joerg-Neo900sorry, can't tell offhand, prolly up to 2A18:28
houkimedo you have docs on that for v2?18:28
Joerg-Neo900we did an estimation but I have no idea where that documet left18:29
Joerg-Neo900why do you need to know?18:29
houkimetrack widths and connnector pins/vias numbers rechecking18:30
Joerg-Neo900we did a proper evaluation to determine the number of pins we need on B2B conns for VBAT18:30
Joerg-Neo900for tracj widths please use a safe approach and overdimension at least factor 318:31
Joerg-Neo900we need low ripple on VBAT for modem anyway18:31
Joerg-Neo900and we don't want much loss on VBAT->TWL18:31
Joerg-Neo900I'd think we get a whole layer/plane for 1V8 anyway, no?18:33
Joerg-Neo900rather add a layer than fiddling with too narrow supply rail tracks18:34
Joerg-Neo900and 1V8 is needed virtually everywhere18:35
Joerg-Neo900sorry, afk18:36
houkimeI'm just a little bit worried whether 1 1v8 pin on b2b is enough18:36
Joerg-Neo900no big consumers on LOWER18:37
Joerg-Neo900if you find a spare pin, add it18:37
Joerg-Neo900one of the nicer parts in this design is: all huge consumers are supposed to run off VBAT_SW18:39
Joerg-Neo900well, except core digital system, like RAM etc18:40
Joerg-Neo900so: audio amp, vibrator etc pp18:40
Joerg-Neo900and removing battery should immediately shut down BAU_SW so all buffer capacitor energy is left for the core digital system to do emergency shutdown18:41
Joerg-Neo900originally it was even planned to allow battery hotswap and run the system from buffer caps for almost a second during that. Doesn't fly and not needed anymore since we can do suspend2ram now18:44
Joerg-Neo900even suspend2disk18:45
Joerg-Neo900"doesn't fly" means we can't cram in the needed amount of buffer capacitors18:45
Joerg-Neo900we'd need at least a 50 to 100mJ, too much volume18:58
Joerg-Neo900unless we'd use a tiny battery, and then we can't draw sufficient current from that18:58
Joerg-Neo900capacitor would be like 50,000uF@3V19:01
Joerg-Neo900wait no, more like 10,00019:02
houkimepushed a fix for C220219:16
houkimei will probably open a quick repo on notabug or anywhere to keep track on layout issues and allow you and other not to scroll down chanlogs to assess everything.19:18
houkimeno files, just a bare thing with issue tracker.19:19
houkimeit also makes possible for people to subscribe to layout updates even if they can't have the files yet.19:22
Joerg-Neo900please have a look at
Joerg-Neo900please have a look at
Joerg-Neo900also where you could get write access19:25
Joerg-Neo900via sftp19:26
Joerg-Neo900we also have an internal branch19:26
Joerg-Neo900werber created a "pastebin" alike thing to simply upload stuff to temp there19:27
Joerg-Neo900thanks for fixing C220219:34
houkimeIf we're going to use goldelico issue tracker it should be sanitized first - so someone should look at each issue and update or close it.19:36
houkimebtw does not have any clear link to this issue tracker19:41
houkimesubscription to issues is one of the easiest ways to get a pulse of a project, I use it pretty much to track any interesting stuff.19:43
houkimealsogoldelico issue tracker doesn't seem to allow subscription.19:45
houkimeToo bad. Would be easier to a make a new one really.19:45
houkimeAnd then make links for it and for Neo900-Planning repo right at the frontpage19:48
houkimeIRC link should be right after "Support the project and reserve a device for you now!"19:50
houkimetogether with "we need your help" catchphrase19:50
houkimeand planning repo and issue tracker (which could be actually merged into one thing) should go to the top bar at the center19:51
houkime"resources" should be at least bold and probably renamed to "Sources&docs"19:53
houkimeand even better "CAD sources&docs"19:54
houkimein whole, site now emphasizes money for some reason, even though money is not the thing we need the most right now.19:57
houkimeI guess "site is not looking like a community page." is the right way to put it, altho open Phoenux poses itself like a community.19:58
Joerg-Neo900you're welcome to improve all this20:12
atkhoukime: if you want you can change the website and email me a PR20:19
atkAnd I'll have a look at the changes and maybe editorialise a bit, make sure nothing will break and make sure Joerg-Neo900 is fine with the changes and push them to the actual website20:20

Generated by 2.17.0 by Marius Gedminas - find it at!