02 October 2016

Soldering Station and Protoboard Power 2

I was talking about the project with a very close friend of mine (who requests to remain anonymous), and I realised that I should be a bit more realistic with trace widths considering the maximum amperage of the connectors and such.

The main thing is that she suggested I make a harness: I plug in connectors from the power supply into one end, and the other end plugs into the board. I attempted to do without it and while everything did fit fine on the board with the 24-pin ATX header and EPS12 header, the position of the two 12v pins on the 24-pin ATX header made it too awkward to utilise. I didn't have much of a choice but to take her advice and engineered the harness, which utilises the 24-pin ATX plug (which is very necessary), the EPS12, and a PCIe power connector for a total of 8 wires (the "middle" 12-volt pin of the PCIe isn't used, since by specification it's "not connected").

Anyway, I arranged it to where 3.3v, 5v, +5VSB, and PS-ON get one pin each (since none of them pull much current in general. 12v gets 8 pins (which I think I mentioned not long ago, and 10 GND pins. I had planned for 9 GND pins, but since the closest connector was 22 pins I'm not using 20 pins), I added an extra ground.

I found a 22-pin header with a flange, and while it is a bit large, it'll prevent anyone from attempting to plug in a 24-pin connector. I"m just hoping that it doesn't accept a 20-pin connector... I'll have to see later. It saved quite a bit of space compared with the 24-pin connector and 8-pin connector.

Since the maximum amperage is 5 (or was it 4?) amps for the power output to the fan/light board, I utilised a more sane trace width, which allowed me to fit the traces fairly well,. The lights I think I did at 3 amps, since the draw probably won't be more than 2.

Arrangement probably took the most time, since i wanted to keep the layout as compact as possible while allowing the traces to be run. I did a rough arrangement of the parts and checked it with the design rule thingy.

I ran the air-wires, routed them, ran more, etc., and was able to successfully fulfil the design rule requirements without much rework.

At some point I forgot about the mounting holes, but I remembered and inserted them.

I think the most annoying thing is the square relay, since it requires 5mm of spacing from the board edge.... as stupid as that is.

Anyway, it looks fairly messy, but still worked out fine.

Before and after ratsnest tool.

Bottom plane is GND, top plane is 12v. Again, it's a rough drawing, but I'm fairly surprised of the turnout. I'll eventually clean it all up so I can make the mounting plate.

It's good that I don't have to buy the "full" version of EAGLE to be able to create a larger board for this part of the project. One of the options I was considering (but didn't want to employ) was to split the main board into two. Since it would've made the project that much more of a headache, I'm glad it didn't go into that direction.

I did the maths for the light pipes and standoffs, finding 19/32in would be the best choice with the 2.0mm thick aluminium alloy plate, because I wouldn't have much thread on the top nut of the switch with 5/8in. I then did the maths for the light pipes and found a large gap between the SMD LED and the light pipe, so I went back to the maths and calculated for 1.6mm thick instead.

With the 1.6mm thick plate, I found that the 5/8in standoffs were much closer to the calculated distance and that it puts the light pipe closer to the LED, though still further than the light pipe's manufacturer's suggested maximum distance of 0.02in.

I tinkered around at some point, seeing that there's dead space on the other side of the board where the LEDs and resistors are, trying to use 3mm and 5mm (T 1 and T 1-3/4 cases respectively) along with light pipes, but the distance from the LED and the light pipe was still further than the SMD option.

I realised just now that there's SMD LEDs with taller casings that I didn't explore, and while I might explore that option, I think what I have is the cheaper option, but whenever I tinker around more with that, I'll see if it puts it closer to the light pipe's specified distance.

I really don't like mixing SAE and metric measurements, but there's not much I can do about it besides utilise maths to convert when necessary.

I also placed the parts down for the fan/light power distribution board and ran some airwires, but not much more than that.

Somewhat sloppy, incomplete "rough draft".

I wasn't ever worried about this board, since I figured that it would easily fit within the constraints of the 100mm by 80mm board size limitation. I'll eventually clean it up and such, but it'll be much easier than the main board, since there isn't a lot of parts with different sizes.

Oh, right, with the main board, I removed some of the power relays since the switches themselves are able to handle the current of the function (the lights and blower fans), which saved me a lot of space. I also had to add some smaller relays for the fuse indication lights, since I didn't look around for the part because I had forgotten that the LEDs would need them for power regardless if I place the relay before or after the fuse.

The fuses will more than likely be difficult to replace, but they should only blow if there's a problem somewhere - they're there to protect the traces and board connectors from melting which could lead to a costly fix (the main board itself will be about 62 USD for three boards).

The difficult part is now over, and though the remainder is tedious, it's still part of that "downhill slope."

Even though the project isn't at a state where I can purchase what's needed and build it, I've still learned quite a bit.
  • Do the maths and utilise sane trace widths instead of trying to utilise a trace width that is equivalent to the connector's current rating.
  • Custom harnesses may be much more beneficial than direct connections
  • Utilising different connector styles may seem more costly, but may be a better investment than utilising the same connector style.
  • Draw mounting holes (plated/unplated) before arranging parts.
  • Open up options by consulting others for ideas.

25 September 2016

Soldering Station and Protoboard Power

I can't remember how long ago it was I thought of utilising a computer power supply to provide power to the the solder-less breadboard that I have, but sometime after that I realised that I could actually just utilise the power supply to provide power to the solder station fan(s) and lights as well.

I originally was going to modify an AC/DC adaptor with an AC power switch, so that I could completely shut off the unit when not in use (which is a vast majority of the time), but this idea makes that obsolete. At the moment, that AC/DC adaptor is what I'm using to power my soldering station fan and lights (with all the connections going through the breadboard).

Finding the parts wasn't too bad, after a while of searching, I stumbled upon the ATX motherboard specification, which gave me a start with the part numbers for the headers that I would need.

Eventually I found the specifications for the power supply and was able to more part numbers. Though, with the last post, I'm sure you were able to tell because of the harness I made.

I spent my 3-day weekend (3-5 September) scouring, comparing, cross-referencing all sorts of parts for the project... Needless to say, it wasn't the ideal way to spend the extended weekend, even though I had all the parts I would need.

I slowly draw the PCB patterns over the week after for all the parts I gathered, and once I had them all drawn, I placed them all in the board designer and ran into a huge roadblock - I don't have space for the all the parts within the limitations of the freeware version of eagle (100 x 80mm).

I set the project aside and began working on one of the stories I was needing to write. But recently I've returned to this project a bit.

I suppose before I continue on, I should outline a bit of the project itself.

The project will use 4 fans at minimum, but will allow me to expand that amount to 30. There will be two sets of lights (I just realised now that I didn't set up two lines for the lights), a bright set of lights (one or two of the 48-LED arrays from MPJA.com), and a set of "dim" lights, which is an LED light strip that I had used to replace the trunk light of my car with (because something broke the stock light housing and I didn't want it to just dangle around). There's also a blower fan as well, which I also haven't considered, but that shouldn't be too much of a problem.

The power to the fans are split into three lines, so that I don't exceed the amperage load of the wire and/or connectors, and have a fuse on each line which is cheaper/easier to replace than anything else, if anything were to happen (which I highly doubt). All the other power lines will have an appropriate fuse as well.

The power supply will connect to the main distribution board, and supply the power from there to the fan/light board and to the breadboard. There will be a set of switches to control the power from the power supply (PS-ON), and the mainboard will attach to a aluminium plate that will attach to two of the mounting holes of the power supply.

There will also be indication LEDs as well, most of which won't be entirely necessary. The switch to turn the power supply will have a bi-colour LED above it, so if the switch on the power supply (which cuts the AC power into the power supply) is on, then it shows one colour, and then if the power supply is turned on, then it shows the other colour.

This is done with the 5VSB line, which always provides 5 volts, as long as the power supply is receiving AC power. When the PS-ON line is shorted to ground, then the 12 volt line engages one of the relay coils to switch the colour of that indicator LED.

The fan switch for the soldering station fans controls 3 relays, since the switch I chose would not be able to handle 10 amperes by itself (a close calculated maximum because the fans require a bit more amperes when starting up - about 10% more). I realised just now that I actually did include a switch for the blower fan which is separate from the switch to soldering station fans.

The indicator lights for the soldering station fans will show that all the fuses are fine, so if one of the fuses blows, the corresponding light would turn off - to do this, there is another relay on the other side of the fuse. I think I also did the same with the blower fan and the soldering station light... I can't remember that well right now.

I originally planned having all sorts of power-input connectors on the board, but after a realisation late last week, I've taken some out.

I realised I never thought about the rating of the solder-less breadboard, and wasn't really able to find anything definitive. I think I set the limits at about 2-3 amperes, since I probably wouldn't be working outside of that... If I was working on the breadboard anyway.

Because of the realisations, I've lowered the 7 ampere fuses for the lines to the solder station fans to 4 amperes, since it would be better for the fuse to trip much sooner. The reason why I initially chose 7 amperes was so that it would blow before the connectors/wires/traces melt, but still allowing maximum current. Though either way works, it's probably better to use something closer to the maximum load of the line.

With that realisation, I was able to change the connectors to something smaller, so that i would be able to save space as well as keep it sensible. I scoured last Friday after work (23 September) for the new connectors, and ended up with the new parts that night.

Since I realised that I forgot about the "dim" light, I'll have to replace one of those parts, but it shouldn't be all too hard, since it's just the header and the plug housing.

It took a while to find the parts, since I needed something that would be above the new fuse rating, but also priced decently, since this project won't be cheap at all (the parts total is already over 100 USD, and the PCB will be around that price as well). I remember when I was initially looking for parts, that I stumbled upon some connectors by Hirose, but couldn't use them because I wouldn't have been able to crimp them. Obviously that has changed since I've purchased a sort of general-purpose crimper.

So the "output" connectors I'll be using are all from Hirose if I remember correctly, with one of them being shared with the soundcard switchboard project that I'll post about later. (I had gotten that connector for the switchboard first, and then copied it to this project)

Because I'll be mounting the PCB to the mounting plate, I had to use some through-hole switches and SMD LEDs. I'll also be utilising some light pipes for those LEDs as well, since the LEDs will be far from the plate. I decided on the SMD LED and light pipe combination, since it would make it much easier than trying to solder LEDs at the correct height to protrude or whatever from the mounting plate.

I've actually gotten some light pipes and standoffs in the project list, but those will be replaced accordingly once I get to that point.

The mounting plate will be made with 6061-T6 aluminium alloy, which will be machined, since it will be hell trying to do it all by hand and maintain accuracy/precision. I'm debating whether to get 1.6mm or 2mm thick, since the 1.6mm is cheaper overall, but the 2mm thick has a lower price per volume. I also had 1.6mm 6061-O6 alloy in consideration because it's cheaper than the other two, but I think I will stick with the 'T6 instead.

I'm still fairly certain that the board size limitation is still a major roadblock, and hopefully I can figure something out. I'm considering splitting the main board into two boards, but I'd rather not have to.

The board for the soldering station fans and lights will be separate, but should be fit within EAGLE's limitation quite easily, so I'm not all too worried about it. Now that I think about it, I might move the appropriate fuses to this board to save some space on the main board, and then I would have to move the fuse-monitor relay to the ground line from that board, which isn't that big of a deal.

I think this is all on the project for now. It'll cost quite a bit, but it'll be quite nice to have, since it'll allow me to utilise just about any power supply and be fairly future-proof (or at least I hope it to be).

22 September 2016

Melty Upgrade and GPU Shuffle

Not sure if I wrote about it, but when news came out about AMD's RX480 GPU, I was pretty excited about it, seeing that it was going to be about 200 USD - which was better than the R9 390X I had in my wishlist. I had been planning on upgrading Melty's video card, and because of the price, I decided to wait.

I had followed somewhat closely on the RX480 news, and almost bought one of the reference cards, but decided not to because I wouldn't had time to do so - sure enough, it was sold out when I got home that day. It was a good thing though, considering that not long after (either next day or the day after), there was a slow flurry of articles about the RX480 drawing more power from the PCIe slot than the allowable amount in the PCIe specifications.

I find it funny that AMD somewhat denied and/or brushed the issues off to the side for about a week before they did something about it, which was to release a new driver that shifted where the power draw came from. I was a bit surprised that they were able to do so with a driver update, considering the fault is based in the hardware - what works, works.

It wasn't long after the reference RX480 release that Sapphire announced their NITRO+ version of the RX480, and was even more excited, seeing that I've never had any problems with Sapphire (knock on wood). I closely followed the news and such about it, and I think it was a couple days after the release date announcement (or something similar), I put in my pre-order for the non-overclocked version of the 8GB card.

As a month slowly passed by, I was researching on when it would be released and about when I would be getting mine. Seemed like a couple people on Reddit had talked to Amazon's customer service and gotten an answer of "beginning of September" and "mid-September". I think it was the 6th when I somewhat lost it, and poked around Newegg, finding that they had stock of all three models, and I quickly ordered the overclocked 8gb version, seeing it was only a few dollars more than what I would be paying on Amazon. Sure enough, it was on its way the next day.

I also ordered some of the peripheral connectors and pins to update the 5 volt source for the soundcard switchbox, and paid extra for expedited shipping so that I would have it before the weekend, since I knew the RX480 would arrive before the weekend as well.

I received the parts on Thursday, and took what I needed with me to work on Friday, since it would be easier than taking the crimper home with me.

The parts before assembly, and after partial assembly.

Close up of the power take-off crimp end. I used some heatshrink tubing to cover the exposed shield "wire", I then used more heatshrink to cover the end of the cable jacket (as well as the remainder of the shield "wire"), and finally, I used more heatshrink tubing after crimping to remove future wire strain from the crimp end of the pin to the insulation and cable jacket.

The finished product. (A bit more on this later.)

Forgot to mention that the mono cable was actually another one I took home for whatever reason, and wasn't the one I spliced together.

Since the RX480 uses a 8-pin PCIe power connector, I was going to have to swap the PSU out for Lie-chan's old 750-watt. Sure I could find connectors and such, but since the 8-pin PCIe power connector on the 750-watt is not removable (like the 24-pin ATX cord), might as well use it than having to dig around for a possible adaptor (or spend almost an hour grabbing one from the "local" computer parts store.

Anyway I started working on Melty the next morning, taking out the HD 6770, the Sound Blaster card, and the 500-watt PSU. After swapping the PSU (and I think installing the RX480), I did a bunch of cable management, considering Melty is nearing her "final form".

Too bad I didn't take a picture before the clean up. I used red ties where it would be visible (or possibly visible) from the window, since I didn't have any black ties. I also realised the weird loop things in the metal were tie-down points. I found that I could swap the EPS extension cable around to make it look much nicer from the window. I ended up wasting two sticky tie-down square things, but no one's going to see that unless the open the panel.

I also found that I was able to re-route the cord for the PCIe extension thing so that it wasn't blatantly obvious, and the interior looks much nicer.

Much nicer than it used to be. I might eventually reroute the fan cord to the PSU, but we'll see.

I also had flipped the side fan again, so that it would blow air in instead of out (I decided out would be the best way with how the HD 6770 was), and decided to put a tie-down point on the door so that the wire would be more cooperative.

I used a twist-tie so that I'm not wasting zip-ties when I remove the fan for cleaning.

Oh, right. I also did a bit of deep-cleaning as well before I installed the RX480. Anyway, Melty was now ready for driver installation.


Direct window view and angled window view.

Here's where I really ran into problems. I wasn't able to boot into Manjaro or Windows, for completely separate reasons. I noticed the Sound Blaster card was flashing and thought I might have killed something when I used the vacuum cleaner on it, so I just disconnected the power and was able to get Manjaro to boot... without X.

I was about to install amdgpu-pro (or whatever the package is called), but found that it conflicted with mhwd-gpu, and after a bit of poking around on the internet with my phone, I found the correct way to install the driver I needed. Once I rebooted, I was in business, and excitedly grabbed the spare monitors to test out quad-screening.

"T" configuration (ignore the bottom left and bottom right corners), and "grid" configuration.

It was a bit wonky at first, but eventually it worked with me and I was able to experience the awesomeness of native quad-screening. With that, I rebooted into Windows, which was still giving me problems. I poked around the internet more to try to figure out an easy way to fix the driver issue without having to put the HD 6770 back into Melty.

I forgot when I started shuffling the GPUs around, but I do know after lunch, I decided the best course of action was to use the HD 6450 from Lie-chan (which was going to the Dell) instead of the HD 6770. Once I rebooted, I got mostly to Windows, enabling safe mode before rebooting into the desktop to uninstall the driver. I actually tried to install the driver I needed for the RX480, but I wasn't able to, so I gave up and shut down to re-install the RX480.

I turned Melty on afterwards and she didn't post. I was somewhat stupefied, considering the RX480 was working not long ago. I opened up the door (or maybe it was already open?) and saw that I hadn't plugged in the PCIe power cable. Derp.

After that, I was able to boot fine into Windows (with the crappy resolution). I then installed the driver (which then appeared in the AMD install manager thingy), and then proceeded to test out quad-screening again. I think Windows was also slightly wonky with the settings, but I did get it to work, and then I promptly put the extra monitors away as I transferred Phantasy Star Online 2 files from Triela (since it would be much faster than downloading from the internet). I also remembered about the updated stand-alone character creator and proceeded to download that, since I couldn't find where I had previously downloaded it to.

I'll mention here before I forget again, that GRUB2 looks much nicer, since it's able to output a higher resolution. A bit sad that I've already gotten used to the sharpness now.

Once I was done installing and whatnot, I ran the benchmark within the character creator and got 21000 something as a score on max settings. I realised I should've ran the benchmark with the HD 6770 to get a point of reference, but it was obviously too late. I also updated and logged into Mabinogi to maximise all the graphical effects, but I think I didn't do much else with Windows before I went back to Manjaro.

At some point while in Windows, I set the LED colour to red to match Melty's theme (I used the onboard button to turn it off, since none of the presets matched the theme), and luckily, it stayed when I rebooted.

It was a mixed day. I was happy about the awesomeness of Melty, but was kinda upset with the loss of the soundcard, especially considering all the money/effort I put into the switchbox. (I was also kinda upset that it was kinda dark in Melty's case.

Sometime while winding down, I remembered that I was going to check the voltage going into the switchbox earlier in the day, but I had forgotten completely. I pulled the plug out and measured it to be 12 something volts. There's the reason why the soundcard wasn't working properly, because it was being under-volted. I debated whether I wanted to shower or poke around and fix the problem, and I figured I might as well.

I pulled Melty out again (she's pretty heavy, and the space she's under is awkward, so it's no joke), and poked around with the connectors, grabbing something to compare my custom harness to. Sure enough, I had flopped the pin order on the housing side (the side with the male pins), so instead of 12v - ground - ground - 5v, I had 5v - ground - ground -12v. I double checked the plug side (the ones with the female contacts) to ensure that it was correct, and it was. After swapping the pin order of the housing, I re-connected the harness, re-routed the PCIe extension cable thingy (I removed it since I had thought the soundcard was dead), and then put Melty back.

After I booted her up, the LED was steady and I booted into Windows to reinstall the driver and software thingy. I also checked the voltage with my bad multimeter (something happened to it and it gives a reading of roughly 25% more) and got 6 something volts, which was correct (so 5 something volts). I was quite happy that I didn't kill the soundcard and that the case glows like it used to.

Poor shot of the glow because of the phone's camera.

Oh, right. I was debating on staying up to fix it or not since there was going to be the usual birthday party gathering the next day, which usually means that I relax with my younger niece and nephew playing video games. While it only took about 30 minutes to fix, I would've been able to fix it the next day, since my nephew wasn't over.

The only "damage" was that the relays got over-volted a couple times (according to the datasheet, it can only handle an over-volt of 125% or maybe 150%), but it was only twice for a brief moment, so they still work just fine (if anything, I have extras).

As usual, learned a couple things:
  • Check housing/plug orientation on top of pin/wire sequence
  • Check hunches immediately, regardless of situation.
I have thought of a soundcard switchboard that would allow me to put it inside Melty, and allow me to utilise much shorter cables. It's slightly upsetting that I've cable managed the power take-off harness I made, but it won't be that big of a deal. I have also purchased a crimper to allow me to crimp the pins/sockets of common computer wire harnesses, so I'm much less restricted on what I can do (more on this later with the PSU power take-off board project).

Melty's HD 6770 went to Lie-chan, Lie-chan's HD 6450 went to the Dell, and the Dell's X1950 Pro (or whatever it was) went to the 820 (which I still need to name and such). Since the Dell is a BTX motherboard, the heatsink of the HD 6450 is facing upward, so I decided to go with the intended passive cooling design (there's also the Wi-Fi card plugged into the PCIe x1 port above it, so I can't put a cooling fan there anyway).

Melty's much quieter now that I don't have to listen to the Vantec fan card thing, and it took me a while to get used to, since if I came back after the screen turned off, I couldn't tell if she was on or not.

The Dell's a lot more quiet as well, mostly at boot, where it would spin all fans at 100% momentarily before the actual boot (or for a minute if the PSU needed to "catch up"... I really should replace the PSU at some point...).

Beside the soundcard switchboard, Melty will have one final upgrade. Well, not entirely an upgrade, more of a downgrade. Anyway, Melty will probably get a RX460 whenever I build something to replace her, since I'm not going to buy another RX480 for the new build.

The AM4 Zen-series FX CPUs are very tempting for numerous reasons (DDR4, PCIe 3.0 support, 14nm manufacture processes), but I'm not ready to spend the needed money, considering Melty does all that I need her to do. I'm thinking the soonest I might replace Melty is AM4+, but we'll have to see.

Whenever that does happen, Melty will stay in her case, considering the modifications I did to mount the PCIe extension thingy. That's it for now, since I'm up past my bedtime...

17 August 2016

Logitech Wireless Optical Trackman Modification

I think it was about a month ago that I decided to revive the Logitech Wireless Optical Trackman mouse I had since the Marble Mouse and the mouse I hacked for a scroll wheel were no longer serving me well enough. Part of it was mainly because I didn't solder the wire(s) for the middle-click switch (I didn't think I would need it back then), part of it was that it was that the scroll wheel didn't operate how I'd like it to (loose enough to where it can spin freely without the limiter spring), and the part that was least annoying is that it was somewhat awkward to use.

The reason why I retired the Wireless Optical Trackman was because the range wasn't great with the rechargeable batteries I was using - it was designed to use 3 volts and not the approximate output of 2.4 volts from the rechargeable batteries, so I decided to make it less wireless by having the power come from a stable, wired source. At first I was thinking to siphon off of a USB port or header, but then I decided it might be easier to piggyback the power from the receiver.

I first checked the current draw of the mouse itself and found that it was drawing between 2 and 9mA of power, which surprised me a bit, as I wasn't expecting it to be that low (then again, I kinda should've expected it knowing Logitech). The next day I checked the current draw of the receiver and found that it was about 10mA, and was a bit surprised again. I looked at the stickers to find that the mouse is rated for 3 volts at 100mA, and 5 volts at 20mA for the receiver. I looked for an adjustable voltage regulator that had an output of about 250mA (since I wanted to keep it somewhere under 500mA) that was small enough to make a compact board while being large enough to solder by hand.

I had first decided on 0603 for the size of the resistors and capacitors, and created a PCB in Eagle with it, finishing with dimension of the board after the SOIC-8 package and positioning of the vias. I then found that I actually had enough space for 0805 after saving a copy and playing with the pads for the 0805 a bit (I had them in the original file off to the side if I remember correctly).

Somewhere before/during this, I tried to use KiCad to draw the PCB, jumped through hoops an hurdles to get the SOIC-8 footprint library thing to work with KiCad before finding that I had absolutely no way to make a ground pad without making a schematic. I eventually made my own footprint in Eagle from the datasheet itself, since the footprint library was done by Texas Instruments and none of the SOIC-8 footprints in it matched the datasheet of the voltage regulator (that's made by some other manufacturer). Needless to say, I was quite frustrated going into drawing the PCB in Eagle - more on this later. (I also made the pads for the 0805 and 0603 cases at this point as well.)

Once everything seemed to look good (I think I already had the silk-screened stuff already done after finishing the version with 0603 parts), I uploaded it to OSH Park and made a couple corrections when looking over the rendered PCB layers. I then left it there, since it was only 65 cents (USD), and I didn't really need it as soon as possible.

The board is quite small, but it was hard to imagine exactly how small a board that's roughly 7.5mm by 11.8mm was. (I don't have exact dimensions since it's long gone.)

Eventually, my brain didn't function correctly and I thought that I could get away with using a fixed regulator, which would lower the price of the parts I needed as well as simplify the board itself, but eventually I came to my senses even though I was fairly close to finishing the new PCB drawing (which was just a copy). The problem with fixed regulators is that the "ratio" between required input voltage and output voltage is usually higher than adjustable ones. For the fixed regulator I found (of the same SOIC-8 package), it required about 6.3 volts for the input voltage, and considering that I was working with USB power (5 volts), that wasn't going to happen. For comparison, adjustable regulators usually require at a minimum of about 1.2 volts difference between the input and output voltages. I kept the file and the submission on OSH Park, because it could come in handy for someone at some point.

Eventually I created another tiny board for work that was also the same price (though I think it was slightly larger in area), and after I checked it (it was a fairly simple board), I purchased both for 1.30 USD.

It was later that day that I get an email from OSH Park saying that my boards have been added to the super-swift panel for free because there was space to do so. Tiny boards for the win! I roughly got the boards about a week after sending the order, so I was ready for working on the project once the weekend arrived (which wasn't long, since I got the boards on Thursday).

I didn't take the usual set of pictures since my phone wouldn't have focused properly if I held the phone any closer. Teeny little buggers, eh?

The first thing I did (which wasn't the best idea) was solder the capacitors and resistors to the board. I left the resistors off of the other two boards so that I'm not stuck at roughly 3.1 volts with boards I wasn't going to use. Yes, I could replace the resistors later, but it would be a waste of effort. One of the pads of the resistor spots has solder to make it easier to solder the resistors to the board once it happens.

After finishing said step.

After that, I awkwardly soldered the voltage regulator on. While I should've done it first, I wanted to avoid ESD and/or overheating problems (from soldering), but the capacitors made it difficult to keep the board steady to get the voltage regulator to solder flat against the board. I'll know for next time.

The voltage regulators soldered correctly to the board.

I then spent a bit too long trying to find cable small and long enough to fit through the existing hole that the reset switch wires were fed through, but eventually realised that I was going to have to route the wires some other way. After grabbing an appropriate length, I prepared the cable and soldered the wires to the board.

Top and bottom view after soldering the wire to the board.

I decided to verify the operation and voltage and awkwardly used some discarded legs in the breadboard and feeding the output holes through them. I really don't suggest doing this, but I didn't quite want to solder the output cable yet. Anyway, I found that the output voltage was roughly the same as the input voltage and was really confused until I decided to check the resistance. I found that the resistances were fine, and started checking the board to ensure all the traces/pads/vias were properly connected.

I then found that the ground of the output wasn't connected to the ground of the input. I then look at the drawing and didn't see anything weird at first before removing the top layer from view. The ground pad wasn't connected from one side of the board to the other and there was a thin, yellow signal line connecting them together. I then grabbed a breadboard jumper to complete the connection, since it was a bit easier than attempting to make my own jumper.

After soldering and trimming the breadboard jumper in place to the ground side of R2 and C1. the solder overflowed a bit to the ground wire, which was fine although slightly unsightly.

I stuck it back into the breadboard and got the 3.1 volts (or whatever the reading was) that I expected to see and carried on with preparing and soldering the output cable wires.

Top view after soldering.

I then covered the board with heatshrink (to prevent shorts to/from the mouse board) before spending some time figuring out where to place the board and how to run the wires, and after doing so, I soldered the output wires to the PCB of the mouse.

I tried to nicely solder the wires at an angle, but the positive wire (blue) didn't want to play nicely since I had to resolder it for whatever reason.

I then drilled the hole for the input cable before proceeding to reassemble the bottom part of the mouse.

View of the heatshrink-wrapped voltage regulator, inside view of hole, external view of hole, and view of input cable with zip tie as a strain-relief.

I also modified/fixed the problem I was having with the scroll wheel by filing away part of the housing and a holder piece, though I think the holder piece didn't need filing. With that finished, I finished reassembling the mouse and began working on the receiver, starting with drilling the hole, which wasn't easy.

Outside view of the hole, view of the nipped plastic from not drilling straight.

I then fed the input cable through the hole to ensure it would be fine since the hole I drilled was a bit off, and then soldered the wires together appropriately to the USB cable, applying heatshrink afterwards.

Somewhat awkward view, I think due to the torsion of the input cable.

I then ran the input cable before placing the board in its respective location before plugging in the cable and utilising a zip tie on the USB cable. The input cable didn't need its own zip tie since it was at enough of an angle to disallow the cable to be pulled out.

Inside view.

I then closed it up and plugged it into Melty to test it out, having to play with the connect buttons before the mouse responded; I was frightened for a moment when the mouse wasn't working - I thought I killed something with ESD or overheating with the soldering iron. After that, I unplugged the Marble Mouse and hacked mouse and ran the USB cable for the Optical Trackman before playing with the connect buttons again to get the mouse to work.

View of the input cable and receiver (which didn't want to stay upright). Ignore the mess.

I think it was during the final test that I realised that I was actually going to put the hole somewhere on the side near the USB cable, but completely forgot once I went to drill the hole. I wanted to avoid where I drilled the hole so that the receiver could stand upright. Not entirely a big deal, since the receiver's sitting on the remote cable for my speakers that allows it to not sit on the input cable.

I realised that the tracking isn't as great as compared with the Marble Mouse (considering the Optical Trackman uses older tech), since the Optical Trackman stalls the pointer if I spin the trackball too fast, but if I really need the enhanced tracking, I can always connect the Marble Mouse again (or any other mouse of mine for that matter) if the drawing tablet isn't going to suit the need.

I also fixed the board design in Eagle by making it slightly wider to where the ground pads can connect, and luckily, it's still the same price of 65 cents (USD). Actually I just found I didn't fix it properly (well, to my liking), so I spent a few minutes just now to make it look nicer. I'll re-upload it again to OSH Park at some point.

Final board design in Eagle.

It took me about a couple days to unlearn the muscle memory for the scroll wheel and then about a couple weeks to unlearn the muscle memory of the layout, but now I'm using it like it was always there. I forgot to mention the reason why I wanted to have a long input cable was so that I could utilise the mouse if I'm reclining in the chair and/or for future desk layouts.

Scrolling is much better than before (in comparison to both the wheel before my modification and the hacked mouse), and I can utilise my index and middle fingers if I need to scroll down a lot.


Things I've learned:
  • Pay close attention to loose signals when checking the design.
  • Try not to rush assembly (I was trying to finish before it became too dark to easily work).
  • Solder in an order that ensures board stability.
  • Take breaks to reduce frustration/(mental) exhaustion. (This might take a while to make a habit.)
  • Don't delete items from a project/wish list unless absolutely necessary. (Luckily it wasn't too hard to regain what I deleted.)

14 July 2016

New Skype for Linux Alpha & Franz

The article I read is: Microsoft is replacing Skype’s ancient Linux client with a web app (sort of).

I've actually read two or three articles before this one and was thinking about obtaining it to play with, but after reading the linked article, I found it wasn't necessary because it's essentially a "fancy" version of the web-based Skype.

I've been using Franz to connect to Skype since I've found it (before I was using web-based Skype in Firefox), and it's been a lot more easier to manage my messaging services, since it lets me connect to (the web versions of) Facebook Messenger, Skype, and Discord. Heck, I didn't even know Facebook Messenger had a web version until Franz (saves the hassle of the tiny pop-up window thing on the Facebook page).

I do recommend checking out Franz, as they're multi-platform (even Mac OS) and have a few messenger services that it can connect to. The only weird thing is using it in Manjaro (not sure if it affects any other distros, but I know it doesn't affect Windows 10), where it will glitch out when loading Skype. It seems to be having to do something with also having Discord, since removing Discord fixes it, but it also seems to load if I leave it alone for a while (I'll turn Melty on when I get home from work, and after I'm finished changing and stuff, Skype's up without a problem). If I'm unlucky (or impatient), I end up closing and reopening Franz several times before Skype comes up with the blue "Signing in" screen. I honestly should just let it be and wait for it (or get my Skype friends to get on Discord instead).

To be honest, it's nice that Microsoft's putting the effort into doing something about the dated Skype for Linux program, though I think it would've been better if they had just killed the program and have Linux users use the web-based Skype (or Franz) to connect. I don't think I really need to say more that I'm not going to use the new program if I don't have to.

19 June 2016

Updates (To-Write List) / "Pentium D 820"

Seems like I haven't wrote about the Raspberry Pi 3 and the unused motherboard that I picked up from work. Well, I knew I haven't written about the latter, but definitely didn't know about the former.

The Raspberry Pi 3 (which I'll probably call "Pi3") will be replacing the Pi2 in the 2(DrivePi), but I haven't done all the testing that I need to do... I've only done a bit of light testing before I set it aside and kind of forgot about it. (I was reminded of it again with an article that there's better Bluetooth drivers in an updated Raspbian, but I still forgot soon after that.)

I found a couple unused boards at work and after moving building, I was able to take a better look at them, one of them being an ATX (before the +12, and 24-pin ATX connector) AMD board, and the other being an LGA 775 board. I left the AMD board, since two pre-64 bit machines (Ziggy and the Vaio) is more than enough, and procured the LGA 775 board.

I kinda played around with it, but I don't really remember doing much besides trying to figure out if a graphics card worked or not... Which made things a bit screwy, causing me to set it all aside until recently.

My work computer died (also LGA 775 btw), and so I salvaged parts from it, since it seemed like replacing the bad power supply with a 3rd party wasn't doable. With the tinkering I did yesterday, I eventually tried the Pentium 4 530 and it was just dead, so whatever killed the power supply also killed the CPU.

I found out that the CPU that came with the board is a Pentium D 820 (and that I didn't kill it with trying that video card), and left it in there. While I can upgrade the motherboard with the last of the Pentium D line (965), it probably wouldn't be worth the money. I might grab another Pentium D 945 for it, but I think it's already bad enough that I've a Pentium 4 630 floating around. I will more than likely upgrade the ram from the 2 GB that I had in the Dell before the upgrade to the maximum of 4GB.

I also procured an unused case, which isn't really well built, but it will do for the motherboard and some spare components for now.

The other thing I did yesterday was upgrade the BIOS for that motherboard, since it had a custom splash screen (not sure if the BIOS options were any different), and that the reason for the updated BIOS was a problem that I was having. While the BIOS has it's own upgrade utility, it required a floppy drive, and while I did have one free from my work computer that died, it was really more of a matter of formatting a floppy disk properly and transferring the files onto it.

I did a lot of stuff and eventually gave into just using the Intel that I built for my parents to do what I needed to do, finding the floppy I was trying to use was bad. I was successful with another floppy disk (there's a lot...) and didn't have any problems updating the BIOS, though every time the writing progress paused for a second, my heart also stopped for a second.

So now the mobo has the latest BIOS without that custom splash screen. I'm not sure what I'm going to call it, but for now I'll just refer to it as "Pentium D 820". I'll eventually write it to the machine reference page, but probably not until I give it a name of some sort. I'll also get it a better heatsink/fan unit, but that'll be later as well.

Triela Tinkering

A bit ago, I remembered that I had stuffed a hard drive caddy for Triela into my wish list and decided to get it to increase the storage space on Triela (Windows needing it more than Manjaro though).

Not really too much to write about, though Triela was extremely confused when I had the SSD and her original drive, since both had a boot flag, so I had to use a different drive, though it gave me the entirety of 500GB, since I wouldn't be stuck with the original partition scheme.

She still gets a bit confused on boot, even though the storage drive doesn't have a boot flag, but it's usually remedied by a hard reset or two. I played with the boot order earlier today and found the other drive, so maybe that might help? Too early to tell, sadly.

I think it was a couple or so weeks ago when the stock battery died completely... I was just doing my thing, and all of a sudden, Triela turns off without any warning. I found the battery to be really hot, so I removed it and set it aside while I turned her back on.

I knew the battery wasn't doing well, since I had lost about 60% of the original capacity, but I guess the combination of things that I had done when I used her last was the nail in the coffin.

That time that I speak of is when I used Triela to print off some stationary with the old Scan/Fax/Copy machine that I was able to get my parents because it was supposedly broken (I found the problem and fixed it). Anyway, I spent a lot more time than I needed to while on battery because CUPS didn't have any Brother drivers, but I was still able to print just fine without Manjaro shutting Triela down because of a low battery.

It's not that I ran the battery somewhat close, it's the fact that I didn't bother to plug Triela in after that. For the amount of time that I left her unplugged before I used her again, I'm sure the battery was too deeply discharged to charge again, thus what happened.

As the battery cooled down in my room, it left a smell, so I knew it was shot. Luckily there's a recycle box at work, so I just took it with me the next morning and deposited it in there.

I used Triela for a few weeks until recently when I decided to order the cheaper of the replacement batteries I found.

Though I wasn't too consciously familiar with Triela's stock battery weight, I still noticed a slight difference, since the new battery has 6 cells while the original had 5 (I did a bit of calculating because a reviewer said taht the replacement battery holds a longer charge than their original... Duh!).

The new battery came with 60% charge and said to utilise the charge until 7% before putting it on the charger; doing this a couple times to "exercise" the battery. I booted Triela into Manjaro and was somewhat awestruck (for lack of a better word) that I had about an hour and fifteen minutes with 60% charge.

I used her again earlier today (as I  previously stated) to get into Windows for a log in event for the game I play, having to download about 600Mb of patches along with a new launcher (that failed to install correctly the first time...). I think I shut Triela down at about 20% battery, which isn't bad from what I'm used to.

From now on though, I'll definitely take better care of the battery instead of just utilising it when it's not convenient to stay plugged in. Unless I replace the storage drive with an SSD, there's really nothing more I can do to Triela to make her better.

Snap Packages

The article I read is: Linux App Distribution Gets a Little Easier with "Snap".

I actually read a different article, but I realised I had things to write about it.

I read the other article yesterday, after a bit of apathy about Snap, and figured I'd give it a try since it was available on Arch (remember that Manjaro is based off of Arch).

I installed it and poked a bit with it, but decided to not do much more with it. Why? Because the packages that I would be installing from it could be counted on one hand.

Once there are a lot more packages, I'll most likely start using it, but I'll just hold off for now.

Soundcard Switchbox Version 3

I originally planned to write this once I was finished, but I kept losing motivation with how long this would be, along with having other things I wanted to work on instead, and the stress of a few things happening recently.

I think I mentioned at some point about this project being in the works, though I don't think I really stated any details (perhaps vaguely about the PCB design?).

Originally, I had found some switching, low-signal relays on Mouser (EC2-5TNU) that I designed the original board around. The relay has two coils, one to change the contacts from the "reset" position to the "set" position, and another to bring it back to the "reset" position. I briefly considered the single-coil version, where the polarity across the coil determined if the contacts moved to the set or reset positions, but I decided it would be a bit more of a hassle to route the traces.

Screenshot of the PCB design from EAGLE. Red lines are traces on top of the board, blue lines are traces on the bottom of the board, and white lines are silk-screened lines.

It's fairly organised and only has one audio trace that had to be transferred to the opposite side of the board (I try to keep the use of vias minimal). The spot in the bottom right corner of the board would be a header on the bottom side that would be for the SPDT (On) - Off - (On) toggle switch, and the positive and negative input.

When I was actually able to allocate money to work on this project, I purchased the relays, but stopped when I looked at the board again. The board size is 99.1 by 25.4 millimetres (3.9 by 1.0 inches), which would fit just fine inside the project box, but would cost me about 20 USD for a set of three. It was a bit annoying that I had just purchased the relays, but I decided to redesign the board smaller.

I happened upon a newer version of the relays that I purchased, which was slightly shorter in length, slightly wider, about two-thirds of the height, and also a bit cheaper. For a bit, I tried to mentally figure out how to reduce the size of the PCB by rotating the relays 90 degrees, but figured that the traces would be a horrible mess, so I decided a single-coil version would be better.

I decided that the newer version of the relays (EA2-5SNJ) would be a bit easier to work with because of the wider footprint. The only drawback was that the legs for the dual-coil version would still be present, even though it is a single-coil. While the legs aren't connected to anything at all, it would still be extra holes to add to the board that I would have to avoid, but it wasn't bad, considering there wouldn't be any traces that I'd have to dodge along with it.

Screenshot of the design from EAGLE.

It turned out to be much better than I had expected, though it was frustrating to try to figure out how I wanted to arrange the audio I/O vias. I ended up having to change the grouping from one input to one section of the inputs. In other words, with the first version, I had the input sections from Linux grouped together (i.e. tip, ring, and sleeve of the "peach" cable would be close to each other), but with the second version, I had put the input sections together (i.e. the tip from Linux and Windows, as well as the tip output are grouped together). It was really the only way to keep the routing simple while keeping the board size small.

Marking the audio I/O vias took a bit of time to figure out as well, since I wanted to try to ensure that it was fairly easy to understand, while keeping it minimal because of the very limited space. "W" is for "Windows (input)", "T" is for "Tip (output)", "L" is for "Linux (input)", "R" is for "Ring (output)", "S" is for "Sleeve (output)", "P" is for "Peach", "B" is for "Black", and "G" is for "Green". The "S+" and "R+" signify what wire needs to be positive to change the relay... In other words with "S+" being positive and "R+" being negative, the relay would shift to the set position. (There's a bit to this that I'll talk about later... Unless you've looked at the datasheet for EA2-5SNJ closely enough.)

Now that I was pleased with a smaller board (50.9 by 23.0 millimetres [2.0 by 0.9 inches]) that's about half of the cost of the first version, I sent the design off to OSH Park to get made while I ordered the EA2-5SNJ from Mouser.

The usual views of the PCBs.

A bit of a shame that the silk-screen outline of the relay got broken up by the vias, but it wasn't a major deal, it was mainly just to make it easy to tell which side of the board the relays were to sit on, though in technicality, it doesn't matter. (Again, more on this in a bit.)

Once I had the boards, I soldered the relays to the board, which wasn't really too hard to do, though I took a bit of time, because I wanted it to look nice for the photos.

Relays soldered nicely to the board.

Next, I began working on the box, forgetting about the grooves on the inside that need to be shaved off for the jacks to properly fit. I first did the side where the power input would be, and it didn't turn out very easily, but I had shaven more than enough, since the jack would sit relatively close to the lid.

Picture was actually taken after the entire shaving was complete.

Next, I shaved the backside, starting from the opposite side from where the power would be, and it took quite a bit of time; I started making mistakes not long after I was halfway done.

I started from the left side of the picture and worked my way right. As you can see, there was problems with controlling the depth of the blade.

I did what I could to keep the problem minimal, and thought it would be fine as I drilled the holes for the power jack and the toggle switch.

Top 3/4 view and bottom 3/4 view without lid.

I actually drilled a bit too close to the screw post, but I played with a jack and it would be fine, just a bit awkward to mount the jack. I then drilled the holes for the I/O jacks. and those mistakes came back to become a problem.

Rear view, rear 3/4 view, and inside 3/4 view. I scored some lines to try to keep the holes relatively aligned and decently spaced. Pictures were actually taken after the next set of pictures.

My heart dropped when I heard the snap and found that the crack, and I was ready to throw the box to the (carpeted) floor and spend my time with something else for the day, but I decided to play with the jacks a bit to see how bad the crack would be once the box would be complete.

Rear and rear 3/4 view.

It didn't actually look too horrible, even though it was obvious it's not supposed to be there, so I continued working with the box, since I wasn't in the mood to shave all the grooves again. I then figured out a colour scheme for the wires before removing the nuts and soldering the wires to the jacks.

Wires soldered to the jacks, in the order specified on the sheet that they lay on.

Next was to mount the jacks to the box.

Inside and rear views of the box with the jacks mounted.

It's probably quite easy to tell now that the top row of jacks (outputs) look slightly off compared with the bottom row, and it's because I divided the length of the box (probably the interior between the screw posts) before I had figured out the spacing of jacks for the bottom row. Moving on, the wires were slowly soldered to the PCB as I double-checked the order to ensure I didn't end up soldering any wires wrong.

Wires soldered to the PCB.

I then soldered the wires to the power jack, mounted the jack, soldered the wires to the DPDT (On) - Off - (On) toggle switch, soldered the remaining wires to the PCB.

Inside view of the mounted power jack. Inside view of the wires, with the switch unmounted. View of the bottom of the switch, showing the logic. Wires from the switch soldered to the PCB.

The switch is then mounted to the box and the wires tucked to be somewhat out of the way.

A bit hard to see the toggle bottom, since it's black.

Then it came time to figure out how to put the rest of the wires and the PCB into the box. It didn't quite turn out like I had envisioned, but I did make it work after playing with it a bit.

Wasn't how I intended it to be, but worked just fine.

Next, I attached the lid and the labels.

Front 3/4 view, rear 3/4 view, and bottom view. Bottom label is so the lid doesn't fly away if the box needed to be opened for any reason.

With the box finished, I checked with a multimeter that everything was correct, and found that the Linux and Windows inputs were swapped. (I think after soldering the jacks to the PCB, I had did the same to ensure they were right). I opened the box up and found nothing wrong, but eventually realised that I actually flopped the "S+" and "R+" silk-screens. Why? Because the datasheet for the relay shows the bottom view of the relay, and I had soldered the relays to the top of the PCB.

Because of how the board is designed, the relays could also be soldered to the bottom of the board as well, taking care to not confuse the set/reset polarity.

There was a couple things I could do: (1) leave the wires from the switch alone and flop all the labels or (2) leave the labels alone and flop the wires from the switch. I opted for the latter, seeing that it would be more efficient. I also took a couple minutes to fix the drawing in EAGLE.

Screenshot of the fixed design from EAGLE.

I then made the power connector with a right-angle mono cable, an old motherboard header plug, and some wires with the corresponding socket connectors. I spliced the wires to the ends of the mono cable (which only has the mono plug on one side) and applied heat shrink tubing accordingly, following with inserting the ends into the plug in the proper position and orientation.

Wire ends soldered to the cable with heat shrink tubing applied, other cable for reference to which wires are which. Heat shrink tubing applied to enhance appearance. Ends plugged into plug correctly.

After that, I routed the cable inside Melty and plugged it into the remaining USB header.

Views of the cable routing.

I realised a couple days ago or so that I could have also pulled the 5 volts I needed off of one of the 4-pin Molex connectors instead of the USB header. While I would be able to hide the end of the cable under the cover next to the power supply (where the cable comes up from in the last image), I don't have a need for that USB header at the moment, so it will stay as it is now.

The next day I made custom-length cables to connect between the sound outputs of the motherboard/sound card and the switch box, and I used a bit of blue Loctite to try to keep the covers from coming undone, but it ended up destroying the plastic of the plug, which I found out when I moved the cables after taking the image of them.


I was really upset again that it happened and tossed them aside as I looked for something cheap online that would take care of the length I needed without being too excessive in length. Though what I found was 6 feet in length, it was much cheaper than the length that was closer to what I was looking for, so it became what I ordered (one end is a right-angle plug while the other end is straight). I got the cables in the middle of the week and used zip ties to code them accordingly.

Cables fresh out of the bag, and newly coded.

Without saying, I connected the cables, but the only thing that's not obvious is the way I connected the cables. The cables for the motherboard's sound card (Linux) has the right-angle connectors connected to the motherboard while the straight plugs are connected to the switch box, and the cables for the sound card are connected the opposite way - the right-angle connectors are connected to the switch box while the straight plugs are connected to the sound card.

I didn't take any pictures afterwards, since I was still a bit upset with the Loctite destroying the plastic of the plugs. While typing this, I checked the cables that I made and they seem to be solid (I didn't check for possible shorts), but considering what's done is done, I'll just use them for something else.

The switch box works fine and it's a bit funny that even with holding an ear against the box, it's hard to hear the relays because of how loud the switch is. I may remake the switch box again, taking all the things I've learned with this one as a precaution, though it won't look/function much differently.

I had also thought of another switch box design where the box would be inside Melty, though instead of one cable running in/out, it would be six instead. The other problem would be making a proper 5.25" mount for it as well.


Things I've learned:
  • Take breaks more often when doing repetitive tasks to ensure less mistakes (shaving the grooves off).
  • Allow a bit of slippage when drilling holes (power input jack hole).
  • Check the board design against the data sheet more often.
  • Be very careful with Loctite and plastics.