RAM upgrade for WRT300N router

[Heli] had a WRT300N wireless router sitting around collecting dust. He decided to squeeze at bit more entertainment value out of it by seeing if he could pull off a RAM upgrade. He managed to double the router’s RAM and posted a walk through (translated) to help you do the same.

Swapping out surface mount RAM chips isn’t the easiest thing in the world and you must wondering what prompted this. It seems he wanted to run the LuCI package on the router but it was slow (or even incapable) of booting with the stock hardware’s 16 Mb. He first sourced some pin-compatible replacement chips from an old Pentium III computer. While his soldering iron was hot, he also wired up a JTAG header, which connects via the red wires just visible to the left. When he first fired up the unit he was happy that it was able to boot, but it still only detected 16 Mb.

It turns out you’re going to need to roll your own kernel to get it to take advantage of the upgrade. Source code for OpenWRT is easy to find and there’s plenty of guides for compiling it. If you try this, make sure to read [Heli’s] post carefully as he’s got some important configuration information that will help you to avoid bricking your router.

Upgrading RAM in an Arduino Mega

[Andy] stuffed some more RAM onto an Arduino Mega and his three-part walk through on the design, construction, and software is a great read and one of the more ‘hard core’ Arduino builds we’ve seen.

The build is centered around a 512K × 8 SRAM module [PDF warning]. Because the RAM is divided up into about 512,000 chunks of 8 bits, the Arduino has to access the RAM through 16 ‘address lines’, then send the data through 8 ‘data lines’. [Andy] didn’t want to use up 24 pins on his Arduino, so he used a latch to multiplex the lowest 8 address lines and the data lines together. With the 512KB RAM expansion installed, the Mega is able to address a whopping 520 Kilobytes.

We’ve seen a few builds that have been limited by the amount of RAM available in the Arduino, like capturing video and some robot hacks, and adding some more RAM to those builds would be great. Multiplexing data and address lines using a latch can be expanded even further, but 520KB ought to be enough for anybody.

Speed up Web Browsing in Linux

In modern computer systems, the biggest bottleneck of information tends to be in communicating with the hard disks. High seek times and relatively slow transmission rates when compared to RAM speeds can add up quickly. This was a necessary evil back when RAM space and costs were at a premium, but now it is not uncommon to see 4GB of RAM on laptops, and even 12GB on desktops. For  users whose primary computer use is browsing the internet (either for work, writing articles, or lolcats) and have some extra RAM, moving the browser cache to the RAM from the hard disk is a definite option for increasing speed.

In Linux systems (specifically Fedora and Ubuntu systems), this can be achieved for Chrome and Firefox by creating a larger ramdisk, mounting the ramdisk after boot, and then setting the browser of choice to use that ramdisk as a cache. The necessary commands to do this are readily available on the internet, which makes life easy. Using ramdisks for performance boosts are not exclusive to browsers, and can be used for other software such as Nagios for example.

We have previously covered a tool called Espérance DV for moving cache to RAM in Mac OSX, and for any Windows users feeling left out, there are ways of making Firefox bend to your will. Obviously you will see an increase in RAM use (duh), but this shouldn’t be a problem unless you are running out of free RAM on your system. Remember, free RAM is wasted RAM.

External RAM for an ATmega128

Those who are familiar with Atmel’s line of 8-bit AVR microcontrollers should already know that some of them have support for external RAM. But have you ever actually used this feature? We haven’t. Now you can learn how it’s done by reading through this guide. It touches on all of the hardware, but doesn’t dwell on it. Instead, you’ll get the background you need on how to write to, read from, and test an external module like the one sticking up in the image above. The test routine shows how to make sure everything’s working correctly with your memory mapping before you begin developing firmware around this increased capacity.

[Thanks Spman]

iPhone 4 teardown

iFixit traveled all the way to Japan to bring you this iPhone 4 teardown, only to be shipped the device unexpectedly two days early!

We were surprised that the A4 processor (its naked body displayed for the world this past April) contained within the iPhone 4 had 512MB of ram, compared to the 256MB of the iPad. Other features include the 1420mAh battery (201mAh more than the 3Gs), 5MP rear camera and front VGA camera, and the use of micro-sim.

Frankly, we don’t see ourselves getting the device immediately, but how excited are you for the iPhone 4?

Dingoo A320 RAM upgrade

[Stephanie] beefed up the hardware on her Dingoo A320. She enjoyed the features that the A320 handheld gaming system offered, but wanted the 64mb of RAM available in its bigger brother, the A330. A comparison of the two led her to believe a swap might be possible and after sourcing a pair of replacement chips for $12.50 she took the plunge. Once the solder had cooled it was just a matter of flashing some different firmware to take advantage of the upgrade.

[Thanks Juan via Dingoonity]

Adding RAM to the Nexus One without soldering

Want 21 megabytes more ram in your Nexus One? [Coolbho3000] worked out a way to tweak the kernel and remap memory usage to free up some resources. That means this comes as a custom kernel image requiring no hardware alteration. Try it out and share your experiences in the comments. But if you don’t need more ram you can just upgrade to the most recent kernel.

[Thanks Juan]