Your Mouse Is A Terrible Webcam

camera

It should come as no surprise your optical mouse contains a very tiny, very low resolution camera. [Franci] decided to take apart one of his old mice and turn that tiny optical sensor into a webcam.

Inside [Franci]’s Logitech RX 250 is an ADNS-5020 optical sensor. This three wire SPI device stuffed into an 8-pin package is a 15×15 pixel grayscale image sensor. [Franci] started this project by bringing out the Arduino and Ethernet shield. After soldering a pull-up resistor to the image sensor’s reset pin, connecting the rest of the circuit was as simple as soldering a few wires to the Arduino.

The Arduino sketch sends the image data for each pixel to a computer over a serial connection. A bit of javascript and a touch of HTML takes this pixel data and turns it into a webpage with a live view of whatever is directly under [Franci]’s mouse.

Video of the mousewebcam in action below.

Continue reading “Your Mouse Is A Terrible Webcam”

STL Fun: Converting Images To STL Geometry

stl image conversion

There’s been some good .STL manipulation tips in this week.

The first one is called stl_tools, and it’s a Python library to convert images or text to 3D-printable STL files. The examples shown are quite impressive, and it even does a top notch job of taking a 2D company logo into 3D! We can see this being quite handy if you need some quick 3D text, and either don’t use CAD, or really just need a one click solution. Now if only .STLs were easier to edit afterwards…

The second one is a Javascript based Leap Motion Controller STL manipulator, which lets you pick STLs and manipulate them individually with your fingers. If you happen to have a Leap, this could be a great way to show off 3D parts at a presentation or hackerspace talk, especially if you want to add a [Tony Stark] vibe to your presentation! Stick around after the break to see it in action — Now all we need are some good hologram generators…

Continue reading “STL Fun: Converting Images To STL Geometry”

The JavaScript of Things

Espruino

There are a ton of people out there that can program in JavaScript, but give them an embedded device, and they’re up the creek without a paddle. Not anymore, that is, thanks to [Gordon]’s wonderful Espruino, a JavaScript interpreter for ARM microcontrollers. Oh, it’s also a very capable dev board that has more than enough power to turn just about any project you can imagine into reality.

On board the Espruino is an ARM Cortex M3 in the form of an STM32 chip, 256kB Flash, 48kB of RAM, and a ton of PWM and ADC pins to go along with 2 SPI ports, 2 I2C ports, and 2 DACs. It’s a very capable piece of hardware, and if you’re looking to build anything, it would be hard to pick a better general purpose dev board.

[Gordon] has put his board up on Kickstarter, and since it’s already been successfully funded, he’ll be releasing the hardware and software sources under an Open Source license. If you’ve ever wanted to run JavaScript on an ARM board, it looks like Espruino is just the ticket.

Microcontrollers and Node.js, naturally

We see a surprising amount of projects using Node.js, but despite this we haven’t seen much JavaScript running microcontrollers, even the ARM powered Raspi or BeagleBone. The folks at Technical Machine want to change that with a very cool dev board designed to be an Internet-connected JavaScript running prototyping device from the very beginning. It’s called Tessel, and brings some very cool tools to any maker’s workbench.

On board this little… board is an ARM Cortex-M3 running at 180 MHz, 32 Megs of Flash, 32 Megs of SDRAM, and a TI CC3000 WiFi module that we’ve heard so much about. The 16-pin GPIO can connect to other Tessel modules that allow for servos, accelerometers, micro SD cards, and a whole bunch of other sensors for just about any project imaginable.

Aside from having WiFi built in from the get-go, Tessel also has some Arduino compatibility, allowing it to work with existing shields and code. It seems pretty cool, and we can’t wait to get our hands on one when it launches in September.

Chromebook hack controls your television

chromebook_remote_control1

[Michael Kohn] only accomplished about half of what he set out to, but we still think his TV channel switcher from a Chromebook turned out nicely. When starting the project he wanted to include a grid of listing so that he could choose a specific program, but decided that scraping the data was too much work for this go-round.

The Chromebook doesn’t include an IR transmitter so he built one using an MSP430 chip. He had previously built a little transmitter around an AVR chip and was surprised to find that the internal oscillator on that was quite a bit more accurate than on the MSP430. Timing is everything with the Manchester encoded signals used for IR remote controls so he used his oscilloscope to tune the DCO as accurately as possible.

The app shown on the screen was written in Javascript. Google published some example code on using RS232 with the computer; [Michael] used this resource to provide communications between the computer and the microcontroller.

Continue reading “Chromebook hack controls your television”

HTML link tag hack sends you to the wrong place

hacking-html-a-tag

We consider ourselves fairly cautions Internet warriors. We know when to watch out for malicious links and tread lightly during those times. But this hack will still bite even the most cautions of link followers. It’s a hack that changes where a link is sending you after you click on it.

The concept is driven home right away by a link in the post which lists PayPal as the target when you hover over it with your mouse. Clicking on it will give you a warning that it could have been a malicious page you were redirected to. Of course the address line of the page shows that you were sent somewhere else, but it’s still an interesting issue. The hack is accomplished with just a few lines of JavaScript. In fact, the original example was 100 characters but a revision boils that down to just 67.

So who’s vulnerable to this kind of thing? It sounds like everyone that’s not using the Opera browser, which has been patched against the exploit. There are also some updates at the bottom of the post which mention that Firefox has been notified about it and Chrome is working on a patch.

[via Reddit]

Web-based TI graphing calculator emulator

You can leave the TI graphing calculator at home thanks to this web-based TI-83 and TI-84 emulator. As with pretty much all emulators, this depends on a ROM image from the actual hardware to work. But if you have one of the supported calculators (TI-83+, TI-83+ SE, TI-84+, or TI-84+SE) you can dump the image yourself and this should work like a charm.

[Christopher Mitchell] calls the project jsTIfied because he wrote it in JavaScript and HTML5 (that’s where the js comes from) and it’s based on the Texas Instruments line of hardware (hence the capital TI). After agreeing that you’re not getting any ROMs from his site you can choose the file to load on your browser. The image of the calculator has working buttons and will show the boot screen just like the real thing. You can use it like normal but you can load load up programs for the environment. See this demonstrated after the break.

We’ve seen some arguments online about the price of the TI line over the years. Prices haven’t dropped much over the decades even though they’re making pretty much the same hardware. It’s cool to see someone figure out how to emulate the hardware — and on a web interface to boot! But we’re left wondering why TI isn’t selling an equivalent app for iOS and Android or at least leveraging what must be millions in each production run for a lower retail price?

Continue reading “Web-based TI graphing calculator emulator”