Web Browser Pushes Arduino’s Limits

arduino browser

Some projects that we build fulfill a genuine need for a new piece of hardware or software that will make life easier or fix a common problem. Other projects, on the other hand, we do just because it’s possible to do. [Gilchrist] has finished work on a project that fits squarely in the second category: a web browser that runs exclusively on an Arduino Uno with an ethernet shield.

The Arduino can serve plain-text web pages to an attached LCD and can follow hyperlinks. User input is handled by a small joystick, but the impressive part of the build is on the software side. The Arduino only has 2KB of RAM to handle web pages, and the required libraries take up 20KB of memory, leaving only about 12 KB for the HTML parser/renderer and the LCD renderer.

The Arduino browser is a work in progress, and [Gilchrist] mentions that goals for the project include more robustness to handle poor HTML (the Hackaday retro edition loads flawlessly though), a terminal, and WiFi capabilities. To that end, maybe a good solution would be using the new ESP8266 chip to keep things small and inexpensive?

Recording audio with Chrome using HTML5

recording-audio-with-chrome

The Dubjoy project was stopped dead in its tracks when the newest version of the Google Chrome browser stopped using Adobe’s flash plugin and transitioned to their own called Pepper Flash. The aim of development was to produce a browser-based editor for translating the audio track of a video clip. After a bit of head scratching and a lot of research they decided to try ditching the use of Flash and implemented a way to record audio using HTML5.

There were quite a few issues along the way. The initial recording technique generated raw audio files, which are not playable by Chrome’s HTML5 audio player. This can be worked around by buffering the raw audio, then converting it to a different format once the recording is finished. The user also needs to monkey with the Chromes flags to enable HTML5 audio. So they did get it working, but it’s not yet a smooth process.

We love seeing the neat stuff you can do with HTML5. One of our favorites is the use of a tablet’s accelerometer as a browser game controller.

[via Reddit]

Turning a plush Dalek into a WiFi enabled robot

You can now “EX-TER-MIN-ATE!” with one finger since this plush Dalek from Doctor Who has been turned into a wireless robot. The build started out with the toy whose only trick was to spout quotes from the popular science fiction television series. [Madox] took it apart to see how it worked, then added some of his own goodies to make it better.

We just looked in on a project from this guy on Tuesday. It was a light painting wand that used the TP-Link TL-WR703N wireless router. This uses the same tiny hardware as the controller. Since it’s a WiFi router it’s quite simple to serve up a control interface on any browser. To make it all work [Madox] designed and printed a new base plate. This provides brackets on which the two servo motors can  be mounted. It also gives him a place to anchor the driver board and the router itself. The original voice hardware is still there, driven by a connection to the router hardware. See the final product in the clip after the jump.

[Read more...]

Control Raspi GPIO pins in the browser

Now instead of wrangling Python or PHP to do your bidding, [Eric] came up with a way to control the GPIO pins on his Raspberry Pi in a browser.

[Eric] calls his project WebIOPi, and it’s the perfect tool if you’d just like to blink a LED or control a relay over the internet. Simply by pointing his browser to the IP of his Raspi, [Eric] can turn GPIO pins on and off, directly from his desktop browser.

All the code for WebIOPi is available on [Eric]‘s Google code page. The UI of [Eric]‘s project is fully customizable, so it’s entirely possible to control your garage door from a smart phone simply by loading up a web page hosted on your Raspi and pressing a button.

Right now WebIOPi is only able to turn GPIO pins on and off. That will change as [Eric] implements UART, SPI, and I2C in his project, making it possible to do a lot of cool stuff without having to write much – if any – code.

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.

Xmarks helps polish Chrome

xmarks

The guys over at Xmarks are working hard to bring their bookmark synchronization service to all browsers and platforms. They’ve recently begun a closed alpha test for their Google Chrome/Chromium extension. We got an invite and decided to give it a test run. Since extensions aren’t yet fully supported, and still a bit buggy you’ll need to use the latest build in the dev channel of Chrome, which means at least version 3.0.196.0 or newer. We tested it on version 4.0.207.0 for Ubuntu with great success. The extension is still pretty basic since it’s still at an alpha stage, but works very well with synchronizing bookmarks across different platforms and browsers. Some of the things left out from the Firefox version are profiles, smarter search, site info and suggested tags. For an alpha release, it’s very well done and functions great, and we’re certainly looking forward to this extension as it develops further.

Mozilla Fennec Alpha 3 for Windows Mobile released

fennec

Mozilla released the latest alpha version of their new mobile browser Fennec for Windows Mobile. It brings many new features and fixes, such as improved startup time and a caching system to help scrolling on a page. They have also added support for a wider range of screen resolutions, and for those of us running an HTC Touch Pro support for zoom via the directional pad has been included in this release. Being an alpha release, it’s still a bit on the buggy side, but is very a promising browser for mobile phones. The final release should give other browsers a run for their money.

Follow

Get every new post delivered to your Inbox.

Join 96,614 other followers