Your Mouse Is A Terrible Webcam


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”

Build an In Line Network Bandwidth Monitor

[Kurt] likes to know what’s going on with his network. He already uses bandwidth checking software on his DD-WRT capable router, but he wanted a second opinion. So he built his own network monitor. [Kurt] started by building a passive Ethernet tap. He then needed a network interface chip that would serve his purposes. The common Wiznet chips used with Arduinos didn’t allow enough manipulation of raw packet data, so he switched to a Microchip ENC624J600 (PDF). The Microchip controller allowed him to count the bytes in the raw Ethernet packets.

With the Ethernet interface complete, [Kurt] turned his attention to a microcontroller to run the show. He started with an Arduino, but the lack of debugging quickly sent him to an Atmega128 in Atmel Studio. After getting the basic circuit working, [Kurt] switched over to a PIC24F chip. With data finally coming out of the circuit, he was able to tell that his original back-of-the-napkin calculations for bandwidth were wrong. [Kurt] created a PCB to hold the microcontroller, then wrote a Python program to plot the data output from his circuit. The bandwidth plot matched up well with the plot from DD-WRT. Now he just needs a giant LED matrix to show off his current network stats!

A cortex M4 based platform with ETH, USB, BT and many on-board peripherals

Here is a very time consuming project that I worked on during last summer: an ARM Cortex M4 based platform with plenty of communication interfaces and on-board peripherals. The particular project for which this board has been developed is not really HaD material (one of my father’s funny ideas) so I’ll only describe the platform itself. The microcontroller used in the project is the ATSAM4E16C from Atmel, which has 1Mbyte of flash and 128Kbytes of SRAM. It integrates an Ethernet MAC, a USB 2.0 Full-speed controller, a sophisticated Analog to Digital Converter and a Digital to Analog Converter (among others).

Here is a list of the different components present on the board so you can get a better idea of what the platform can do: a microphone with its amplifier, a capacitive touch sensor, two unipolar stepper motors controllers, two mosfets, a microSD card connector, a Bluetooth to serial bridge, a linear motor controller and finally a battery retainer for backup power. You can have a look at a simple demonstration video I made, embedded after the break. The firmware was made in C and uses the Atmel Software Framework. The project is obviously open hardware (Kicad) and open software.

Continue reading “A cortex M4 based platform with ETH, USB, BT and many on-board peripherals”

A Nightmare on CNC Street

[James Dressman] emailed us about his two-year journey of getting a large CNC machine running in his home. He doesn’t currently have a webpage, however his story was so incredible that we just had to feature it.   [James] started by doing plenty of research online, and ordering a new CNC. The real fun started when he opened up a wall to fit the 2300 pound monster into his home. [James] found so much insect and water damage that he ended up rebuilding the entire rear half of his home.

Once the CNC was safely set up, the fun still wasn’t over. Not all family members are keen on having an industrial machine tool in the house. In [James’] case it was the smell of way oil that drove his wife nuts. This was all before spindle problems with the tool itself began to rear their ugly head. Illness and family tragedy put everything on hold for several months, however once [James] strength returned, he attacked the problems with renewed vigor. It was a long and winding road, but he now has a fully functional CNC.

But don’t just take our word for it. Continue after the break to see his photo album and to hear James tell the story in his own words.

Continue reading “A Nightmare on CNC Street”

Pokewithastick, an Arduino programmable web-logger/server

[Stewart] tipped us about his very nice project: pokewithastick. It is an Arduino compatible board (hardware, not footprint) based on the ATMEGA1284P which can be programmed to collect and post data to internet logging sites such as Thingspeak or Xively.

As you can see in the picture above, it has a small 50x37mm footprint (roughly 2″x1.5″). The pokewithastick is composed of an Wiz820 Ethernet module, a micro-SD card slot, 2 serial ports, one battery backed Real Time Clock (RTC), one radio connector (for the usual nRF24L01 2.4GHz radio), one power & user LED and finally a reset button. There are two power rails on the board which can be split (5v + 3.3V) or combined (3.3v only) which may allow you to connect Arduino shields to it. You can program the board using the standard 6-pin header or via a serial programmer if an appropriate (Arduino) bootloader is installed.

The project is open hardware, has been designed using Kicad and all the files can be downloaded as a zip file.

SNESoIP: It’s exactly what it sounds like


Here’s a cool hack for those of you wishing to play some retro multiplayer SNES games online!

[Michael Fitzmayer] is a resident hacker at shackspace; der hackerspace in StuttgartHe’s come up with this clever little ethernet adapter network-bridge that can share local controller-inputs over the internet. The entire project is open-source, and readily available on github. It’s still in the early stage of development, but it is already fully functional. The firmware is small and will fit on an ATmega8, and by the looks of the component list it’s a fairly easy build.

He’s even integrated a switch mode (hold B and Y during boot), which avoids trying to figure out which controller will be player one! After all, don’t you remember untangling the controller cords, trying to figure out which one is which?

We know you had a favorite controller and would give the other “crappy” one to your guest.

Example video is after the break.

Continue reading “SNESoIP: It’s exactly what it sounds like”

Building an ethernet connected RFID reader

For the last few years, [Lt_Lemming] was the president of Brisbane’s hackerspace. Until several months ago, access to the local was done using 125KHz RFID tags and an Arduino board with a prototyping shield. As the hackerspace gained members and moved to bigger facilities, [Lt_Lemming] decided to build himself a more compact and advanced platform.

His Simple NetworkAble RFID Controller (SNARC) is a platform which can be connected to an Ethernet network and different RFID readers in order to implement smart access control functionalities. Through hole components were selected so even solder apprentices may assemble it. The PCB was designed using Fritzing, and development can even be done inside the Arduino IDE as ISP and serial headers are available on the board. Finally, an N-channel mosfet controls the door locking mechanism.

The project is open hardware and software, and all the sources can be downloaded from [Lt_Lemming]’s github repo.