Sunday, May 31, 2015

Testing Repaired Quadro FX4600 in a Dell Precision 690

A while back I fixed up a defective graphics card from Ebay. I had to wait a couple weeks for a Molex connector adapter to arrive before I could give the card a test run. The adapter arrived today.


All in all I'm really happy with this setup. I regard the Dell Precision 690 platform as a somewhat well kept secret for super low-budget, second-hand, high performance workstation configurations. This is what I put together for a project  I'm involved with:
  • Tower + 1.6GHz Dual Core Xeon + 500GB HD + 4GB RAM: $90
  • Upgrade to 3GHz Dual Core Xeon: $5
  • Upgrade to 12GB RAM: $20
  • Upgrade to Quadro FX4600 Graphics Card: $20
  • Adding a 64GB SSD: $30
Total:  $165

That is a pretty neat machine for UNDER $200. And get this: it has a dual socket motherboard that can power two quad core CPUs, accepts up to 32GB of RAM, and 8 SATA drives. With a budget of just $400 this machine could be completely tricked out and would make a fantastic low-budget video and graphics editing station. The tower itself is built like a tank, too. So, if you're looking for DIY processing power on the cheap, I highly recommend you check Ebay for used Dell Precision 690s and compatible hardware upgrades. 

Wednesday, May 20, 2015

Preparing to experiment with RAM based Neural Networks

I got my hands on some old 30-pin RAM modules. One of the memory chips on each module appears to be arranged as 1024x1bit, meaning 10 address lines, 1bit of memory at each address. As far as I understand, this type of memory configuration is what is used for RAM based neural networks.

This article on teco.edu provides some insight into the concept of RAM based, logical neural networks: http://www.teco.edu/~albrecht/neuro/html/node23.html

At this point I'm still working on getting to where I can use the chips on a breadboard. Removing the ICs from the modules was not difficult, but preparing a piece of strip board to accept the ram chip was very time consuming.

DIY SOIC24 adapter for RAM based Neural Network

After completing just one DIY adapter, I decided to just spend a few bucks and get some SOIC24 adapter kits from Ebay.

Commercial SOIC24 adapter for RAM based Neural Network

The actual IC pin arrangement is longer than SOIC24, even though the package only has 20 pins.

Assembled SOIC24 adapter with 20-pin RAM chip

I had to bend the pins to match the solder pads and added a 100nF capacitor.

Now I just have a few more memory chips to solder and datasheets to study. Of course, before I get to actually design a simple, RAM based neural network, I have to first master interfacing with the chip, reading and writing data, refresh cycles etc. Fun stuff!

DIY Magnetic Stirrer Video


As mentioned in a previous post, a beer brewing friend asked me to build a magnetic stirrer for his yeast cultivation setup. This is the finished device. The guts are made from a 80mm 12V computer fan with chopped off blades, a couple strip boards, some neodymium magnets, and PVC plumbing pieces. I used an adjustable linear voltage regulator (LM317) to control the speed.

12V Fan Speed Regulator Circuit
Fan Motor Speed Control Circuit Diagram


DIY Magnetic Stirrer Exterior
Magnetic Stirrer Exterior

DIY Magnetic Stirrer Interior
Magnetic Stirrer Interior

Fan Motor Speed Control Circuit
Fan Motor Speed Control Circuit

Sunday, May 10, 2015

DIY Magnetic Stirrer Progress

A beer brewing friend asked me to build a magnetic stirrer for his yeast cultivation setup.

DIY Magnetic Mixer

The stirrer I'm building uses the core of a 80mm brushless DC computer fan with its blades cut off, sanded, balanced, and mounted on a piece of strip board. Some carefully cut and sanded 1" PVC coupling and pipe hold a neodymium magnet rod in place. There is transparent plastic shielding around the motor to prevent wiring from getting caught in it during operation.

The speed control of the motor is realized with an adjustable LM317 linear voltage regulator. This is the circuit I made.

12V Computer Fan Motor Speed Control Circuit
12V Computer Fan Motor Speed Control Circuit
In this circuit the maximum voltage at the fan motor is only about 10V, but that should still be plenty fast for a magnetic stirrer.

Saturday, May 9, 2015

Quadro FX4600 Repair & Cleanup

Nvidia Quadro FX4600 with heatsink removed

Bought a used FX4600 for cheap on Ebay.


Nvidia Quadro FX4600 with damaged capacitor

After unpacking I noticed a sheered-off capacitor.


Nvidia Quadro FX4600 with repaired capacitor

I soldered the capacitor back in place and cleaned up the board.


Nvidia Quadro FX4600 with dull heatsink

Not shiny enough. 


Nvidia Quadro FX4600 with polished heatsink

Better.

I finished the job the next evening after work, but was too tired to take pictures during it. Thermal paste was applied where needed and the heat sink mounted back onto the board. 

When I went to install the card I realized I didn't have a Molex-to-Graphicscard adapter to power the beast. We'll have to wait until the adapter arrives in the mail to find out if this old workhorse still has some life left in it.




Thursday, May 7, 2015

Artificial Neural Networks on Arduino

I want to share this fantastic write-up by an anonymous editor and programmer that I found today:


I can see pieces of this finding their way into the Tamaduino project, or at least leading to some fun experiments. It immediately had me wondering how easily the provided code could be adapted to take advantage of external memory as to not be restricted by the ATmega328's 2k SRAM.

New Tamaduino Page, Side Gigs

As you can see at the top of the blog, I added a Tamaduino page. The page is an attempt to provide more context for the project and details about the different resources that form the foundation of this project.

In other news, I'm still waiting for the new circuits from browndoggadets.com.

In the mean time I'm keeping my self busy with some side projects:
  • building a magnetic stirrer for my friends yeast-cultivation  
  • constructing a digital neuron from an old 10x1bit DRAM chip

I'll add some pictures as soon as I get to it!

Sunday, May 3, 2015

It wasn't me, I swear!

I was pretty excited when I received the replacement charge controller in the mail and was looking forward to build the Energy Brain test circuit. Just to be sure that this charge controller would work, I wired up a charged Li-Ion cell and checked the output of the DC/DC converter.

0V on the DC/DC output. The exact same problematic behavior as with the first circuit, only this time I had not messed with it at all. After some further investigation it seemed like the MOSFETs were not connecting the cell to the rest of the circuit. 

It is not clear to me if the over/discharge protection IC is failing at engaging the MOSFETs, or if the MOSFETs used for this circuit don't have the right specifications. Maybe there is some kind of gate capacitance that builds up and needs to be discharged prior to initialization of the protection circuit.

The circuit will work if either the MOSFET gates are briefly connected to B-, or if the P-/P+ terminals are connected to a solid 5V DC source, like a USB outlet.

I called browndoggadgets.com and they were able to reproduce the same (mis)behavior and graciously offered to replace my purchases with substitute circuits that should get the job done.  

That means more cool stuff coming in the mail for me this week!

Wednesday, April 29, 2015

The Cost of doing Business... erm, Carelessness

After testing different ways of interfacing a uC with the Li-Ion charge control circuit, I accidentally put the over/discharge protection circuit out of commission when I connected the B- and the V- GND nets. Best I can tell is that the GTT8205S MOSFET got damaged and is no longer reliably connecting the battery to the rest of the circuit. Oh well. I already ordered a replacement.

Here's a circuit diagram for a test-version of the Energy Brain. I use an optocoupler to control the charging of the super-capacitor so that in later versions of the device an external uC on a separate power net can trigger a recharge of the capacitor.


Until a replacement for the fallen soldier arrives, I'll dink around with some other things. I've been reading up on artificial-neural-networks (ANNs) and that has been giving me some ideas, to say the least.

Saturday, April 25, 2015

Tools of the Trade

I use an old Arduino Duemilanove as my In-System-Programmer to flash bootloaders and software onto ATtiny and ATmega uCs.  There are a number of decent guides out there on how to do that:


The greatest source of frustration and errors for me has been flimsy breadboard setups, especially if I'm repeatedly programming different chips during a project.

I've since built a couple of custom mini-shields to make the process as painless as possible.

Meet the Freeloader and the Privateer:




The two mini-shields allow me to switch between different size capacitors for the RESET and 5V pin on the Duemilanove. I've found that the required capacitance for error-free flashing changes depending on the frequency and type of oscillator I am fusing the chip for.