#avr | Logs for 2014-08-28

Back
[07:42:18] <malinus> they made me buy a STK500 for the course. They make me use atmel studio 6. And upgrading this ancient thing is a pain. Heh
[07:43:15] <Tom_itx> been there
[07:43:21] <Tom_itx> studio 6 is a pig
[07:50:45] <malinus> would someone happen to have the stk500.ebn in their older (I think 4 and 5?) atmel studio isntalls?
[07:50:49] <malinus> I can't find it anywhere
[08:55:49] <woodyj21> clear
[08:57:17] <mux_> anyone here who knows a thing or two about serial ports under Windows?
[08:59:18] <DigiGram> oh mux_ why Windows... lol
[08:59:41] <mux_> sorry, I kind of like it but more importantly, all my problems only exist on Windows
[08:59:50] <mux_> like life problems
[09:01:26] <DigiGram> lol mux_ I'm just kidding, many people like Windows, I've just never tried any serial on it
[09:03:04] <mux_> I've had a persistent problem in all versions of Windows that when I am using a virtual serial port (as in a USB device with USB CDC-ACM) and I remove the USB device, the port is forever blocked until a reboot
[09:03:28] <mux_> even after shutting down the program that was using it and theoretically freeing up that port lock
[09:03:45] <mux_> the only solution is either a reboot or a reassignment to another COM port number
[09:04:06] <DigiGram> oh yeah I've heard about that, and I've seen it in commercial applications we use with virtual COM as well
[09:04:29] <mux_> there *must* be some way to avoid this
[09:04:59] <mux_> I would be heartbroken if I have to use something else than virtual serial
[09:05:18] <mux_> it would break compatibility with so much stuff
[09:07:48] <DigiGram> but restarting Windows works atleast?
[09:08:51] <mux_> yeah, but I am a bit hesitant to say in my device manual 'if you accidentally unplug my device in operation, you have to restart your entire measurement machine'
[09:09:12] <mux_> I think people will be doing a feature request at that point
[09:10:29] <DigiGram> lol yeah, I agree that sucks, just trying to think of ideas
[09:12:10] <mux_> I don't expect there to be an easy solution, I've used virtual serial stuff for about 2 years and always had that problem
[09:12:36] <mux_> but for this application I actually have full control over everything, hardware, firmware, computer-side software
[09:12:52] <mux_> so maybe somebody here had the same problem and solved it through one of these means
[09:32:06] <DigiGram> mux_ check this answer: http://superuser.com/questions/408976/how-do-i-clean-up-com-ports-in-use
[09:32:14] <DigiGram> maybe you can run a regedit script?
[09:35:29] <woodyj21> mux_: FWIW, i use a piece of musical equimpent attached to my windows PC, if i unplug the USB while the computer is on, you have to un-install all the drivers and re-install them again.
[09:35:51] <woodyj21> dev's say it can't be fixed, so commerical products do have that type draw back too...
[09:37:56] <Jartza> whee
[09:38:20] <Jartza> got my first-ever PCBs from hackvana today
[09:38:29] <Jartza> https://www.dropbox.com/sh/n16lougbfe3a5th/AABQIwcbPoSPP3xAAU3xSi5oa?dl=0#/
[09:47:24] <mux_> Digigram, woodyj21: thanks for the answers, I just got back from grocery shopping
[09:48:22] <DigiGram> pleasure mux_ , I hope it works or puts you on a train of thoughts atleast
[09:48:38] <woodyj21> same!
[09:48:40] <mux_> as far as the superuser thing goes: yeah, I know about that but that doesn't actually solve anything
[09:49:00] <mux_> all the signs point to 'it cannot be fixed' but I am too stubborn to believe that
[09:49:49] <DigiGram> ah. I agree it should be fixable
[09:50:29] <mux_> I *think* that it has something to do with how a program hogging the port handles its COM port objects
[09:50:51] <mux_> so if I have control over that, I might just be able to detect a device that was unplugged and free up the port
[09:51:20] <mux_> how to actually do that will be a long road, I know plenty of C for embedded stuff but I am not that great with win32 programming
[09:52:33] <DigiGram> well good luck! If you do figure it out, share it with the world! lol
[11:06:16] <NicoHood> any idea why i cannot include this c library which works perfectly with a makefile? https://gist.github.com/NicoHood/0db31e16774e7397f8a6
[12:51:37] <bss36504> N1njaneer: I have good news
[12:52:05] <bss36504> I got a new scope as a gift. A Keysight MSOX2024 + all software options
[12:52:24] <bss36504> I’m quite enthused
[12:55:17] <woodyj21> bss36504: i bet you are :)
[12:55:33] <N1njaneer> bss36504: awesome!!
[12:55:37] <bss36504> Yeah, it’s the nicest piece of equipment I own
[12:55:39] <N1njaneer> Put it to good use.
[12:56:12] <bss36504> I sure will. I’m thinking of doing a UHF RFID reader project right now. Lots of antenna/RF stuff to learn first though
[12:58:42] <N1njaneer> How'd you get that hoookup? :)
[13:01:09] <N1njaneer> bss36504: Just use the off-the-shelf chips for RFID - it's like an IC and a handful of passives.
[13:06:08] <bss36504> N1njaneer: A very dear friend and mentor decided that I needed a scope, so he made it happen. I recieved it today. The UHF stuff is really difficult to find chips for. The
[13:06:08] <bss36504> AS3991 from AMS is pretty good, but I believe you still need some RF analog stuff to make it work. Impinj makes a SiP solution with all the RF circuitry built in (the Indy RS500), but you need to buy a $900 develpment board before they will sell you single chips.
[13:06:23] <bss36504> AS3991 from AMS is pretty good, but I believe you still need some RF analog stuff to make it work. Impinj makes a SiP solution with all the RF circuitry built in (the Indy RS500), but you need to buy a $900 develpment board before they will sell you single chips.
[13:29:07] <N1njaneer> bss36504: Gotcha :)
[13:29:26] <Jartza> N1njaneer: did you see my first-ever pcb? :)
[13:30:18] <Jartza> N1njaneer: https://www.dropbox.com/sh/n16lougbfe3a5th/AABQIwcbPoSPP3xAAU3xSi5oa?dl=0#/
[13:30:31] <Jartza> well, first-ever factory-made
[13:32:16] <Jartza> it even works
[13:32:56] <bss36504> Well i would hope so with that many ordered!
[13:33:22] <Jartza> well I ordered 20
[13:33:26] <Jartza> got a tad more :)
[13:33:31] <bss36504> Oh alright haha
[13:35:38] <Tom_itx> that's usually the case
[13:40:00] <Jartza> but anyways, lot of people here (and on #hackvana) helped me with that
[13:40:22] <Jartza> quite exciting still :)
[13:41:13] <Tom_itx> can i look too or is that link strictly for N1njaneer?
[13:42:16] <Jartza> :)
[13:42:18] <Jartza> you can
[13:42:26] <Tom_itx> phew!
[13:42:29] <Tom_itx> i did already
[13:42:56] <Tom_itx> what's it gonna do?
[13:43:32] <Jartza> it's an electronic namebadge that you can update using modem :)
[13:43:52] <Jartza> meaning, headphone connector of cellphone/tablet/laptop/pc/whatnot
[13:43:58] <Jartza> and audio
[13:44:31] <Jartza> Tom_itx: something like this: https://www.dropbox.com/s/gmgpxydy86b7gmg/VID_20140401_020840.mp4?dl=0
[13:44:44] <Jartza> although, that's an very-very-very-early proto
[13:45:29] <Jartza> that proto has smaller display, but basically same lcd-chip inside
[13:46:15] <Jartza> runs at least 36 hours with one aaa battery
[13:47:04] <Tom_itx> what's it's application?
[13:47:09] <Tom_itx> work related?
[13:47:11] <Tom_itx> fun?
[13:47:26] <N1njaneer> Jartza: Oooh nice, that came out looking very good! Congrats!
[13:47:42] <Jartza> thanks
[13:47:45] <N1njaneer> I still have my first PCB that I'd ever done back in, hmmm... 2001 I guess :)
[13:47:47] <Jartza> and thanks for all the help
[13:48:07] <N1njaneer> Was an ISA card. It worked but it was far from pretty!
[13:48:11] <N1njaneer> Sure thing!
[13:48:27] <Jartza> Tom_itx: well, to be used in all kinds of trade fairs, conventions, meetings etc.
[13:48:40] <Jartza> just to differentiate a bit from that plain old paper nametag :)
[13:49:11] <Jartza> work related in a sense that the first batch will be used by people of our company
[13:49:27] <Jartza> but also learning process for me with electronics, pcb creation and stuff
[13:50:00] <Jartza> some parts of the schematics are actually related to other, more work related stuff, that I wanted to try out before putting it into real use :)
[13:50:16] <Jartza> I'd call that "fun work related" project
[13:50:24] <bss36504> Have you considered a CR2032 button battery and some SMD components/
[13:50:25] <bss36504> ?
[13:50:30] <bss36504> It looks very cool though.
[13:50:38] <bss36504> I’m impressed with the scrolling
[13:51:35] <Jartza> bss36504: there are "some smt components" :)
[13:51:41] <Jartza> the battery power booster
[13:51:45] <Jartza> gives 3.3V out
[13:52:01] <Jartza> others are through-hole because we had so many of those in shelf
[13:52:10] <Jartza> as we didn't want to use too much money on this :)
[13:52:28] <bss36504> I looked more and I saw them on the back, sorry. I was thinking the diodes and bigger caps on top. Also, a CR2032 is 3V
[13:52:57] <bss36504> Makes sense though to use the stuff you have a lot of
[13:53:00] <Jartza> cs2032 I did consider yes, but it lasted much much shorter time and it's also much more expensive
[13:53:28] <bss36504> very true. I have a fascination with making things as small as possible :)
[13:53:34] <Jartza> whereas aaa is available on any store, kiosk, gas station...
[13:53:55] <Jartza> so availability and price was a winner here :)
[13:54:41] <Jartza> escpecially I have lots of those caps :)
[13:54:54] <Jartza> like, few thousand sitting without any use
[13:55:06] <bss36504> haha that seems worth while to use them then
[13:55:20] <Jartza> especially for learning-project like this
[13:56:15] <N1njaneer> Shrinking designs down tiny is a lot of fun.
[13:56:27] <Jartza> bss36504: the final product actually features much more effects, but I don't have any video on those yet
[13:56:35] <bss36504> Oh cool
[13:56:50] <Jartza> but if I didn't have those components already sitting on shelf, I would've gone all-smt
[13:57:10] <N1njaneer> We recently did an amazingly compacted design - 48 channels of constant-current LED dimming, ATMEGA328, RS485, IR reception, and programming headers all in about 1.5" of board space, double-sided.
[13:57:32] <bss36504> Thats pretty serious
[13:57:40] <N1njaneer> It was tight, 4-layer, but didn't have to go below 6/6 and 12 mil vias :)
[13:57:43] <tunixbsd> Can i use two avr in the same cristall ?
[13:57:48] <bss36504> no
[13:58:05] <Jartza> although those effects require a bit of a hacking, as that display is el-cheapo-chinese alphanumeric :)
[13:58:09] <N1njaneer> tunixbsd: Use a TTL oscillator to share them, or use CLKOUT to drive the second AVR
[13:58:16] <bss36504> tunixbsd: if you want one crystal, use the clkout pin of one mcu to clock the other
[13:58:19] <Jartza> not really graphical display
[13:58:47] <Jartza> although some hacking can be made because it supports user definable font for 8 characters
[13:59:00] <Jartza> 5x8 pixels
[14:00:01] <Jartza> like those flying rockets, basically there is just 6 characters on screen and the font is updated for every frame :)
[14:00:14] <Jartza> or, 6 characters on both sides of the text
[14:01:13] <Jartza> but fun, and educating project
[14:06:45] <NicoHood> at baud 115200 i can get this number of bytes/second, right?
[14:06:45] <NicoHood> so sending 6 bytes take 0.00005208333 seconds, right?
[14:06:58] <bss36504> bits* per second
[14:07:07] <NicoHood> oooh
[14:07:29] <NicoHood> i use standard values. so i ahve to add 8 bit + 1? stop bit?
[14:07:47] <NicoHood> i need a timeout for 6 bytes
[14:08:17] <bss36504> It would be better to just interrupt and increment a counter rather than waiting for six bytes with a time based system
[14:08:31] <bss36504> but then again, Im just making assumptions about what you need
[14:08:33] <NicoHood> so i have to devide /9? is that correct?
[14:08:58] <bss36504> I believe so
[14:09:24] <bss36504> what are you trying to accompluish, other than determining an approximate data rate?
[14:09:57] <NicoHood> what i want to do: filter out protocol data from the serial interrupt. a protocol can have maximum 6 bytes. and if there is a possible valid protocol in progress i want to wait the time to at least finish the possible protocol. if then nothing comes it it will discard the protocol and see the data as normal bytes
[14:10:33] <bss36504> like a time-out?
[14:10:34] <NicoHood> i want to hide Serial data from the user function. the user can use Serial.available() and Serial.read(). and in the interrupt i check for protocols
[14:10:38] <NicoHood> yeah
[14:10:51] <NicoHood> just very very fast
[14:12:12] <bss36504> then possibly using a timer resource would be better. Your Serial.available() is checking to see if there is data *besides* the 6 byte protocol info? is that correct?
[14:12:24] <bss36504> and read() then grabs the info for the user?
[14:12:28] <NicoHood> i dont want that the user gets this protocol data. i want to filter this out. but i dont want to hide data that is not a protocol but waiting to finish
[14:13:40] <bss36504> what is the packet structure? is it like this? <protocol (6 bytes)><data (n bytes)>
[14:13:59] <NicoHood> the protocol is filtered out. and the available() function checks for the filtered out stuff. but its possible that there is anything in the up to 6 bytes protocol cash. and i want to throw this into the "filtered out buffer" for the user if the protocol doesnt finish
[14:14:57] <NicoHood> the protocol is dynamik
[14:15:08] <bss36504> Right, Im talking about what a whole data transmission looks like including the stuff you dont want the user to see. I get the feeling that if you change the way your interrupt works/parses the stuff, you could get better results.
[14:15:34] <NicoHood> http://i.minus.com/iYnwk9mav02e4.png
[14:15:46] <NicoHood> hm its a bit oversized...
[14:15:56] <bss36504> no worries, I’ll take a look
[14:16:26] <NicoHood> i mean the pic^^
[14:19:32] <bss36504> Not really sure I can discern whats happening in there. Lets Look at the first table, for Address 42. you have a lead header, which seems to be always 1,1. The Length seems to indicate the number of following data blocks in bits 2 and 1, that is, I interpret it as <2,1,0>. Then that third blob on the first packet is also part of the data that follows?
[14:19:37] <NicoHood> so the header can filter out wrong data very quick. especially for ascii stuff. but if you start a valid protocol like the first 5 blocks then the protocol is waiting for its last byte
[14:20:11] <NicoHood> to make things more clear:
[14:20:51] <NicoHood> i have a data pipe which filters protocol information. but there is also different data sent over the same pipe. this data should be used by the user and can be whatever he wants
[14:21:27] <NicoHood> lets pretent the user sends 5 valid bytes (the 1st table). then the protocol waits for its last byte, because it can be a possible protocol
[14:22:24] <NicoHood> but now the user calls the read function. then i need a timeout to throw these 5 bytes back to the user, so he can use it. because the protocol is always send in maximum 6 bytes. so after a 6 byte timeout the user should use these 5 bytes
[14:24:54] <bss36504> Ok sure, thats pretty straight forward I think. Everytime a byte comes in to the micro, the interrupt fires. You have a FIFO that stores all the incomming data. Size the FIFO so that it is sufficuently large enough to hold the worst case (I would consider a linked list since it is faster for re-arranging data than an array). I think that size would be 6, in which case I think an array might be ok. When the first byte comes in, check it for the start of pack
[14:24:55] <bss36504> indication, which I believe is 1,1 in bits 7 and 6. Then parse out the lenght and whatever else you need. I really dont see why a timer of any kind would be necessary.
[14:25:00] <bss36504> But maybe I’m not getting it.
[14:28:26] <NicoHood> bss36504: maybe this makes it clearer
[14:28:27] <NicoHood> https://gist.github.com/NicoHood/a6b65065fcc0893494d6
[14:28:51] <NicoHood> the protocol has an intern buffer (6 bytes)
[14:29:18] <NicoHood> what if line 12 is the case 5 times and the protocol holds 5 bytes
[14:30:57] <NicoHood> and THEN the user want to read the data. should i free these bytes? but what if they are a protocol? i just want to pass these 5 bytes to the user if the last valid protocol byte was at a time > a 6 byte recv timeout would be
[14:32:12] <NicoHood> the problem is: i dont want to hold this buffer forever and i dont want to pass it too fast if it could be a protocol. the user should not get any parts of the protocol. but he shouldnt miss his data. so i need a timeout somehow
[14:33:00] <bss36504> So, just for the sake of understanding, a “Protocol” as you call it is a combination of control bits and data or is it just the control bits?
[14:33:45] <NicoHood> the data + the header
[14:33:53] <bss36504> right good.
[14:33:54] <bss36504> ok
[14:34:00] <NicoHood> so the whole table is a complete protocol
[14:34:22] <bss36504> the header should always be the same size, otherwise this isnt a well defined interface. Is the header always n number of bits?
[14:34:28] <NicoHood> and just the beginning of the table (1-5 bytes) is not completed yet
[14:35:31] <NicoHood> the header is always 2 bits. 01 and 00 for data though. the protocol is fully implemented. it throws protocol errors or "work in progress" as you can see
[14:38:14] <NicoHood> this is a workaround with a delay https://gist.github.com/NicoHood/1792054d3e2a6d8e32ed
[14:38:28] <NicoHood> maybe thats everything i need though
[14:38:50] <bss36504> If it works reliably I would go with it
[14:39:22] <NicoHood> well its very hard to time this thing. to access the read function exactly in the moment where a protocol is sent
[14:39:34] <NicoHood> so its hard to test^^
[14:40:06] <NicoHood> i just want to know how long the worst case (waiting for 5 bytes) would take
[14:40:17] <NicoHood> so i can adjust the delay
[14:40:30] <bss36504> 115200/9
[14:40:54] <NicoHood> there is no more overhead? i have default 115200 settings
[14:41:01] <NicoHood> (on arduino)
[14:42:00] <tunixbsd> how i can set the clock output in clkout pin ?
[14:42:17] <NicoHood> 5*1/(115200/9) = 0.000390625 correct?
[14:42:52] <NicoHood> not sure if its worth to calculate the delay in real time or just use a fixed 5 uS value. because 5uS is not much...
[14:43:07] <NicoHood> might be a problem if i call this too often
[14:45:02] <bss36504> 5 us is significantly less than 300us like you calculated. go with a 1ms delay or something
[14:45:35] <NicoHood> wait. its not a rare condition. if the buffer is freed very fast its nearly empty everytime. and if i wait 5uS on every reading... then it fills again and empty fast...
[14:45:43] <NicoHood> oh. you are right
[14:46:05] <NicoHood> then i should calculate this thing
[14:55:48] <Jartza> nice
[14:56:02] <Jartza> practicing with my hot air blower
[14:56:42] <Jartza> guess it could be worse for a first try
[14:56:45] <Jartza> https://www.dropbox.com/s/bkf3ekq6r8m5ybt/20140828_013.jpg?dl=0
[14:57:17] <Jartza> a little blurry pic though
[14:58:17] <vsync_> what's that board for
[14:58:39] <vsync_> "rocket science, inc."
[14:58:40] <Jartza> C10 didn't quite settle and is a bit tilted
[14:58:51] <Jartza> vsync_: ahh, electronic namebadge
[14:59:08] <Jartza> texts can be updated with audio, using headphone connector of phone/tablet/laptop
[14:59:12] <Jartza> or whatever
[14:59:28] <Jartza> those smt parts are for power booster
[14:59:33] <Jartza> it runs with aaa battery
[15:02:18] <vsync_> alright, but what's the board for?
[15:03:22] <Jartza> 21:29 < Jartza> Tom_itx: well, to be used in all kinds of trade fairs, conventions, meetings etc.
[15:03:25] <Jartza> 21:29 < Jartza> just to differentiate a bit from that plain old paper nametag :)
[15:03:28] <Jartza> 21:30 < Jartza> work related in a sense that the first batch will be used by people of our company
[15:03:31] <Jartza> 21:30 < Jartza> but also learning process for me with electronics, pcb creation and stuff
[15:03:36] <tunixbsd> how i can set the clock output in clkout pin ?
[15:03:46] <bss36504> tunixbsd: fuses!
[15:05:19] <vsync_> oh, my state of intoxication is at a level in which i failed to understood namebadge the first time...
[15:05:51] <vsync_> Now i just wish N1njaneer and the guy who was reading art of electronics... Could have some fun with the AC/DC-register and so on
[15:06:11] <vsync_> + throw "was here", in there somewhere
[15:07:36] <tunixbsd> Humm ... I can't find the CKSEL in the Register Sumary .
[15:07:47] <bss36504> What micro?
[15:07:56] <bss36504> I think its CKOUT
[15:10:44] <tunixbsd> bss36504: Is CKSEL a register ?
[15:11:37] <bss36504> CKOUT is a fuse. Are you using Studio to program your micro? If so, just go to the fuse tab on the programming dialog. If youre going via a command line, I cant help you.
[15:12:40] <tunixbsd> bss36504: I'm using the avrdude to program my atmega in a breadboard via arduino .
[15:13:01] <bss36504> yeah sorry, I have no clue off hand how to do that.
[15:13:38] <vsync_> CKSEL's are fuses aswell
[15:14:20] <woodyj21> tunixbsd: you can use avrdude to set fuses
[15:14:24] <woodyj21> from the command line
[15:14:32] <tunixbsd> bss36504: Is there a poblem if i simple connect wires in the crystal of the first atmega two the second ?
[15:14:33] <woodyj21> it's what the arduino ide actually uses under the hood
[15:14:46] <bss36504> tunixbsd: yes, that will not work
[15:15:23] <tunixbsd> bss36504: I have do it here and it's working .
[15:15:50] <bss36504> Well if it works, then I guess thats your answer. generally it should not though.
[15:22:48] <vsync_> you want to disable SPIEN
[15:22:53] <vsync_> before you do anything else
[15:23:02] <bss36504> wut
[15:23:15] <bss36504> no
[15:23:15] <vsync_> das rite.
[15:23:19] <bss36504> dont listen
[15:23:20] <vsync_> don't listen to him
[15:23:24] <bss36504> lo
[15:23:26] <bss36504> lol*
[15:25:22] <tunixbsd> bss36504: How i use avrdude to set the fuses ?
[15:25:37] <bss36504> I have no idea
[15:25:44] <bss36504> I never use avrdude directly
[15:25:57] <woodyj21> tunixbsd: it's not too bad, takes some googling and trial and error
[15:26:11] <bss36504> just do not disable SPIEN
[15:28:29] <vsync_> just google how to un-program the SPIEN
[15:28:43] <vsync_> unprogram, deprogram, xx-program? I don't know the proper lingo
[15:50:35] <Jartza> https://www.dropbox.com/s/bdkxuylk6btlbcf/20140828_018.jpg?dl=0
[15:51:09] <N1njaneer> Very nice!!
[15:51:31] <Jartza> yeah
[15:51:35] <Jartza> it even works ;)
[15:51:38] <NicoHood> bss36504: i'd appreciate if you could have a look: https://gist.github.com/NicoHood/3011ab87cd4869f26c59#file-gistfile1-cpp-L5-L6
[15:51:58] <Jartza> N1njaneer: and the display also leaks light so the logo is visible even in the dark :D
[15:52:57] <Jartza> I'm quite surprised the first-ever-factory-ordered-pcb was correct
[15:53:22] <Jartza> but I have to say, all people here were helpful and hackvana did help a lot, and people on #hackvana too
[15:54:33] <NicoHood> (updated the gist, some writing mistakes, its at least compiling)
[15:55:33] <Jartza> all the components did fit also, which was nice :)
[15:55:59] <Jartza> I was especially worried about the phone jack and lcd, as I had to make own components for those
[15:56:41] <Jartza> I still have to practice that hot air station a bit more
[15:56:43] <Jartza> https://www.dropbox.com/s/882b20xsdz78jee/20140828_014_1.jpg?dl=0
[15:57:00] <Jartza> not a total disaster and it works, but components are a little tilted and stuff :)
[15:57:29] <Jartza> I also need some stuff to clean up the flux residues... any suggestions?
[16:01:21] <N1njaneer> Depends on the kind of flux.
[16:02:27] <N1njaneer> If it's a rosin-core or RMA then isopropyl alcohol will generally clean it fine. If it's a no-clean flux, the alcohol will produce a nasty white residue.
[16:03:22] <N1njaneer> If you are doing thru-hold soldering like this regularly I would highly suggest picking up some solder with water-soluable flux, since it washes right off with hot water in the sink and will give you an absolutely pristine finish on the joints.
[16:05:07] <N1njaneer> Only downside is that if you use water soluable flux, you ABSOLUTELY must clean it off, else it will corrode the electronics over time since the flux never technically deactivates.
[16:07:13] <Jartza> no idea about this solder, what kind of flux it has
[16:07:19] <N1njaneer> No-Clean works great for SMT when you reflow since it won't produce sputtering and the clear residue will generally be invisible unless you are looking under a scope. Downside to No-Clean is that it gets messier when you rework, it can only be cleaned up with a special flux remover pen, will turn white and nasty if you hit it with IPA, and it has a not-insignificant amount of electrical property
[16:07:19] <N1njaneer> to it. Generally won't cause problems on digital circuits, but can be enough to cause some potential problems on very sensitive analog circuits.
[16:07:39] <Jartza> Qualitäts-Lötzinn Fixpoint Pb38 Sn60 Cu2
[16:07:43] <Jartza> it's all it says :)
[16:07:56] <NicoHood> :D
[16:08:21] <N1njaneer> Wow, you don't often see that formulation for electronics use.
[16:08:28] <Jartza> but it must be good, it talks german and says quality
[16:08:29] <Jartza> :D
[16:08:58] <Jartza> actually, it was only stuff that was available on the shelf at that point and I was too lazy to order online
[16:09:03] <N1njaneer> Jartza: Get yourself some quality SAC305 lead-free and don't look back :)
[16:09:05] <Jartza> but it's just fine for my protos
[16:09:51] <N1njaneer> But if you switch to a known solder type early-on you don't have to worry about ever mixing them up.
[16:10:01] <Jartza> I think at customer we have some "aim solder" sac305 lead-free
[16:10:05] <N1njaneer> Mixing solder formulations is a Bad Thinkg if you need to rework.
[16:10:10] <Jartza> I could get one roll there
[16:10:25] <N1njaneer> We use pretty much all AIM and Kester stuff here - highly reccomend both :)
[16:10:37] <N1njaneer> Just check the AIM part number to see if it's a WS or NC
[16:10:41] <Jartza> yeah, I guess that Kone Elevators doesn't use bad stuff :)
[16:10:48] <Jartza> 'cause that's my current customer
[16:11:24] <N1njaneer> Where are you again?
[16:11:39] <Jartza> I have some sort of vague memory of it saying "no clean flux" on the roll
[16:11:43] <Jartza> N1njaneer: finland
[16:12:12] <Jartza> anyway, these 20 protos I'll assemble with "whatever I have" as I also ordered them with leaded coating
[16:12:34] <Jartza> but for future I guess I go for non-leaded
[16:12:49] <N1njaneer> You'll want to try to use SAC305 for as much as you can, then. The EU was the whole push on this crazy lead-free initiative for RoHS stuff.
[16:12:59] <Jartza> I know
[16:13:09] <Jartza> but these protos won't leave our company, so it's not an issue
[16:13:24] <Jartza> we might make another batch of giveaways for our customers, if they like these :)
[16:13:34] <Jartza> then they need to be rohs compliant and stuff
[16:13:38] <N1njaneer> Sure. Just good to switch to the final solder you intend to use and stick with it, so there's never any quetion.
[16:13:52] <Jartza> yeah
[16:14:01] <Jartza> I'll get one roll of that aim
[16:14:07] <N1njaneer> Reworking and mixing leaded and lead-free will lead to indeterminate intermetallic formulation.
[16:14:37] <Jartza> yes, that much I know, and it's the reason why I ordered boards with lead-tin coating
[16:14:43] <N1njaneer> Cool :)
[16:14:50] <Jartza> because I have leaded tin and leaded solder paste at home :)
[16:14:57] <N1njaneer> Or just go with ENIG and you can use either :)
[16:15:46] <Jartza> :)
[16:16:04] <N1njaneer> The wetting is also fantastic with ENIG
[16:16:12] <Jartza> N1njaneer: any opinion of my first hot air smd-work? :)
[16:16:30] <N1njaneer> Flatter surface, too, which will give you much better results on fine-pitc SMT stuff
[16:16:36] <N1njaneer> Jartza: Pic?
[16:16:41] <Jartza> https://www.dropbox.com/s/882b20xsdz78jee/20140828_014_1.jpg?dl=0
[16:16:59] <Jartza> it works, but I'm not too happy with it
[16:17:52] <Jartza> I use this cheap chinese atten 858d+
[16:18:13] <N1njaneer> The filleting on the joints looks very good as does the joint quality, so the quantities of paste are pretty spot-on. Are you getting little rings of solder balls around the joints, or is that specular reflection from the flux residue?
[16:18:14] <Jartza> just wondering about temperatures, nozzle sizes and stuff
[16:18:34] <Jartza> that's just flux
[16:18:55] <N1njaneer> Overall looks pretty good to me!
[16:19:18] <Jartza> I was just lied to that the components "straighten themselves" :D
[16:19:23] <Jartza> these aren't straight!
[16:19:37] <Jartza> or am I just being too picky? :D
[16:19:38] <N1njaneer> Temperature and nozzle for hand-rework isn't usually as critical since it's really hard to figure out what the joints are actually heating to due to the non-contact nature.
[16:20:12] <N1njaneer> SMT parts will absolutely straighten themselves under the correct conditions - usually easier in a reflow oven, but you can do it by hand.
[16:20:16] <Jartza> I also have no idea about the accuracy of that atten-thingie
[16:20:45] <Jartza> they did straighten, but not that much that I would've liked
[16:20:56] <Jartza> anyways, it works a-ok, so in that sense I'm happy
[16:21:13] <Jartza> I guess the $39 for the atten was money well spent
[16:21:31] <Jartza> previously I did those with soldering iron
[16:21:32] <Jartza> :D
[16:21:41] <N1njaneer> A couple observations -- the pads are a bit oversized for things like D1 - it won't straighten because there's too much surface area on the pad. The pads could probably be just a hair longer for C1 and C2. It's also going to be challenging to get the pads on C10, C1, and some of the parts pn U1 to reflow evenly because there's a lot of thermal conduction due to the connections to the plane
[16:22:00] <Jartza> like this proto: https://www.dropbox.com/s/sg70jc38ej0ul1k/20140730_001.jpg?dl=0
[16:22:44] <N1njaneer> Let me put it this way - the components may be a little crooked, but that's about the only thing I can see that would be nice to fix, but it's purely visual and doesn't affect anything. There are a million ways this could be far worse!
[16:23:11] <N1njaneer> Like people that solder these with an iron, and really poorly, with horrible joint quality.
[16:23:11] <Jartza> ...and without magnification it looks ok to plain eye :)
[16:23:27] <Jartza> N1njaneer: like my last link? :D
[16:23:39] <N1njaneer> If you went with a WS flux you could wash away all of the residue on the board, too :)
[16:23:56] <Jartza> :)
[16:24:09] <N1njaneer> Jartza: Nah, still better than I've seen! And without soldermask it's really challenging to control the solder joint volume accurately.
[16:24:30] <Jartza> it's all been anyways fun and educating
[16:24:39] <Jartza> which is main point for me
[16:24:40] <N1njaneer> It looks like you've done a spectacular job!
[16:24:44] <Jartza> but all tips are still welcome
[16:24:57] <Jartza> thanks
[16:25:01] <N1njaneer> I am glad to see you doing this correctly using hot-air, too
[16:25:51] <N1njaneer> A lot of people don't realize that when using an iron on passive ceramic parts that it's possible to thermal-shock them and put fractures in the substrate that may be fine now, but may open up in the future after hundreds or thousands of thermal cycles and stressing.
[16:27:42] <N1njaneer> You also have excellent filleting on your joints, so the solder paste volume is pretty much spot-on. It's very common to see boards with WAAAAY too much paste used, like to the point where there is closer to a ball than a fillet for the joint :)
[16:28:21] <Jartza> I took the smallest needle they had to the syringe
[16:28:35] <Jartza> and used my magnifying lamp to get paste just to pads
[16:28:53] <N1njaneer> Your flux also seems to have activated and stayed clear. If you overheat most fluxed they'll start burning badly or will turn a horrid shade of yellow :)
[16:28:56] <Jartza> I also saw a lot of videos where people just made lines of paste across the pads but to me it looked horrible
[16:29:09] <Jartza> and afterwards they fixed them with solder wick
[16:29:12] <Jartza> I didn't want to use wick
[16:29:27] <Jartza> to me wick sounds like you've done something wrong to start with
[16:29:40] <N1njaneer> The lines of paste will actually work reasonably well if you control your volume and have LPI damming between the pads. If you get the volume right you won't wind up with any bridges.
[16:30:27] <N1njaneer> Most times if you have a high-quality flux pen and a mini-wave tip you can clear all bridges off even the finest-pitch TQFPs without having to resort to using a wick. All in the technique.
[16:30:58] <Jartza> ahh, I don't have the pen
[16:31:06] <N1njaneer> But the line trick also tends to only work if you are reflowing the boards - hot air will heat it unevenly and just tend to push it around in to a mess :)
[16:31:15] <Jartza> but I do have some flux that's sort of like a paste
[16:31:28] <N1njaneer> Kester makes some great flux pens which are very inexpensive and key for good rework.
[16:31:38] <Jartza> chipquik smd291 no-clean paste flux
[16:31:42] <Jartza> that's what it says
[16:31:51] <Jartza> haven't used that yet for anything, though
[16:33:17] <N1njaneer> I've only needed to use liquid flux in a pin dispense or the flux pens in the past decade of doing rework. I actually have a tube of liquid flux paste here somewhere that I've never used :)
[16:35:03] <Jartza> heh
[16:35:07] <Jartza> well, thanks for the tips anyway
[16:35:21] <Jartza> I guess I dare to solder a second board then too :)
[16:35:22] <N1njaneer> Hope that helps!
[16:37:30] <Jartza> helps a lot
[16:37:56] <Jartza> I have this sort of "deficiency" that I want to understand how I can make things even better, or right way, already from the start
[16:38:11] <Jartza> I hate learning "wrong" and then unlearning that wrong way of doing things
[16:38:26] <N1njaneer> It's a good way to work!
[16:38:32] <N1njaneer> But
[16:38:38] <Jartza> sometimes a bit slow
[16:38:53] <N1njaneer> It's useful to understand WHY certain things can be done a 'better' or 'worse' way
[16:39:07] <N1njaneer> So even if you have to make corrections, it makes a better long-term impact :)
[16:39:17] <Jartza> indeed, that's exactly why I ask for opinions
[16:39:58] <Jartza> I'm not afraid of doing things wrong :) but I want to know when I did something wrong and to learn from it.
[16:40:10] <Jartza> and not just keep doing because "it works for me"
[16:41:00] <Jartza> the other reason is, I sometimes do teaching (did that as my main job for 3 years), and especially I don't want to teach people something that "worked for me" but is inherently wrong ;)
[17:04:47] <Jartza> https://www.dropbox.com/s/eqk59lposs32i5l/20140829_002.jpg?dl=0
[17:04:50] <Jartza> so I did dare ;)
[17:11:43] <vsync_> shit, it's captain morgan
[17:11:47] <vsync_> i've been drinking you.
[17:15:36] <aandrew> lol
[17:15:54] <aandrew> now let's see the extended PETSCII character set!
[17:26:56] <The_Coolest> Jartza what is that?
[17:29:03] <hetii> Hi
[17:29:04] <hetii> :)
[17:29:09] <vsync_> Hi, sup
[17:30:10] <Jartza> The_Coolest: it's my electronic nametag, with some effects & animations
[17:30:34] <Jartza> and texts are updateable via headphone connector of your phone/tablet/laptop/pc/whatnot
[17:30:58] <hetii> I play with openwrt and some router board where I read gpio state (two buttons). The point is that I have as button two touch sensor so my gpios change just for a short while.
[17:31:12] <aandrew> WormDude: ping
[17:31:15] <aandrew> http://www.aliexpress.com/item/Special-explosion-models-3-7V-lithium-polymer-battery/1683092897.html
[17:31:20] <aandrew> does that really say "special explosion" ?
[17:31:39] <Jartza> they explode in a special way
[17:31:52] <hetii> on main thread I also display a menu on graphis display and this take such amount of time that my presses are not able to be notice
[17:31:57] <The_Coolest> Jartza hmmmmm
[17:32:00] <The_Coolest> interesting
[17:32:13] <The_Coolest> is it running from a single AA?
[17:32:41] <hetii> I try use another thread where i scan my buttons but this loop consume 100% of my cpu :/
[17:33:07] <The_Coolest> another thread? on an avr?
[17:33:37] <hetii> no, as i said its a linux(openwrt)
[17:34:11] <hetii> cpu model : MIPS 24Kc V7.4
[17:34:17] <hetii> system type : Atheros AR9330 rev 1
[17:37:19] <Jartza> The_Coolest: yeah, it's running on single aaa for ~36-40 hours
[17:37:41] <Jartza> and attiny85
[17:37:45] <The_Coolest> Jartza what DC-DC converter are you using?
[17:37:53] <Jartza> ncp1402
[17:38:02] <The_Coolest> Cool.
[17:38:04] <homeflux> hi
[17:38:16] <homeflux> anyone in here experienced inaccuracies with ds18s20 temp sensors?
[17:38:32] <The_Coolest> Jartza I'm just sitting here, looking at metal film 0805 SMD resistors and quietly weeping.
[17:38:41] <Jartza> :)
[17:38:50] <homeflux> i have here 2 ds18s20 (diff batches) with (yes) display the same temp, but the temp seems far to high
[17:39:03] <homeflux> it says, that my room temp is around 28C
[17:39:07] <homeflux> which it isn
[17:39:09] <The_Coolest> Jartza mhm, $0.5 a pop
[17:39:14] <homeflux> i would be sweating
[17:39:22] <homeflux> i tried it with the arduino library
[17:39:25] <Jartza> The_Coolest: yeah, something like that
[17:39:42] <The_Coolest> ah well
[17:39:54] <The_Coolest> I'll probably just go for thin film then :|
[17:56:39] <woodyj21> homeflux: is it constant 28C?
[18:11:50] <Jartza> anyways, I'm off to bed, three boards successfully soldered and working
[18:11:59] <Jartza> laters!
[18:12:01] <Jartza> sleep &
[18:17:42] <N1njaneer> Have fun!!
[18:17:44] <N1njaneer> And sleep well!
[18:35:34] <homeflux> woodyj21: yes, it is
[18:41:48] <woodyj21> homeflux: that's what I got when i had wiring issues
[18:41:59] <woodyj21> have u used them b4?
[18:43:12] <homeflux_> the strange thing is: they both (different batches) show the same value
[18:43:24] <woodyj21> reason i ask, is the parasitic power and pull-up resistor combo wasn't starightfowrd to me... once you get it right its awesome, but gotta check like 3 times :)
[18:43:35] <woodyj21> yeah, that leads me to suspect wiring
[18:44:09] <woodyj21> how many wire are you using 2 or 3?
[18:48:58] <homeflux_> i use it in parasitic mode
[18:49:06] <homeflux_> so, 2 wires
[18:49:42] <homeflux_> the pullup resistor is on the pcb
[18:49:58] <woodyj21> ahh... so you can't mess it up :) ... hmmm...
[18:50:13] <woodyj21> very long wires?
[18:51:00] <homeflux_> ~2m :/
[18:51:03] <homeflux_> hmm, iam clueless
[18:51:04] <woodyj21> not long
[18:51:09] <woodyj21> pastbin of code?
[18:51:16] <woodyj21> *pastebin
[18:51:27] <homeflux_> i dont expect, that theres an arror inside the lib since its the example sketch, which should be error-free since its very popular
[18:51:28] <homeflux_> hmm
[18:51:39] <woodyj21> LoL... "should be"...
[18:51:48] <woodyj21> never trust... does it compile and run?
[18:51:58] <homeflux_> all works flawlessly
[18:52:15] <homeflux_> serial output, it reads the rom, gets the data, calcs the crc, all correctly
[18:52:21] <woodyj21> good. I've had bugger-bear problems w/ "template code" in the past :)
[18:52:28] <homeflux_> but theres no way, that theres 28C inside here
[18:52:29] <woodyj21> but just high temp
[18:52:49] <woodyj21> can you reach the sensor, put ice or body heat on it
[18:52:53] <woodyj21> see if it changes....
[18:53:04] <homeflux_> when i touch it with my fingers, the temp rises
[18:53:07] <homeflux_> so all okay
[18:53:09] <homeflux_> :/
[18:53:14] <homeflux_> i could try it with icewater
[18:53:16] <homeflux_> hmmm
[18:53:28] <homeflux_> or better
[18:53:30] <homeflux_> boiling water
[18:53:37] <woodyj21> well, if that's the case everything is working, the calibration might be off.... in your code, add an off-set
[18:53:41] <homeflux_> but for this, id need an ambient pressure sensor aswell
[18:53:42] <homeflux_> meh
[18:54:09] <homeflux_> yeah, that was my first guess aswell, woodyj21
[18:54:15] <homeflux_> so i took a second sensor
[18:54:22] <homeflux_> which displays roughly the same
[18:54:31] <homeflux_> about ~1°C offset between the sensors
[18:54:51] <homeflux_> diff batches
[18:54:53] <homeflux_> strange thing
[18:55:08] <woodyj21> homeflux_: coinincidence maybe, but yea, odd
[19:56:48] <hetii> About my gpio handling. fopen/fread/fclose -> cpu usage 30%, when i do instead fread/fseek(0,0) cpu usage is 1~3% :)
[22:33:13] <Darksmurf> Does anyone have any input on PyMite - aka Python for AVRs? Doesn't look like its been updated in awhile, and I can't tell if its worth looking at.
[22:50:43] <WormDude> aandrew, pong :P
[22:53:16] <WormFood> I just arrived home, after being gone all week. I went to 玉林 and just now came back from 长沙. (the high speed train is cool)...so give me a shout when you're back
[22:54:36] <aandrew> I'm here
[22:54:47] <aandrew> I was just asking about http://www.aliexpress.com/item/Special-explosion-models-3-7V-lithium-polymer-battery/1683092897.html
[22:55:05] <aandrew> asking if the writing on the battery said anything like that or if it's just the vendor being cute
[22:55:21] <aandrew> how far apart are those two cities?