Web Browser Pushes Arduino’s Limits

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?

BadUSB Means We’re All Screwed

Does anyone else get the feeling that the frequency of rather horrible vulnerabilities coming to light is accelerating? Off the top of our head, there’s Heartbleed, Shellshock, and now this one. The BadUSB exploit attack stems from the “invisible” microcontroller in most USB devices.

We first heard about it when we were attending DEFCON in August. The exploit had been announced the same week at Blackhat but there wasn’t much information out yet. Now the talk has been posted and there’s a well-explained overview article at Big Mess o’ Wires.

Here’s how this one goes: all USB devices rely on a microcontroller to handle the peripheral-side of USB communications. The computer doesn’t care which microcontroller, nor does it have a way of knowing even if it wanted to. The uC is “invisible” in this situation, it’s the interface and data flowing through it that the computer cares about. BadUSB is an attack that adds malicious functionality to this microcontroller. To the computer it’s a perfectly normal and functional USB device, while all the bad stuff is happening on the peripheral’s controller where the computer can’t see it.

badusb

How deeply do you think about plugging each and every USB device? Check out what happens at 19:20 into the video below. The USB device enumerates and very quickly sets up a spoofed Ethernet connection. You can still load a webpage via WiFi but the fake connection is forwarding packets to a second server.

Once discovered, you can wipe the computer and this will stop happening; until you plug the same device again and reinfect. Worse yet, because the controller is invisible to the computer there’s almost no way to scan for infected devices. If you are smart enough to suspect BadUSB, how long will it take you to figure out if its your mouse, your keyboard, a thumb drive, a webcam, your scanner… you get the point.

Continue reading “BadUSB Means We’re All Screwed”

Hackaday Links: October 5th, 2014

Good news from CadSoft this week. They didn’t miss all the complaints about their decision to use a Node Lock License for EAGLE 7. This had meant that users of the popular PCB design software would be limit on how many machines they could use the software with a license. They have removed License Management from the package (and all the citizens rejoiced).

We’re tripping over the growing pile of hardware that boast the “next-big-thing” in getting devices onto a network. That’s not a complaint at all. This time around it’s a cell chip, the U-blox SARA-U260, which can connect to 3G on the AT&T network and is just 16x26mm. They call it world’s smallest but we have no idea if that’s true or not. Anyone have a source and/or pricing for these? [Thanks Austin]

This guy loves his Nixie tube. How much? To the extent that he built up a hardware and software interface that behaves much like a pet. It’s voice activated, and the infectious delight of [Glasslinger’s] video demo is in itself worth watching. [Thanks Morris]

Making this Magnetic Stripe Reader work as a USB device is really nothing more than adding a serial-to-USB converter. The journey to find the way to add the converter makes for a fun read though.

We know from watching Breaking Bad that you can kill power to a building by shorting the power lines outside with a huge bouquet of mylar balloons. This installation is a twist on the idea. Connecting one mylar balloon to a Van de Graaff generator and floating it next to another results in an oscillating repel-discharge-repel cycle. [Thanks filnt via NPR]

Hackaday 10th Anniversary: Quinn Dunki And Veronica

In case you haven’t been reading Hackaday for the last few weeks, we just had an amazing 10th anniversary party in Pasadena this weekend, full of workshops, talks, and a party that reportedly went until four in the morning. One of the amazing hackers we invited to give a talk was [Quinn Dunki], creator of Veronica, the modern 6502 computer stuffed inside an old radio.

We first saw Veronica a few years ago, but [Quinn] figures she’s been building her computer for about five years now. She’s a software developer by trade that decided one day to dip her toes into the murky seas of hardware development and build a computer from the ground up. She chose the 6502 as the brains of her contraption, laid out everything on single-sided boards etched in a kitchen, and connected everything with a backplane. Right now it has a USB keyboard, (technically a PS/2 keyboard with a USB plug), NES controllers, a VGA display, and a monitor and Pong in ROM. [Quinn]’s goal was to build a computer that could program itself, and after five years, she’s accomplished that goal.

[Quinn] admits her software background was responsible for a few of her admittedly bad design choices; the VGA is generated by an ATMega microcontroller, working under the theory that if she could clock the micro fast enough, she could do VGA. She now believes an FPGA would have been a better choice for video output, but now that the video circuit is done, she probably won’t revisit that problem.

There is one thing missing from Veronica, and something that [Quinn] will be working on in the future: mass storage. Right now every program Veronica can run is either stored in ROM or entered via the keyboard. A hard drive is the next problem to solve, either with an SD card, or a Compact Flash or IDE hard drive.

Bed Leveling With A Solenoid Actuator

Ah, the woes of printer bed leveling. Unless you have a fancy 3D printer, bed leveling is a tedious task. [Rupin] got tired of messing around with his printer, so he decided to make his very own bed leveling sensor.

The goal was to create a Z-axis probe that works as both an auto-leveling sensor and as an end stop. He originally was trying to design something using a servo motor probe, but ended up chucking the idea since the motor was noisy and calibration was difficult.

He’s since switched over to use a solenoid actuator with an optoisolator to determine the position. The actuator extends an M3 screw which will touch the bed — as the position is adjusted, it is possible to adjust the bed using software for a perfectly level bed, every time.

Continue reading “Bed Leveling With A Solenoid Actuator”

Illumaphone Uses Light To Make Music

Move aside Theremin,  we have another crazy instrument that relies on its musicians to frantically wave their arms around to produce a beat. This is the Illumaphone.

[Bonnie Eisenman] recently took a course on Electronic Music, and for her final project she was allowed to basically do whatever she wanted — so she chose to create a custom musical instrument. It’s fairly simple on the hardware side, making use of coffee cups, an Arduino Uno, six photo-resistors, some alligator clips and a whole bunch of cardboard — but don’t let the lackluster parts list fool you, it actually works quite well for what it is!

Each coffee cup is a different note, and the amount of light that gets into the cup determines its volume and vibrato. It even auto-calibrates to the ambient light levels when it is first setup! The light level data is interpreted by the Arduino which then sends it to a laptop standing by, which uses a software called ChucK to synthesize the notes for output.

Continue reading “Illumaphone Uses Light To Make Music”

Arduino Drink Dispenser Turns Quarters Into Liquid Courage

Ever feel the need to have your very own alcohol vending machine at home? Well if you do, [Ben] and [Dan] have just the Arduino based machine for you!

It was actually part of a school assignment for product design at Brunel University – the whole thing was designed and built in just over a week. The machine accepts and counts coins giving you a total readout on the LCD screen. When the correct amount is inserted you can select your shot and the machine will pour you a stiff one.

The thing we like about this vending machine — we’re not sure if it actually qualifies as a barbot — is that it doesn’t have any fancy pumps. In fact, it just uses two inexpensive solenoid valves and gravity to dispense the drink, much like a typical bar bottle dispenser.

Continue reading “Arduino Drink Dispenser Turns Quarters Into Liquid Courage”