Updates from September, 2011 Toggle Comment Threads | Keyboard Shortcuts

  • charliex 7:40 pm on September 5, 2011 Permalink | Reply  

    Pick and place So here we are with… 

    Pick and place;

    So here we are with part two of the build. We’ve figured out most of it, started the build of the arm board and so on, then on Friday night late I have one of those, hmmm, moments and say wait we have a lot of ADK mega arduino boards lying around (because we made a tonne of them for defcon 19). So a quick count of the IO pins needed vs the mega and we find it can be done. 

    We test fire the MOSFETs with our ADK arduino, using one of the ATC( tool changer) pneumatic switches. That works just fine, the modern MOSFETs are amazing even though we need no where near the level of current this thing can handle.

     

    We wired up a quick test.

    Breakout board for the TUMT6 MOSFET

     

    Just as ping is the ubiquitous test on the internet, blink.pde is on the arduino.

    Success, yes the tool did go flying off but that’s ok! We simply connected up pin 13 of the mega to the electro switches in the top left, the board is bypassed since it does a BCD decode and select.

    Blink does it’s thing.

     

    So time to build up the new interface card, a quick search through some of the old machines we find the right floppy pin cable for the board, and the old 50 pin scsi type.. thanks petty!..

    So  next step is to CNC up a header quick board, its an extremely simple board. Bust out eagle and start making the board, the Juki has one oddness that the connectors run 1-2-3-4-5-6… etc vs 1.3.5.7.9.. so I had to build a custom part in eagle..

    So I start off modifying our ARM board by sticking an arduino mega shield in the middle with the idea of wiring it upto all the mosfets etc.

    But then I think, wait a second why do that? Lets just leave the IO board and make a shield that plugs into the Juki’s existing IO connectors. So another project in eagle and its even simpler this time.

    Yeah that’s slightly less complicated. So  basically we’re just mapping each of the IO’s to the arduino, I’m not much of an arduino person myself I prefer ARM for embedded, but we had lots of parts lying around and it was super simple form factor which is the point of the arduino and we sold out of all our arm based arduinos at defcon. So I ended up using the tx/rx as  an that has to be rerouted later, but luckily I mapped it to the down switch for the teaching panel, which we no longer need. However that’s not how we do things at NSL so it’ll be remade and milled.

    Now add the headers, this is a real chore they’re simple to obtain, but so cheap but a bitch to solder onto a board that’s not plated…

    Also someone missed some pads..

     

    Whoohoo perfect, (well sort of)

    Now for a test fit onto the machines IO board.

     

    Check continuity etc. Make sure that GND is mapped…

     

    Getting ready to fire it up

    Plugged into into the ADK arduino

     

    Lets test fire one of the air lines…. Power up the compressor, write a quick bit of arduino code and !

     

    One of the lines we ‘repaired’ pops off and attacks KRS and mmca, But it works ! We haven’t replaced all the airlines yet and they’re hard to get locally it seems. We test the switches here too, things are looking good.

    We skipped a little ahead above, the test code required some simple though into it.

    First set all the pins to input
    Next set the individual output pins to output

    Which wasn’t enough to make anything read.. So a quick poke around and some head scratching and the answers simple, we have to make the pins  for input set to HIGH first, so a quick change and off it goes.

    All the defaults for out pins are set HIGH too.

    So now it’s a case of mapping all the IOs in arduino and writing bits of code.

    we decide to decode the ATC (toolchanger) first, it uses a select + 3 lines of BCD. 4 lines are assigned to the ardunio and then we figure out which bit controls which tool changer.

    Obviously the smart thing to do is make it do this :-

    with more gusto!

    this is more fun that the pnp itself

    So next the motors themselves , this is just a case of doing a train of pulses __–__–_–_– etc http://www.flickr.com/photos/krs_/6117717455/

    We have to determine the length of the pulses, its moving very slowly in the video because we’re at the +ms speed, eventually we move to microseconds.

    Adding the limit switches, and this is why i spent $600 on a compressor for airbrushing btw

    Now we’ve done a better job of finding a good speed for the motors, so a quick walk test. This is just doing a limit, change direction test.

    On the motor front now all we have to do is convert pulses to mm and then we can do a gotoxy() function! Which is pretty much all we need

    The X and Y home sensors still aren’t working yet, so while i’m writing this blog and uploading all of our videos to flickr ( since google+ doesn’t seem to have an easy way of embedding videos) I’m working out why the XY home doesn’t work. I’m adjusting the walk function to print out the XHM and YHM sensors after each pulse to see if it only does home when the rotary encoder hit and the home sensor are both on. And we just did a quick test and that indeed is the answer woo!!

    So now to write a quick home function, i’ll have the machine do a bottom left limit find,, move back a little bit up to the right and then slowly move back til it finds home..

    be right back!!

    and now krs is filming me,,, awkard…

    Ok so the home function is now working, the machine goes to top right/back quickly, then left,front quickly, steps back to the right 100 pulses, and back 100 pulses so its definitely not at home, then slowly scans left to find x home, then slowly scans hither to find y home.

    Next steps are to convert the pulses to actual distances so we can do x,y instead of pulses. I also want to do some repeatability tests, in other words go to home, go to position, go to home, go back to position and see if its always the same place. So lets home it, center it, switch on the spot light mark it, and repeat, or use a sharpie

    The spot light had a broken wire in the middle, it’d been poorly repaired once before so we stripped it off and resoldered it.

    We used a ruler to calculate the pulses to mm, using 100 and 500 pulses to see the distance travelled in each X and Y ( the same amount )

    Seeing how far it goes.

     

    I added the home switch, teach switch as the spot light toggle and the cursor pads to move the head. the down button is mapped to RX on the arduino mega so I cheated and used FAST button, we’ll remill a new board tonight with a different layout

    We’re pretty close to getting the full functionality of what we had before with the factory software. Just tool changer positions etc, which is all just finding the spots.

    The speed of the machine has been pedestrian so far, so looking at the original specs the pulses are ramped (since physics) and it moves much faster. So next lets try to match that.

    Scope/LabView looks like this for the original.

     

    The X and Y’s have different stepper controllers, so it has different max speeds. The idea is now to add ramps to the move functions, i threw together a quick ramp into the limit finder test code, of course this means it has a nasty bump as it stops for the limiter. Once we’ve got a good speed going, the new gotoxy() function will do a /~~~~~\ ramp, slow to fast to slow.

     

    Various speed tests

    Goes wrong! We can play a mean mario with this

     

    Yeah! we’ve got a decent speed now. Its hitting the limiter rather than slowing down as it should. The arduino starts off ramping up but since its looking for the limiter it bangs to a  stop, we’re going to calculate the number of pulses needed to get to just before the limits. That way the machine knows how far it can go, even though during most of its working life it’ll never go to the limits.

     

    [Null Space Labs] like most hackerspaces is very srs bizness indeed.

     

    So next I wrote a piece of test code that moves each of the axis slowly, limit to limit for  a few passes the Y result was this :-

    Found Y+ limit = 4202
    Found Y- limit = 10597
    Found Y+ limit = 10597
    Found Y+ limit = 0 (oddity!)
    Found Y- limit = 10597
    Found Y+ limit = 10597
    Found Y- limit = 10597
    Found Y+ limit = 10597

    At faster speeds in the X axis, it deviates but interestingly settles after a few :-

    Found x left limit = 7433
    Found X right limit = 7447
    Found x left limit = 7276
    Found X right limit = 7446
    Found x left limit = 7266
    Found X right limit = 7446
    Found x left limit = 7266
    Found X right limit = 7446
    Found x left limit = 7266
    Found X right limit = 7446
    Found x left limit = 7266
    Found X right limit = 7446
    Found x left limit = 7266
    Found X right limit = 7446

    Running the X at a slower speed gives us this :-

    Found X right limit = 7432
    Found x left limit = 7432
    Found X right limit = 7432
    Found x left limit = 7432
    Found X right limit = 7432
    Found x left limit = 7432
    Found X right limit = 7432

    Which is great, since as it should be its very consistent.

    Our ruler based figurin’ from before gave us the following info :-

    500 pulses = 25mm
    100 pulses = 5mm

    So using that info from above we get

    431 pulses X axis (left to right limit to limit) = 370mm
    10597 pulses for the Y axis(limit to limit ) = 529.85mm

    This is good since it means our speed is workable, and we can now write a function that can start off slow, speed up and slow down, as the machine knows how many pulses it can do before hitting a limit, but we first have to calculate the distance from home to limit for each X and Y axis.  Though most of the time the machine will not be attempting to get to the limit.

    The machines minimum step size is .05mm or 1.9mil’s but we are going to improve to .025mm or 0.984251969 mil! Which is 0.000984251969 inches.

    So now we have converted it to double the resolution of the original equipment we get

    Found x left limit = 14867
    Found X right limit = 14864
    Found x left limit = 14863
    Found X right limit = 14863

    Found Y- limit = 21174
    Found Y+ limit = 21173
    Found Y- limit = 21172
    Found Y+ limit = 21172
    Found Y- limit = 21172
    Found Y+ limit = 21172
    Found Y- limit = 21173

    It’s now 1000 steps per 25mm or 1 step is 0.025mm!

    Awwh yeah!!! Our machine is now able to do smaller parts and greater resolution  than the original!

    So far for this post, it is about 11:00PM west coast time and its been a busy few days, we’ve put about 6 nights work into this and progress has been pretty good. We’ve saved ourselves a lot of money, since a machine that’s not got as good specs would cost us nearly 20K. The machines minimum step size was .05mm or 1.9mil’s but we have improved it to .025mm or 0.984251969 mil! Which is 0.000984251969 inches..

    To recap

    Built arduino shield
    Wrote arduino code
    All pneumatics working
    Repaired reed switch
    Fixed all the broken mechanicals in the head.
    All input switches working on the panel (except down as it was wired to RX oops)
    Limit switches working
    Home sensor working, home written
    Figured out how to ramp up and down the speeds to get the the machine moving quickly
    Automatic Tool Changer all works
    Head down, head up
    Vacuum on and off
    Teach light repaired and working, controllable
    Rotation and centering arms working
    Reed sensor on head up
    Verified our code and board homes the machine to the exact place the original did.
    Calculated travel pulse speed and size of board, machine can gotoxy without a problem
    Doubled the resolution!

    We’ve still got to replace all the hoses as they’re really in bad shape but that’s easy. The next step is software to do the pick and placing, that’s easy too. I’ve already written a gui and added opencv.

     
    • bob 3:52 am on September 7, 2011 Permalink | Reply

      worked on some of the first Juki over 25 years ago, they are solid beasts.

      Just one thing to watch is the inertia of the cables where they enter the P&P head, if the cables swing back & forth, eventually they wear or break the internal conner strands, with the external covers still intact
      It can take months to track the problem down, because it results in random overshoots/undershoots of the mechanics.

    • charliex 4:14 am on September 7, 2011 Permalink | Reply

      yeah our machine arrived with a broken reed switch wire because of exactly that!

    • varun 1:30 pm on September 7, 2011 Permalink | Reply

      Hi,

      Guys heard you are doing the interface board from scratch is it open source if it is please help the guys at http://openpnp.org/wiki/index.php/Main_Page it would be helpfull. Great work guys waiting for the beast to get
      ready.

      Thanks.

      • charliex 4:41 pm on September 7, 2011 Permalink | Reply

        we are making our own, but we also just made a IO mapping interface for the arduino mega. Its pretty specific to the juki though.

    • Niels 10:03 am on June 25, 2013 Permalink | Reply

      Hi guys over there!

      Excellent job you have made!

      We are planning some similar job on a Juki360 machine.
      Would you like to share the Ardino code with us for the control of valves and stepper motors?

      Have a nice day
      Niels (Denmark)

  • charliex 4:57 am on August 1, 2011 Permalink | Reply  

    Its been a fun busy couple of weeks… 

    Its been a fun/busy couple of weeks at our hackerspace Null Space Labs http://032.la, from an idea to a finished dev kit.

    ADS

    2011-07-31_22-03-23_349.jpg

    data

    A couple of weeks ago we decided to redo the Android ADK board from Google and the Circuits@Home/Seeedstudio Arduino board, improving on some aspects of the design but mainly getting it ready for Defcon 19. After doing some rework in Eagle and CNC’ing the boards at Null Space Labs, we sent them off for manufacturing at Silver Circuits ( Who’re also doing a tutorial based on one of the techniques we used for the board, so that’s cool ).

    Oddly a project I’d been working/reworking in my last blog post was also from Circuits@Home, I had no idea til today that Oleg had been the originator of this project, he’s getting apparently not getting much love for it. http://www.circuitsathome.com/ I have a couple of his USB Isolators too.

    On the Demo board we added IR Send and Receive so we can make them into TV B Gone’s, changed out the RGB LED’s for better ones than Google used, made some of the parts bigger to make them easier to build, added the double header row 2×18 for the mega,  and changed the logo Smile for a ninja/pirate droid.

    We also gold plated the demo board, which turned out pretty nice!

    The Arduino board stayed mostly the same, just moving things around though after our first build we’re going to change a few small things that we’ve noticed are problematic in the process.

    A simple pan and tilt was built in Eagle to test the servos, milled out a few interlocking parts and attached a couple of servos.

    Mini pan and tilt

    The Google API uses their USB class software, but it only works on 2.3.4 onwards, and to be honest it doesn’t work on a lot of the 2.3.4 devices either, I couldn’t get my Atrix or Iconia A500 which is 3.1 ( even after I rewrote the code to use the new 3.1 API’s ) So today we took the baseline Seeedstudio APK test and extended it to work with the demo board, I ported all the functions, i2c joystick, RGB Leds and so on to work with MicroBridge instead.

    Most of the time was actually setting up eclipse and the ADK , there are some issues with the version I downloaded of the Google API 10 which wouldn’t let me compile the DemoBoard APK, it turned out that Rev-2 Was named 10-1 and the SDK was using 10 so the usb.jar was missing, renaming it worked. Eclipse is probably the worst IDE I’ve ever used, though its neck and neck with xTunes 4.

    Using the I2C joystick to control the pan/tilt, the temperature and light sensor is on the android tablet, and it also controls the relays from the phone.

    Testing different devices, being a hacker space we have a lot of android phones, not so much of the fruity ones. Here it’s a Samsung Galaxy S2 and an Acer Iconia A500.

    2011-07-30_17-50-14_935.jpg

    The Board running from a cheap Coby android 2.1 tablet thing from Frys Electronics, it was about $150 USD.2011-07-31_19-42-22_36.jpg

    Doing some things with the Coby, actually about the only thing, it doesn’t even play Angry Birds properly.

    2011-07-31_20-34-45_319.jpg

    2011-07-31_20-40-56_433.jpg

    KRS Splitting up resistors to kit for our mini production line.2011-07-31_20-39-13_205.jpg

    Arko is our manual pick and place, ours doesn’t get here for 6 weeks, so we did what most starting civilisations did and relied on ‘free’ labour as its called these days.2011-07-31_20-40-00_763.jpg

    2011-07-31_20-39-55_720.jpg

    Totally awesome NSL tShirt created by [NSL] top bloke and hacker, frank^2.2011-07-31_20-40-08_732.jpg

    Yes even child labour, tsk tsk those evil hacker types, get back to work.

    2011-07-31_20-39-23_982.jpg

    Part of the assembly line, even the food table isn’t sacred.2011-07-31_20-40-17_37.jpg

    Final assemble stage, CPU’s and chips are installed here2011-07-31_20-40-31_503.jpg

    Modified Arduino boards with a few of the jellybeans installed2011-07-31_20-39-51_222.jpg

    CNC’d version of the top demo board.

    2011-07-31_20-53-28_839.jpg

    Stack of boards we did in the last couple of days…. The pick and place can’t arrive soon enough!!!

    2011-07-31_20-40-25_916.jpg

    Some of the microscopes we didn’t use. These are on their way to the Defcon 19 HHV which we’re lending a hand in.

    2011-07-31_20-39-38_841.jpg

    The demo board running a pan/tilt servo setup.

    2011-07-31_20-40-41_374.jpg

    Walk thru of the solder paste application process. (sorry a bit quiet on the audio). I said 5mil for the brass sheet, the original one we tried was 5mil but was too thick, so it’s actually a 3mil sheet, we get them from ace hardware.

    Going from the solder paste to component layout, (Sorry low audio quality).

    mmca soldering in the headers.

    Hot Plating.

    Quick pan of Null Space labs, tis a mess.

    CNC room, low quality, short.

    All the code and changes are available on our wiki , and we’ll have a box of the boards at Defcon too.

    Some of the other things we did this last couple of weeks.

    Our remix of the RFID Arduino shield (PN532), made this into a mega shield, it’s the microbuilder.eu board.

    RFID Shield

    As well as our usual blinky toys.

    Cylon I
    Production version of [NSL] Cylon I

    Cylon II
    [NSL] Cylon II

    Our Logic analyser that fits in an egg
    NullSpace Logic Analyser Egg

    Getting the hot plates machined so we can bring them to defcon, ebay FTW.
    Making a hotplate

    Thermal epoxy
    Thermal epoxy

    Before
    Hot plate (before)

    After
    New mic-6 tooling plate

    See you at Defcon 19 !!

     
    • daniel reetz 9:58 pm on August 1, 2011 Permalink | Reply

      These look great – I hope you plan to sell them after Defcon. I’d be glad to pick up a few.

    • markadamdean 12:27 am on August 2, 2011 Permalink | Reply

      Kudos to you blokes, friends, and scamps ! I am so amazed by your presentation, I will only wish you success and profits! Keep it up !

    • moldavia 2:41 am on August 2, 2011 Permalink | Reply

      I’ll be looking for you guys in the HHV!! Can’t wait to see what you have.

    • Paul Tanner 11:46 am on September 12, 2011 Permalink | Reply

      Any chance of getting hold of your new and improved demo board (with IR etc). We have a couple of seeduino ADK boards and would like to make a nice demo board to go with them. Like you did, I’m still struggling with SDK issues.

      • charliex 4:16 pm on September 12, 2011 Permalink | Reply

        everything is either on the wiki at 032.la or in our svn.
        charlie

    • james rimmer 11:29 pm on November 27, 2011 Permalink | Reply

      are you planning on selling these online,if so how much

    • Martin 8:49 pm on April 8, 2012 Permalink | Reply

      Hello
      Can you tell me ho to get one of these boards? The catalog link seems to be broken and the wiki has no entry of the projekt. I realy want to have one of these. Maybe i can have the shematics and the board data if you dont have any pcb left.
      thank you very much

      • charliex 10:08 pm on April 8, 2012 Permalink | Reply

        we’re in the process of updating the store. email krs AT nullspacelabs dot com and you can buy one from her.

    • Martin 10:10 pm on April 8, 2012 Permalink | Reply

      Thank you very much
      How much does one cost?

  • charliex 3:20 am on March 23, 2011 Permalink | Reply  

    Redbull marketing, what’s the latest craze we can attach too, campaign thing 

    5551527993_5aed7a5972_b

     

    5552112502_6f2ecbdedf_o

    Someone from redbull just dropped off a hacker thing at our space [ NSL ] in dtla. I put it together, just a couple of RCA’s, 3.5mm speaker and a NES controller port. The board is covered in flux so needs a good cleaning.

    It’s a NES controller, composite video/audio on an Atmel644  with some AD devices and a code on it

    This is written on it U2V0ZWMgQXN0cm9ub215 / Setec Astronomy / Sneakers / Too Many Secrets(frank^2)

    Chip is USB drive host, so plugging it in gives some files. Encrypted zip file and a bunch of MAC OSX resource forks, no shock there. There is a google gmail attachment url in the resource fork, but not much you can do with it probably Winking smile

     

    I pulled off the hex file etc,

    Pictures http://www.flickr.com/photos/51925658@N08/5552112502/

     

     

    Firmware, files from the usb drive etc.

     

    its basically this http://belogic.com/uzebox/

     

    WinstonChurchill –cnelson

    OK, that was an easy one… but you’re not there just yet.

    The riddle that ol’ Winston mentioned was Russia, but we’re talking about a different kind of puzzle altogether.

    Somewhere in this box there is another password, this time for a website.

    Poke, probe, and hack away at this circuit board… it’s an egg hunt.

    When you find the url and the password… go tell us what else you’ve found along the way.

    Good luck for real this time… you’ll need it!

     

    I’d pulled this apart earlier, then realised it was an uzebox and didn’t bother

    PEEL THE FOAMSUP, GOLDDIGGA?

    CAN HAS RICKROLL?!?!.YOU FOUND SECRET ROOM!.REALLY?  THAT GREEDY, HUH?.OK.  NO MORE SECRET ROOM FOR YOU..SRSLY, NOTHING BETTER TO DO?.IM SORRY DAVE, I CANT DO THAT..BROOKLYN, NY   JULY 2011

    …///../…/./..//././././/.././…/..///………./….//…../…../…../…../….///………///../…/…../…//…/…./…../////……..///../…/…../..///……/./…/..///………../….//…/./../../../////…./…../……../////./…../.

    com.apple.quarantine……..T..%com.apple.metadata:kMDItemWhereFroms.0000;4d805291;Google\x20Chrome;855C7932-787D-45D1-BB3A-2AF1755A1540|com.google.Chromebplist00…_..

     

    https://mail-attachment.googleusercontent.com/attachment?ui=2&ik=b914eefc8a&view=att&th=12ebd020e6396ab5&attid=0.1&disp=safe&zw&saduie=AG9B_P8Ttmz5UtLculmISrea7jWc&sadet=1300255397085&sads=hB_L1EgkB6A4_VqifTCQM0HhnDc&sadssc=1_.<https://mail.google.com/mail

     

    data

     

    orly?

    Rick rolling..

     

    flip it

    Reverse Rickroll

    box it came in

     

    Uhh yeah sure it is.

    redbull box

     

     

    Some overly masculine logo. I feel the need to drink energy drinks now

    .data

     

     

    Thanks for the pacman game redbull…

     data

     

    hackers…..not makers….

     
    • Winston Churchill 3:35 am on March 23, 2011 Permalink | Reply

      It’s a riddle, wrapped in an enigma, wrapped in foam.

    • Jonathan Herr 6:32 pm on March 25, 2011 Permalink | Reply

      Anyone crack that password?

      • charliex 6:41 pm on March 25, 2011 Permalink | Reply

        which one? the zip one is WinstonChurchill, the other one is base64

  • charliex 9:19 pm on October 17, 2010 Permalink | Reply  

    Eagle class at [NSL] 

    There is always a lot of interest in learning Eagle, it cheap and popular. It is not the best PCB layout tool around but for most people it does what they need.

    Thusday, We decided to make a Evil Mad Science Lab’s Larson Scanner, but make it out of all surface mount and try to make it single sided PCB.

    handheld

     

    Using Camtasia  I recorded the screen for each part of the class, at just under 1900×1200, whoops, lessons learnt there, most projectors can’t handle that and it makes massive files. The create a part video was 78GBytes.

    So lesson learned, check the native resolution of the projector and go from there! Most people probably don’t run 1900×1200 screens either.

     

    I grabbed the PDF schematic from EVMSL, then drew it into the Eagle layout, Windell uses gEDA for his schematic.

    The original schematic. Click for a bigger version.

    image

    The layout

    ixboard

     

    So its always been difficult for me to source Atmel chips, I’m cursed. Digikey had the MLF package ATtiny2313, which is tiny and basically leadless. Since this is [NSL] that is how we do things.

    Next step was to order up enough to make 50 boards, 75 CPUs, 50 switches, 5000 resistors, 5000 capacitors and 500 LEDs. Total cost came into to around $200, not bad for that many boards and we’ve now got some spare components for the next project.

    A nice switch was found, and as a bonus it had no Eagle footprint I could find, so this was the perfect part to use for the ‘Make a Part’ video. Another lesson was about to be learnt, don’t concentrate too much on the video or what to say, and pay attention to the part you’re making, more on that later.

    Friday, I laid out the board, managed to get it all single sided, and cut the board. Found a new feature of my PCB CNC , Black lines means that the distance is too small to cut, and they don’t cut even in force mode, so the first three boards had missing pads… Oh well it was enough to verify the design and the parts hadn’t arrived yet.

    Without the GND polygon processed. you can see the trickiness employed to route the ICSP. But the VCC is missing, which I’d never have gotten in this way without a jumper

    cylon

    Saturday, the parts arrive from Digikey. I re-laid out the board, had a chat with Chris over at AccurateCNC who’s knowledge about his product and PCB making never fails to amaze me, we chat a bit about the errors of the pads, its interesting that in Eagle if you make a part and it looks the same, the slight math errors that creep can make the difference between an 8mil and a 6mil gap. You’d never see it in eagle without looking at the actual numbers. I’ve seen this a few times on different parts. One pad of an SMD 0603 resistor CNC’d the other didn’t. This is probably due in some part to floating point numbers.

    The bad boards, notice the missing pad on the LED on the right, the 0603 resistor to the right of that and one of the ICSP is missing the isolation, which turns out to be the VCC(3V) too.

     

    I make the first board, and the MLF package turns out to be really easy to reflow, i basically tinned each of the traces and pad in the middle, placed the part and hot plated it, no problem, except when i test the CPU no go.. Ok add the 3V to the ICSP that i forgot, still no good. And yep the chips in 90o off…. Pull the chip and place another one, this one also drops in easily its almost as if the parts want to sit in the right place, it wasn’t hard to align it at all.

    After fiddling about with the AVR dragon a bit, setting the speed in ICSP mode I flash the chip with Wendell’s HEX file, flashes and verified !

    Next is the addition of the resistors and LEDs, I dab a drop of leaded solder paste on each pad and add the components with tweezers, throw it on the hotplate and everything’s tickety boo. Add 3V and all the LED’s start their dance.

    MMCA says hey try the switch, no go… hmm what up i think, bad joint. Investigate and that’s odd, the schematic said the switch part was lengthways right, nope, its the short side… and the PCB is cut in such a way that all three pads need to be modified. I use an exacto knife to cut the trace , then cut away at the ground plane to isolate all but one of the existing grounded switch pads. This is bringing me back to before I’d rotated the part design by 90o and so the schematic didn’t match the pads. Easily fixed but a pain. Of course I recorded the video and I’m watching myself create a schematic with an obvious short , but wasn’t paying attention to the diagram..

    After much late night not enough coffee stuff, its all together and patched. Here is it with a 3V CR2032 cell as comparison.

     

    The red wire is the patch to add 3V to the CPU.. which wasn’t routed in the original design… whoops. you can see the cutting of the copper around the switch to make it work too..

    By Saturday morning i have the first pass done, the PCB cut and a working prototype, the changes are back into the board.

    Sunday, I’m watching the video and thinking, have to redo the video in a lower resolution and write up a blog post about it, before i forgot half of what i did.  I’ve re-laid out the schematic, made it smaller, its now square, removed the second header, moved Opt1 and opt2 to opposite sides to allow chaining, added the 3V. Changed the ICSP 6 pin from 3×2 to 6×1 and also changed the order, since it was difficult to reroute the board single without  messy traces and 6mil widths. BatchPCB couldn’t cut the PCB as it was.

    Here’s a video of it in ‘action’

    And the switch works.

     

    Hopefully on the 29th, a lot of people will have made theirs and add them to pumpkins all over.

    Now to finish up work stuff and then cut the hopefully final PCB,  test a couple and then cut 50 PCB’s, i hope my new V90 bits last..

     

    No thermals, and i rushed the rubout cut, so didn’t set the depth , but its fine. Only one warning this time and sure enough it had an issue at that corner but right side of the cpu, so i just have to move that trace ever so slightly, I’ll put the polygon thermals back on , as i think it’ll make it hard for people to solder. about 28mm square now. Shame i rushed the rubout as the cut itself was perfect.

     

    After it’s made.

     

    Programming with the non standard connector and pogo pins

     

    Size compare with the previous revision

     

     

    Hackerspacing up the battery, superglued onto the FR4, loop a wire around the outside of the battery, then another wire under duct tape. Soldering to coin cells is bad, i didn’t do that other one.

     
  • charliex 11:40 am on October 17, 2010 Permalink | Reply  

    Proxmark 3 LCD version [Null Space Labs] build log 

    So we decided to build Proxmark’s at [NSL] and not just the well tested Proxmark3’s that most people use, the LCD version which there appears to be only possibly one other of, maybe not even  that, that had  a lot of missing parts and only one guy who knew anything about it. Luckily he was a cool guy and helped us out

     

    So we order boards from BatchPCB they came in, not bad quality, only one board of the 18 so far had a problem in where a trace was shorted out. Then fixed up the BOM and ordered enough parts for one board, built it and didn’t work. So we did what any sane space would do and ordered another 10 sets of parts. Parts that were going out of stock as we were creating the order!

     

    Some parts were hard to get the Atmel’s seem to be almost legendary these days, but they were found in China, the 8050 had a newer replacement part.. We used the 512K part.

     

    The first board was built by someone who’d never soldered before, and a hotplate, it worked pretty well only one chip had to be removed and a few pads lifted, but some Kynar wire took care of that.

    proxmark3 lcd, the blew up the fpga version yes the FPGA blew up, don’t know why, as it was replaced and the board gone over but didn’t blow up on the second power up, another $13 to the cause.

    Debugging SPI for the LCD

    Compiling the software and getting OpenOCD were a fairly massive pain (took longer than 10 minutes), so I ended up just throwing it in IAR and using a SAM-ICE which meant i could debug and flash the board quickly. All that had to be done was put the bootloader, fpga  and code into one program and change some no longer needed section attributes, add a few pack pragmas and off it went , the later proxmark3 code has done some of this but we are using a branched build.

    Once the software was up and running, mostly, we started building antennas and what not. This mostly meant wrapping bits of magnet wires at random and see what happened. M showed us his superior skills at picking up a partially used spool of magnet wire and connecting it directly to the PM4, and immediately getting a perfect LF antenna.

    I attempted a milled antenna, the first one didn’t go so well as I’d forgotten that sometimes when debugging FTDI hardware or designing a board with it, it causes a bluescreen in windows during the power down mode, but only much later, like for instance when you’re halfway through milling an antenna that you didn’t save the project file for and had to restart it from scratch, but only after buying a new V60 bit because it wore out during this board and I’d run out.

     

     

     

     

    http://www.flickr.com/photos/51925658@N08/4964281431/

     

    Making a patch PCB for the broken LCD connectors that some people had, these would be affixed to the board with glue and kynar wire, awwwhh yeah!

     
    • tom 12:51 pm on November 7, 2010 Permalink | Reply

      nice so when does the board ship ? and how much ?

      • charliex 4:44 pm on March 24, 2011 Permalink | Reply

        its finished, you can get it on batchpcb, look on our wiki.032.la

  • charliex 11:40 am on October 17, 2010 Permalink | Reply  

    ARM’ing the world one hacker at a time, or how I learned to hate the Arduino and spread that hatred to others. 

    Looking for new interesting projects to do at [NSL] and also wondering why my Elektor subscription has never arrived ( hope that Las Vegas, UK does exist and someone got the benefit of it).

    I cam across the segway clone, they’re just not cool too dorky and expensive. Then the 2.4Ghz wi-spy like, chips are obsolete but there are new ones, but I believe they are mostly just RSSI at each frequency which most Wifi cards can do, so not super interesting.

    http://elektorembedded.blogspot.com/p/sceptre.html

    So i grabbed the Eagle files, generated some gerbers with the sparkfun CAM file and uploaded them to BatchPCB. There are some odd parts in the eagle layout, so i had to remove the bottom right parts other BatchPCb showed it as 4x4inches, Elektor had added labels to the layers and masks which BatchPCB includes in the size of the design, since they don’t use a dimension/mil layer. the board came out to $20.35 per unit. Silver circuits has some nice options so the same board was $125 setup and $2 each for black pcb with white solder mask and ENIG finishing. So I’m going to try them, their ordering system is not as nice as BatchPCB’s but how hard can it be?

    Waiting for PCB’s !!

     
  • charliex 8:03 pm on June 7, 2010 Permalink | Reply  

    from the Hack A Day link http://hackaday.com/2010/06/07/usb-hub-used-for-in-system-programming/

     

    caveat:  I made the code compile, i haven’t tested it, but it ought (not) to work.  ( I’d double check the 0b conversions in avr_isp.c against the original if it doesn’t work )

    2010 MSVC project file.

     

    After chatting with Paul a little, we’re both convinced it’ll need a way to do the same kernel disconnect to make it work, so either a custom driver, or on Paul’s suggestion a winusb driver.

     

    Also a useful tip to test this from Paul is to just use LED’s off the HUB instead, much easier to debug it.

     
    • dan 1:12 am on August 11, 2010 Permalink | Reply

      any new developments with this?

  • charliex 7:00 am on June 5, 2010 Permalink | Reply  

    Reflowing ! 

    So the reflow test went better than I’d hoped, the stencils were a bit hard to use since they’re unframed but the biggest issues was the roughness of the edges and using a hard edge to scrape the paste.

    I did one board with the stencil, and the rest i did by hand with a syringe.

     

    SANY0029

    The hotplate QK680

    SANY0027

    Already to go!

     

    all pasted and components laid out (prototype in the background)

    SANY0035

     

    I hand soldered the CPU on one of the boards a few days ago, then pasted the rest

    SANY0036

     

    Enough junk ?

    SANY0037

     

    Ready to burn up, this is what you do when you’re learning the solder profile, you make three of them with chips that are very hard to source…

     

    Used 120C warm up for 0 seconds, then 185C-190C for the melt, with a short hop to 200C for about 20 seconds. I reckon 190-195C indicated is where its melting.

    SANY0038

     

    Clck for bigger image, paste by hand . If only my eyes had zoom mode, eh krytie ? it looked a lot tighter when i was placing them !

    SANY0047

     

    Things will straighten out by themselves later, maybe.

    SANY0048

     

    Starting to melt

    SANY0050

    SANY0052

     

    SANY0053

    little uneven here, but once it’d finished flowing it was all good, i touched up the chip with an iron later.

     SANY0055

    moved it too soon

    SANY0056

    you can see bits of the paste left behind, this was much much worse with the lead free paste, it ended up with 100’s of solder balls unmelted underneath the components that caused shorts, this just cleaned away.

    SANY0057

    couple of bridges, too much paste, and uneven dispersal, easy to remove with some copper wire.

     SANY0059

     SANY0058

     SANY0061

    more bits

    SANY0063

    prototype board, i forgot to do a via under the chip, hence the wire. this one i hand soldered… cut it a bit deep too.

     SANY0073

    proto and first run,and it worked! its a double sided board, but given its just a couple of components i’ll hand solder those. i wish i’d populated that tiny 3v<>5v level convertor on the other two boards. I just really didn’t believe it’d actually reflow and it did.

    SANY0077

     

    some of the boards i cut, and test layouts, its a lot harder to solder with a cnc’d board and no solder mask with a tight polygon pour, so i removed a lot of it.

     SANY0079

     

     

    it was much easier reflowing than hand soldering, and i knocked out the three prototypes much quicker than i had the hand soldered ones. I reckon i could have done all 16 and only taken another 30 minutes of placing.

     
  • charliex 10:39 pm on June 4, 2010 Permalink | Reply  

    New hardware! 

    I broke down and picked up a  few new toys..

     

    QK 870 Madell reflow /preheater the general consensus on this is that its not made by madelltech so its better than most of their other stuff, I’ve done two quick tests with it and it performed as you’d expected though the manual is a bit interesting. Adafuit seems to like it too.

    http://madelltech.com/QK870manual.pdf

     

    i also picked up a QK852 since its on “sale” for $125, it flows ok, the Zephtronics one is just so expensive! Haven’t really tried it out yet, but its useful for rework on some of the more expensive boards i do.

     

    Talking of Zephtronics, I went temporarily nuts and bought one of their paste dispensing systems, not realising it needs an air supply…They say it has everything you need to start dispensing, except shop air, which i have in my other workshop in Vegas, but not here, I’ll have to pop out to the art store for some canned air. As usual with the Zeph stuff its not cheap but well made, I couldn’t tell you if i really needed this ( no i don’t) but since i haven’t been able to test it yet, i can’t tell if its useful, it is definitely a pain to hand dispense paste and keep it consistent and it wears your hand out doing a lot of them, even with zeph’s $25 plunger !

     

    Automatic Dispenser for Dispensing Liquids, Pastes, Fluids, Epoxies and More

     

    It follows the theme of the Zeph boxes, which i think is a lot of the price. I have their pickup tool, but again its I think its a tad overpriced, it doesn’t work with a footswitch using the typical hole over the pen approach, which I personally can never get used too. Dave@Zeph assures me its just me, and I’ll get used to it. It does work well though, but it does sound like an aquarium diaphragm pump to me.

    Vacuum Pen, ESD-Suction, Vacuum Lifting, Internal Pump, Vacuum System

     

     

     

     

     

     

     

     

     

     

     

     

     

    I also used Pololu’s laser cutting service to make a stencil, worked as it said on the tin, though the edges are rougher than i can do with the cnc’d brass ones, especially since i can sand them.

     
  • charliex 9:38 pm on January 9, 2010 Permalink | Reply
    Tags: dual monitor, flash, fullscreen, mouse move   

    Dual monitor (or more) adobe flash fullscreen internet explorer moving the mouse 

    Flash annoys the heck of me when I’m using it on dual or more monitors with hulu fullscreen or such.. anyway i patched it to stop the mouse moving problem

     

    changes again for

    4/17/2010  10:28       3,981,080  Flash10e.ocx

    flash10e_ocx

    This is for version 10.0.42.34

    1/09/2010  13:12  3,982,240  flash10d.ocx this file generally lives in %windir\system32\macromed\flash\ YMMV

    Changes are :-

                     changed       <=   original

    Offset               Hex ASCII       Hex   ASCII
    0x14135F          0x90   É         0x0F   .
    0x141360          0x90   É         0x84   ä
    0x141361          0x90   É         0x85   à
    0x141362          0x90   É         0x00   .
    0x141363          0x90   É         0x00   .
    0x141364          0x90   É         0x00   .

    I had to run the windows recovery console to replace the file,  inuse.exe didn’t work. I tried it on windows XP.

    Basically i just NOP’d out the test 0x90 is NOP, 0x0f 0x84 0x850x00 0x00 0x00 is a jz (jump zero)

     

    I didn’t really test it much more than loading hulu, switching to full screen and clicking around the other monitors. Interestingly it’ll stay in fullscreen mode if you change tabs and stays in the window, you can even move IE to a different monitor and it’ll stay in fullscreen, for you that might not work, but its better than I’d hoped for ! :) pressing ESC key will return it back to normal, after you’ve returned focus to the fullscreen flash.

    click to expand in a new window

    flash_changes

     

    For firefox type people i found a similar patch http://my.opera.com/d.i.z./blog/2009/04/22/watch-fullscreen-flash-while-working-on-another-screen

    Here’s the latest version of flash patch

    1/26/2010  16:58       3,981,080  Flash10e.ocx 10.0.45.2, change highlighted area to 90 90 90 90 90 90

    image

     
    • Cas 7:01 pm on January 15, 2010 Permalink | Reply

      I am desperately trying to find a solution so that I can watch full screen hulu on my tv while I am on the laptop
      I have read everything and there seems to be a patch for FireFox etc. but not Internet Explorer
      Seems that this site has something that might work.but I tried it and still doesn’t work..have you had any new updates.iz the patch supposed to work or should I HEX edit as above

      • charliex 7:07 pm on January 15, 2010 Permalink | Reply

        it does work, i use it, if you switch into full screen mode on one display, then type in another it won’t go away. the OCX is protected by the windows SFP though, so you have to make sure that the patch takes.

        • rdagijones 10:00 pm on February 20, 2010 Permalink

          Can this patch be added to Adobe version 10.0.45.2? There is problem with the version that you list here and I cannot back up to that version.

    • rdagijones 6:40 pm on February 22, 2010 Permalink | Reply

      Found the trick. The items to edit on the “Flash10e.ocx” file are the same. They are just in a different location. I found them at 1411d0 and 1411e0. Since they are in a different location, you have to look through the ASCII text and find the patter indicated in the image above. Check out the existing ASCII code and compare it to the image above. The existing looks like the left part of the table and you want to change the six entries to 90. It was the double “HH” that helped me spot it. Copy the exiting ocx file, uncheck the “read only” setting under the file’s properties and then edit with a HEX editor. I renamed the original file in the Flash folder to “Flash10eOld.ocx” and then pasted my patched file into the folder. It worked.

    • Martin 1:33 pm on April 23, 2010 Permalink | Reply

      You sir, is a GOD!
      This has been bothering me for ages, and I found no workaround untill now!
      If I had a piece of brass, I would hammer it into a trumpet, and play you a salute! :)

      • rdagijones 11:51 pm on October 13, 2010 Permalink | Reply

        Definitely I am not a god of any kind. Secondly, this trick does not work for the newest Flash versions. I now have no clue where to make changes. Anyone else know what to “adapt?”

        • charliex 7:04 pm on November 4, 2011 Permalink

          i’ll update it.

c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
Reply
e
Edit
o
Show/Hide comments
t
Go to top
l
Go to login
h
Show/Hide help
shift + esc
Cancel
Follow

Get every new post delivered to your Inbox.