#avr | Logs for 2014-09-30

Back
[03:29:28] * Bushman need to pick a modern and common IC for 485 communication with build in separation
[03:29:38] <Bushman> human, halp! i require your asistanz!
[04:55:05] <Jartza> Bushman: for what it's worth, it seems all the designs my customer has done use MAX3430
[04:56:32] <Jartza> for both rs422 and rs485
[05:33:44] <inflex> Daaamn, anyone ever seen a 7-position mid mount micro B USB socket?
[05:33:54] * inflex has 5, 10 and sometimes 8... but never a 7 :(
[05:43:02] <LeoNerd> Isn't 7 normal? Vcc Gnd D+ D- OTGsense case*2
[05:47:40] <evil_dan2wik> I thought that 5 pin was the normal.
[06:04:36] <inflex> 5 pin is 'normal'
[06:08:59] <Lambda_Aurigae> nothing about usb is normal.
[07:06:07] <LeoNerd> Is it just me, or is the ATtiny841 more capable than half of the ATmega chips? It has -two- USARTs, two ACs and its ADC can operate in differential mode
[07:08:59] <evil_dan2wik> LeoNerd, different AVR chips are better for different things.
[07:19:34] <ColdKeyboard> I would like to drive 12V LED strip with AVR and MOSFET. Can someone recommend tested schematic for such project? :)
[07:22:39] <Tom_itx> http://tom-itx.ddns01.com:81/~webpage/scope/led_harness_on.jpg
[07:22:44] <Tom_itx> ColdKeyboard like that?
[07:24:11] <Tom_itx> depends how much current the strip draws
[07:24:48] <ColdKeyboard> Your image is blurry but I guess... I'm just asking should I make some driver circuit for the mosfet or jus put R in the gate and one 10K pulldown on gate and drive it from the PWM directrly
[07:24:58] <ColdKeyboard> Abou 0.6A or 1A max per mosfet
[07:25:13] <ColdKeyboard> I'm going to use 3 for RGB and the strip is about 1m in length
[07:25:38] <evil_dan2wik> 1 meter doesn't really mean much.
[07:26:11] <evil_dan2wik> It could be a 1 meter strip with 3 RGB LEDs on it, or it could be half a million LEDs.
[07:26:32] <Tom_itx> 568-2353-1-ND
[07:26:46] <Tom_itx> 497-4327-1-ND
[07:26:55] <Tom_itx> FDN337NCT-ND
[07:27:04] <Tom_itx> any of those should work
[07:27:26] <ColdKeyboard> It's going to draw 0.6A per meter x 3 LEDS...
[07:27:57] <Tom_itx> 497-4327-1-ND STC5NF30V MOSFET 2N-CH 30V 5A 8-TSSOP
[07:29:22] <ColdKeyboard> Great, what about the driver circuit? Just put the R between AVR PWM pin and Gate and that's it or maybe add pulldown from gate to gnd or something else?
[07:29:52] <Tom_itx> and a current limit on the drive side
[07:29:58] <Tom_itx> 2 resistors
[07:30:26] <Tom_itx> i doubt you even need a pulldown
[07:30:28] <Tom_itx> but you could
[07:30:55] <Tom_itx> the avr would just have to overcome it and the gate resistor
[07:31:20] <Tom_itx> put an r on the gate to pwm
[07:31:37] <Tom_itx> put a limit r on the source
[07:32:36] <ColdKeyboard> Ok, thank you! I'm starting to work on it then :)
[07:32:45] <Tom_itx> pretty simple really
[07:33:00] <Tom_itx> that thing i showed you had either 3 or 6 transistors on it
[07:33:09] <Tom_itx> i don't even think they were mosfet
[07:34:09] <ColdKeyboard> To be honest I'm far more familiar with the transistors than mosfets... although they are "almost" the same :)
[07:35:03] <Tom_itx> n channel are easy
[07:35:20] <Tom_itx> p channel require more drive voltage
[08:21:12] <LeoNerd> A mosfet /is/ a kind of transistor
[08:22:25] <LeoNerd> Bipolar transistor: a device which makes CE current proportional to BE current; FET: a device which makes SD resistance proportional to G(substrate) voltage
[08:22:45] <twnqx> and SiC?
[11:16:57] <[F_F]> Here is a interesting thing
[11:16:59] <[F_F]> Did you knew that... 802.11 WiFi Beacon contains a Timestamp field inside of it? I wonder if I could "somehow" fetch that field, so I can get an external reference DateTime signal.
[11:17:19] <[F_F]> http://en.wikipedia.org/wiki/Beacon_frame
[11:27:14] <timemage> [F_F], i don't think that needs to be related to real time
[11:28:15] <timemage> [F_F], certainly in some situations it will have the incorrect time and date even if it were stored and broadcast in that format.
[11:29:34] <LeoNerd> Didn't we do this yesterday?
[11:32:57] <timemage> [F_F], https://en.wikipedia.org/wiki/Timing_Synchronization_Function
[11:32:59] <timemage> LeoNerd, no idea.
[11:33:56] <LeoNerd> ... that was more of a statement :) "We did this yesterday"
[11:34:32] <timemage> LeoNerd, heh. i wasn't reading anything here 24 hours ago.
[11:40:16] <N1njaneer> Could always use NTP if you really need reasonable UTC timesync :)
[11:42:04] <N1njaneer> Or IEEE1588 PTP if you need really really really good timesync, but if you're going wireless I am not sure if 1588 would work.
[11:43:44] <LeoNerd> Yeah
[11:44:24] <LeoNerd> Well,t he summary of yesterday's argument was that [F_F] seems to be spouting randomly amusing ideas based on partial understanding of bits of technology, rather than coming at an actual problem from a "here's what I'm trying to /achieve/" perspective and seeing how to get there
[11:45:58] <[F_F]> LeoNerd: Actually that Yesterday's random blant idea is transforming into a real idea
[11:46:13] <LeoNerd> Good. Do you have a problem to solve yet?
[11:46:38] <[F_F]> LeoNerd: Right now, I am trying to figure out how to fetch the whole raw beacon DataGram from a WiFi Module
[11:46:52] <LeoNerd> Nono.
[11:46:57] <LeoNerd> Do you have a /problem/ to solve/
[11:47:06] <LeoNerd> That's a small detail about its solution. What /problem/ are you solving?
[11:47:10] <N1njaneer> LeoNerd: Super Big Comfy Armchair Engineering? :D
[11:47:44] <[F_F]> LeoNerd: Trying to "figure out" what is the current DateTime, and check if my RTC has failed
[11:48:09] <[F_F]> LeoNerd: I had this "crazy" Encryption scheme, which relays on the current DateTime... doesn't need to be Exact
[11:48:52] <N1njaneer> F_F: Why not use off-the-shelf crypto on proven algorithms? Easier and safer. :)
[11:48:57] <LeoNerd> Who are "you" in this case? What is "my" RTC?
[11:49:05] <[F_F]> RTC = Real Time Clock
[11:49:14] <[F_F]> a $1.00 USD device that keeps the date and the time
[11:49:22] <[F_F]> Even if the power goes off
[11:49:32] <[F_F]> But the problem here is that any user could "Tamper" that thing
[11:50:17] <[F_F]> Right now, I want to focus ONLY on how to get the DateTime out of a WiFi Beacon
[11:50:27] <[F_F]> Even if it is wrong
[11:50:40] <LeoNerd> Right; so now you're introducing ideas of users and tampering
[11:50:47] <LeoNerd> Can you take aNOTHER step back please? EXPLAIN THE ACTUAL PROBLEM
[11:51:24] <[F_F]> LeoNerd: The ONLY real problem is How to get the DateTime out of a Timestamp Field inside a Beacon WiFi Frame
[11:51:27] <LeoNerd> Let me invent a sentance that is likely wrong: <[F_F]> I am trying to build a high-security time-locked bank vault safe that will only open at 7pm every evening to let the manager make a deposit
[11:51:41] <LeoNerd> ^-- I suspect that sentance does not fit your problem. Please adjust it until it does, so we know what the PROBLEM is
[11:51:58] <[F_F]> Well, it does not fits your need for information
[11:52:09] <LeoNerd> Currently you're doing the equivalent of asking us screw-thread sizes for attaching metal brackets, when we don't yet know that you're trying to build a house
[11:52:15] <timemage> [F_F], why not find out whether or not there's even a datetime field in there to be had. from what i tell, there isn't.
[11:52:16] <[F_F]> But I think that anybody that has some experience on dealing with 802.11 can understand my question
[11:52:48] <[F_F]> timemage: There is a DateTime field inside the Beacon Frame on 802.11
[11:52:50] <LeoNerd> Well, if you're disinclined to help me help you, then I'm disinclined to help you any further. GL;HF
[11:52:52] <[F_F]> But on my AP I can see it
[11:52:56] <[F_F]> on an external AP, I can't
[11:53:35] <[F_F]> I don't know if the timestamp field changes depending on the version of 802.11 I am scanning
[11:53:43] <[F_F]> like 802.11b and 802.11a or 802.11g
[11:53:54] <timemage> [F_F], the documentation i can find says it's a "timestamp" field. not a date time field. and it's used for synchronizing communication completely independent of any notation of real time.
[11:55:03] <[F_F]> http://www.wi-fiplanet.com/tutorials/print.php/1492071
[11:55:08] <[F_F]> Timestamp. After receiving a beacon frame, a station uses the timestamp value to update its local clock. This process enables synchronization among all stations that are associated with the same access point.
[11:55:45] <timemage> [F_F], right. that timestamp is in microseconds, probably from powerup.
[11:55:45] <[F_F]> So you are saying timemage that the "timestamp field" is actually just a random long number
[11:55:51] <timemage> [F_F], not random
[11:56:03] <[F_F]> timemage: random in a sense that it doesn't says the current time
[11:56:07] <[F_F]> timemage: it is just consecutive
[11:56:18] <[F_F]> timmagE: keeps increasing in a sequential manner
[11:56:26] <timemage> [F_F], arbitrary maybe. otherwise yes.
[11:56:36] <timemage> [F_F], what matters is that they synchronize. "Each mobile host maintains a TSF timer with modulus 264 counting in increments of microseconds. The TSF is based on a 1-MHz clock and "ticks" in microseconds. On a commercial level, industry vendors assume the 802.11 TSF's synchronization to be within 25 microseconds."
[11:58:36] <[F_F]> hmmmm
[11:59:31] <[F_F]> So If I "join" an AP, device will have the same "timestamp" as the AP?
[11:59:39] <timemage> [F_F], if your ap happens to have an RTC in it, it will be so that it put real times on log entries are other functions that have nothing to do with 802.11
[11:59:40] <LeoNerd> Yeah - I would be /very/ surprised if 802.11 depends on walltiem
[11:59:55] <LeoNerd> Especially as in all my years setting up WAPs, never once have I had to tell one what the time is :)
[12:00:22] <timemage> if i were on a committee designing it, i would probably resist the idea of attempting to base it on real time. sounds like a nightmare.
[12:00:28] <LeoNerd> Indeed
[12:00:50] <N1njaneer> LeoNerd: I agree. And it would be annoying to have WiFi data transport not work because the WAP randomly didn't know the current time/date.
[12:01:29] <[F_F]> Thank you so much guys
[12:01:41] <[F_F]> I actually can make it work using the timestamp field
[12:01:56] <[F_F]> even if it doesn't tell me the DateTime, I can check my "Valid" DateTime against the Field
[12:01:58] <[F_F]> Reset the device
[12:02:04] <N1njaneer> I think a lot of people read "timestamp" and assume this to mean specifically time/date, rather than just a number which increments forward from some arbitrary or non-arbitrary standpoint.
[12:02:13] <[F_F]> And renember that DateTime - TimeStamp diference, and use it to set DateTime back!
[12:02:16] <[F_F]> Thank you VERY much
[12:02:32] <LeoNerd> Beware of rollover
[12:02:37] <[F_F]> 2^64
[12:02:39] <N1njaneer> Use 128-bit counters!
[12:02:46] <timemage> [F_F], microseconds though.
[12:02:46] <N1njaneer> Or 128-bit encryption keys
[12:02:49] <N1njaneer> or both! :D
[12:02:50] <[F_F]> 18446744073709551616
[12:03:00] <timemage> [F_F], ah, didn't see the 64bit.
[12:03:16] <[F_F]> 14038618,016521728779299847792998 years for a rollover counting each microsecond
[12:03:25] <LeoNerd> OK, that sounds fine
[12:03:26] <timemage> [F_F], the other bit is the clock drift might be more than you'd expect. they may not need to be that accurate for what they're doing.
[12:04:03] <[F_F]> I am thinking on doing this
[12:04:27] <[F_F]> Check my current datetime and a known timestamp from a known AP: Today at 8:00:01 AM -> 65536
[12:04:46] <[F_F]> Check my current datetime again, one second later Today at 8:00:02 AM -> 65546
[12:05:16] <[F_F]> Now reset myself and check the current timestamp 65636
[12:05:29] <[F_F]> 65636 - 65546 = 90
[12:05:50] <[F_F]> I now know it must be 9 seconds after Todat at 8:00:02 AM
[12:05:57] <[F_F]> so it is 8:00:11 AM
[12:05:58] <[F_F]> :)
[12:06:18] <[F_F]> But if somebody resets the AP, then all hell breaks lose
[12:06:29] <[F_F]> So I should validate for that...
[12:06:32] <[F_F]> Thank you guys
[12:06:44] <timemage> [F_F], you may still have to check to make sure the counter hasn't reset. even if it isn't rolling over because of range, i would guess it would restart when when the ap is rebooted or power cycled. also it'd be interesting to see whether or not they also start at zero. if so you may have a problem where there ap starts whereever it likes making detection of this difficult.
[12:06:54] <timemage> anyway, have to go.
[12:07:08] <[F_F]> timemage: I know it is a really DUMB way to solve things
[12:07:13] <[F_F]> But it is better than nothing
[12:07:26] <[F_F]> It should deal with 50% of my cases
[12:07:34] <[F_F]> scenarios*
[12:08:15] <timemage> [F_F], i don't think it's a bad idea altogether. just wanted you to see clearly what you had to work with.
[12:08:25] <N1njaneer> F_F: Why not use a different scenario that removes all of that uncertainty, though?
[12:09:06] <[F_F]> N1njaneer: because we need to "try" to solve this problem without actually traveling to another country
[12:09:15] <[F_F]> N1njaneer: we want to just send the code
[12:09:40] <N1njaneer> Okay, it's helpful to know this kind of thing, because it gives more solid contraints to the problem you are solving.
[12:09:47] <N1njaneer> +constraints
[12:10:03] <timemage> [F_F], i'd need to spent a lot more time thinking about it.
[12:10:10] <[F_F]> N1njaneer: going to that place and actually adding one single cent $0.01 device to it, is impossible for us, right now
[12:10:31] <[F_F]> So far, we only have this: A device that can have access to WiFi or Bluetooth
[12:10:32] <N1njaneer> Generally more people in the channel assume someone is always designing something new, rather than retrofitting under a fixed set of constraints that force using a non-optimial-all-things-being-equal implementation.
[12:10:33] <[F_F]> 50 of them
[12:10:53] <N1njaneer> +most people
[12:11:05] <[F_F]> The fact that we could solve at least 10% of the current situation is like PORN for us
[12:11:20] <[F_F]> So imagine what is feels for us solving 50% of that situation
[12:11:25] <[F_F]> it is hypothethically
[12:11:30] <N1njaneer> I know how international support on existing hardware goes - we have to do it regularly. I am certainly sympathetic to your bind. :D
[12:11:31] <[F_F]> but it is still pornography for us
[12:12:34] <[F_F]> We will make our code "Record" all the AP's they see and their Timestamp - CurentDateTime
[12:12:45] <[F_F]> And see how it goes...
[12:14:46] <N1njaneer> Good luck!
[12:32:11] <Jartza> I have to do that daily
[12:32:32] <Jartza> fiddling with hardware that's already "done", and trying to go-around some stupid design-mistakes with firmware :)
[12:38:21] <N1njaneer> Jartza: It's just important for us to know that critical constraint, else someone's questions regarding some way they want to do something sound incredibly complex and off the mark because they haven't explained they need to solve a problem based on an existing design with limitations.
[12:53:58] <[F_F]> Just came by
[12:53:59] <[F_F]> its working
[12:54:19] <[F_F]> I even know if an AP has been reseted, because the timestamp is "lower" than the last timestamp I had recorded
[12:55:23] <[F_F]> WLAN_BSS_ENTRY "could" be useful for DateTime reference, if you happend to know how a MAC:TimeStamp associates to a given DateTime
[12:57:26] <[F_F]> But you must record 2 entries for each MAC, because it doesn't increment at the same speed
[12:57:43] <[F_F]> Some AP increment very fast, while others don't
[12:57:49] <[F_F]> so that microsecond increment is basically a lie
[14:27:37] <ColdKeyboard> Any good tutorials on how to implement IR code receiving with AVR, TSOP (demodulator) and Timers?
[14:30:44] <Tom_itx> are you gonna modulate your leds so you can phone ET?
[14:31:36] <Dominykas> Hey guys, how big of an inductor do i need, so that the inductor would need to charge atleast a second,before it could power a 5mm led?
[14:32:10] <Dominykas> i have a 500mhenry inductor, at 12
[14:32:38] <Dominykas> 12V*, but i only see the effect, when the led dims, after i disconect power
[14:34:06] <vsync> how much inductance would an inductor induct if an inductor ductor induct
[14:34:27] <Dominykas> something like that
[14:34:30] <vsync> how much inductance would an inductor induct if an inductor count induct
[14:34:38] <vsync> oh for fuck's sake
[14:34:42] <vsync> how much inductance would an inductor induct if an inductor could induct
[14:35:01] <Tom_itx> and inductor would induct all the inductance an inductor could if an inductor could induct ....
[14:36:03] <Dominykas> So can i have a big enough of an inductor, so that it would need to take atleast a second to charge up?
[14:36:53] <Tom_itx> i doubt it
[14:37:12] <Dominykas> it would be in the henry range then?
[14:37:31] <Tom_itx> or martha
[14:37:44] <Tom_itx> i've never been asked that question... ever
[14:37:57] <Dominykas> there is a first time for everything
[14:40:45] <RikusW> Dominykas: do you want to destroy your LED with back EMF or something ?!
[14:41:14] <Tom_itx> maybe he wants to make a flash cube
[14:41:24] <RikusW> use a smaller inductor and PWM at a much higher frequency like 10 or 20kHz
[14:41:53] <kastein> oh flux you, stop saying charge inductor
[14:42:11] <Dominykas> and would that get my desired 1 second of charge time?
[14:42:16] <kastein> ...
[14:42:22] <kastein> I think you need to take electronics 101
[14:42:24] <RikusW> wtf do you want that for ?!!
[14:42:34] <kastein> you are making no sense
[14:42:41] <kastein> and you clearly don't understand inductors
[14:42:50] <RikusW> use a cap instead...
[14:43:15] <Dominykas> yeah, a cap would be easier, but i just wanted to know, if it would be feasable to use an inductor
[14:43:26] <RikusW> Dominykas: go look up buck and boost converters....
[14:43:38] <kastein> ......
[14:43:44] <RikusW> switchmode supplies etc
[14:43:52] <kastein> so you are doing things the useless hard way for no reason without understanding what you are doing, got it
[14:43:57] <kastein> continue hackerspacing, have fun
[14:44:16] <Dominykas> alright, i will!
[14:44:19] <Dominykas> thanks guys
[14:45:13] <RikusW> eh, I think marketing wanted to label it as LED lighting using inductive stored energy :-D
[16:08:55] <FoxGT> Does anyone know a good ks0108 tutorial for the avr? All the ones I'm finding have syntax that don't work with studio or are for Arduino.
[16:34:36] <LeoNerd> What -is- ks0108 ?
[16:37:44] <FoxGT> https://www.google.com/?gws_rd=ssl#safe=off&q=ks0108
[16:37:50] <Bright> http://i.imgur.com/KuaGlmk.png wooo c:
[16:39:32] * twnqx soldered a spartan 6 recently
[16:39:46] <twnqx> a boring tqfp one though :P
[16:39:50] <kastein> lol
[16:40:08] <kastein> I've never done BGAs and DFNs can go to hell but TQFPs are cake
[16:40:15] <kastein> gimme the flux, cletus
[16:40:43] <twnqx> during the same board i did my first exposed pad QFN
[16:40:50] <Bright> DFNs aren't too bad but QFNs are pushing it
[16:41:04] <twnqx> qfns are easy per se
[16:41:08] <twnqx> but exposed pads suck
[16:42:41] * twnqx turns back the time and asks xilinx to make PGA instead of BGA
[16:49:42] <kastein> oof
[16:49:55] <kastein> PGAs are so easy to solder, but good god, routing the board
[16:50:07] <N1njaneer> QFNs aren't bad if you have good paste and a good heat source. They can be done with a $10 heat-gun and solder pase if you are careful.
[16:50:12] <N1njaneer> +paste
[16:50:13] <kastein> I haven't routed a BGA either, however, dunno how the whole filled via thing works out
[16:50:13] <jeremyabel> ^
[16:50:25] <jeremyabel> I just did a qfn with paste and heat gun 5 minutes ago
[16:50:53] <N1njaneer> vias will plug with the LPI if smaller diameter - 12-15 mil - else they have to use a seperate process at the board house to plug them with epoxy first in a seperate pass.
[16:51:14] <kastein> true, I have EAGLE set for tented vias
[16:51:19] <kastein> the default bare vias config was pissing me off
[16:51:21] <jeremyabel> always tent them vias
[16:51:31] <jeremyabel> although this fab house seems to only manage to have tented like, half of them...
[16:51:36] <jeremyabel> but it was cheap so whatever
[16:51:41] <N1njaneer> But generally there's no need to plug them, and in fact it's useful if you leave them all exposed on the bottom of the board under the BGA then dog-bone them to the BGA pads since you then have easy test-points for everything.
[16:51:43] <jeremyabel> although it did just cause a problem earlier today
[16:52:06] <N1njaneer> jeremyabel: That entirely depends on the hole size and the quality/viscosicity of the LPI
[16:52:14] <kastein> N1njaneer: huh - most of my concern was how to get such a massive amount of wiring out of such a tiny space without 19 bajillion layers
[16:52:29] <kastein> I figured using blind vias to different depths to get to the bga pads you could greatly simplify it
[16:52:44] <N1njaneer> I tent everything by default, but unless your via holes are 15 mil or smaller they will not do it reliably because the LPI will wick in to the hole from surface tension.
[16:52:53] <N1njaneer> kastein: If you have all the money in the world, sure.
[16:52:54] <jeremyabel> mine are 15
[16:53:06] <kastein> hahaha
[16:53:19] <kastein> yeah, that'd make for a pretty weird stackup I guess
[16:53:21] <jeremyabel> probably could have gone smaller
[16:53:36] <N1njaneer> kastein: B&B vias will jack your board cost up substantially. Smaller trace sizes are much cheaper for fan-out.
[16:54:04] <kastein> yeah, I quoted one out a while ago and got some serious sticker shock
[16:54:13] <jeremyabel> N1njaneer: where do you guys print your board?
[16:54:25] <jeremyabel> *boards
[16:54:30] <N1njaneer> jeremyabel: Typically with either Advanced or PCBUniverse.
[16:54:37] <jeremyabel> nice
[16:54:45] <jeremyabel> never tried PCBUniverse, I'll give them a look
[16:54:51] <kastein> huh
[16:54:52] <jeremyabel> quick turnaround?
[16:54:58] <kastein> I usually go with advanced or pcb-pool
[16:55:29] <kastein> I have to say, I'm hooked on pcb-pool's free paste stencils and ENIG, though I like advanced more as a company
[16:56:03] <jeremyabel> advanced gives me sticky notes and pcb drinks coasters
[16:56:11] <N1njaneer> It's off-shore fab in China or Taiwan depending on the capabilities and turn-time, but they are represented stateside in Seattle and I can vouch for their quality. I've run many thousands of units with them without any significant problems. They also e-test everything for free, which you have to pay extra for through most other places.
[16:56:12] <jeremyabel> but free paste stencils...
[16:56:24] <jeremyabel> oh nice, I do like free e-test
[16:56:32] <jeremyabel> that bit me in the ass on one of these boards already...
[16:56:33] <N1njaneer> I have had Advanced turn single-day 20" x 20" 4-layer ENIG 30-mil boards for us before :)
[16:56:39] <N1njaneer> That wasn't cheap.
[16:56:57] <jeremyabel> oh god
[16:57:10] <kastein> hahahaha
[16:57:11] <jeremyabel> how many boards?
[16:57:15] <kastein> that sounds like it costs cubic dollars
[16:58:09] <N1njaneer> 6 of them. And route-time per board was about 90 minutes since they needed to be done with a 15-mil radius router, rather than the normal 90.
[16:58:31] <N1njaneer> er, 45-mil
[16:58:39] <jeremyabel> wow
[16:58:39] <kastein> I had to have some 4x6 (approx) 8 layer gold plate boards w/ controlled impedance, buried and blind vias, and some other goofy shit done overnight a few years ago. that cost... BEND OVER
[16:58:49] <jeremyabel> jesus
[16:59:15] <kastein> for an FPGA based QAM256 modem
[17:00:10] <kastein> was fun but good christ, I hope I never get stuck trying to debug a design produced by a drunken russian across timezones under a huge schedule crunch again
[17:00:59] <jeremyabel> lol
[17:01:20] <jeremyabel> man I still haven't graduated to a 4-layer board yet...
[17:01:36] <kastein> 4 layer are pretty fun
[17:01:47] <twnqx> i never had the need :X
[17:02:03] <twnqx> sure, some boards would have been easier, but no real need.
[17:02:14] <jeremyabel> I haven't either. If I get this fpga board next week though, my next project might be the first multi-layer board I do
[17:02:26] <kastein> I spent so many years constrained by budget to 2 layer that I still find myself packing everything into 2 layers, then realizing I've painted myself into a horrible corner and that I have another whole layer to play with before I have to even touch the ground plane
[17:03:33] <twnqx> i never did a board except for hobby :X
[17:03:45] <kastein> now I work in automotive/aerospace, so weight is more important than dollars, which means I jam everything as tight as I possibly can board area wise, add layers as needed and then throw money at the board fab house for the thinnest x-layer board they can make
[17:04:16] <kastein> without vibration/G forces reaching damaging levels
[17:04:48] <twnqx> i'd love to make my own laptop boards because all that are on the market suck
[17:04:54] <twnqx> but i guess that's beyond eagle...
[17:05:14] <twnqx> (and 100% manual routing)+
[17:05:31] <N1njaneer> jeremyabel: You can get away with the FPGA multi-power rails on 2-layer if you are careful: hint - use a spiral on the bottom and a fill on the top :)
[17:05:45] <N1njaneer> However, biggest problem with 2-layer boards is generally the signal integrity.
[17:05:47] <kastein> twnqx: ehh, I manually route all my boards
[17:06:00] <kastein> maybe I'm stuck in the dark ages, but I prefer it
[17:06:07] <kastein> I've had autorouters do some real dumb shit
[17:06:19] <N1njaneer> I manually route everything as well. Can always beat the pants off the autorouter for size and neatness.
[17:06:41] <kastein> yeah
[17:06:43] <twnqx> you wouldn't route 128 parallel impedance-controled traces which may not deviate in length by more than a few µm manually, would you...
[17:06:43] <kastein> exactly
[17:06:48] <N1njaneer> If you're doing something like a 20+ layer telecom with microBGA's on both sides then probably best to let the autorouter do it.
[17:07:17] <kastein> twnqx: that's a great point, but it's somewhat reduced by modern hw
[17:07:36] <twnqx> like an intel cpu and ddr4?
[17:07:40] <kastein> aye
[17:07:52] <kastein> QPI, pcie, et al have DLLs built in, so lane to lane propagation time is somewhat less critical
[17:08:11] <kastein> by that I mean significantly less
[17:08:53] <twnqx> memory interfaces are still critical
[17:08:58] <kastein> I've not done a memory interface, but I worked a lot with QPI stuff at a previous job, mostly RAS features
[17:09:02] <kastein> yeah, not surprised
[17:09:27] <twnqx> pcie kind of is on my todo list
[17:09:54] <twnqx> though ther prices of some of those chips
[17:10:08] <twnqx> my jaw dropped when i saw 2.5k for a pcie switch...
[17:10:15] <kastein> the MRC is an incredibly dense mess of very important stuff and I don't pretend to understand it or the B/Z-box CSRs at all, but the QPI interfaces were trivial
[17:10:28] <kastein> modern dram is extremely complicated and a lot of people don't realize that
[17:10:47] <twnqx> yeah
[17:10:58] <twnqx> i wouldn't try to make my own dram controller in an fpga any more
[17:11:07] <twnqx> but just get an IP core
[17:11:13] <kastein> having watched that particular sausage being made, I do myself a favor when building or upgrading a computer and just stick with a full complement of matched memory modules :P
[17:11:52] <kastein> no telling what the MRC is going to be happy with, even if the specs on the box technically match
[17:12:33] <kastein> and yeah, I'd buy an IP core
[17:20:44] <twnqx> how do you fan out 0.5mm pitch bgas without b&b vias, btw?
[17:20:48] <twnqx> it that even possible?
[17:22:04] <twnqx> i think when i experimented i found it diffcult even with 4mil
[17:22:18] <twnqx> and normally i use 8
[17:26:49] <twnqx> hm, bedtime. cu tomorrow :)