ArduinoCamera

A Single Pixel Digital Camera With Arduino

[Jordan] managed to cobble together his own version of a low resolution digital camera using just a few components. The image generated is pretty low resolution and is only in grey scale, but it’s pretty impressive what can be done with some basic hardware.

The heart of the camera is the image sensor. Most consumer digital cameras have tons of tiny receptors all jammed into the sensor. This allows for a larger resolution image, capturing more detail in a smaller space. Unfortunately this also usually means a higher price tag. [Jordan’s] sensor includes just a single pixel. The sensor is really just an infrared photodiode inside of a tube. The diode is connected to an analog input pin on an Arduino. The sensor can be pointed at an object, and the Arduino can sense the brightness of that one point.

In order to compile an actual image, [Jordan] needs to obtain readings of multiple points. Most cameras do this using the large array of pixels. Since [Jordan’s] camera only has a single pixel, he has to move it around and take each reading one at a time. To accomplish this, the Arduino is hooked up to two servo motors. This allows the sensor to be aimed horizontally and vertically. The Arduino slowly scans the sensor in a grid, taking readings along the way. A Processing application then takes each reading and compiles the final image.

Since this camera compiles an image so slowly, it sometimes has a problem with varying brightness. [Jordan] noticed this issue when clouds would pass over while he was taking an image. To fix this problem, he added an ambient light sensor. The Arduino can detect the amount of overall ambient light and then adjust each reading to compensate. He says it’s not perfect but the results are still an improvement. Maybe next time he can try it in color.

Passion Project Turns BeagleBone Into Standalone Super NES

So you want to play some retro games on your BeagleBone, just load up Linux and start your favorite emulator right? Not if you’re serious about it. [Andrew Henderson] started down this path with the BeagleBoard-xM (predecessor of the BeagleBone Black) and discovered that the performance with Snes9X wasn’t quite what he had in mind. He got the itch and created a full-blown distro called BeagleSNES which includes bootloader and kernel hacks for better peformance, a custom GUI, and is in the process of developing hardware for the embedded gaming rig. Check out the documentation that goes along with the project (PDF); it’s a blueprint for how open source project guides should be presented!

The hardware he’s currently working on is a Cape (what add-on boards for the BBB are called) that adds connectors for original Nintendo and Super Nintendo controllers. It also includes an RTC which will stand in for the real-time clock features included in some cartridges (Pokemon Yellow). Also in the works is a 3D printed enclosure which would turn it into a portable, something like this other BBB portable hack.

Check out a demo of what BeagleSNES can do in the video after the break.

Continue reading “Passion Project Turns BeagleBone Into Standalone Super NES”

A Modular Thumbstick Extension For Gamers With Disabilities

Hackaday alum [Caleb Kraft] has been busy working on control modifications for gamers with disabilities. His latest release is a modular system of thumbstick extensions for the Xbox 360 and Xbox One. Since starting The Controller Project, one of [Caleb’s] goals has been to create a system to facilitate the use of analog thumbsticks. Now that he has a few controller mods under his belt, [Caleb] decided to attack the problem head on. Rather than print a custom adapter for each gamer, he’s created a set of 3D printed extensions which can be mixed and matched to produce the perfect controller mod.

The base fits perfectly over the Xbox thumbstick. The fit is tight enough to stand up to some serious gaming, but can be easily removed with no permanent change to the controller. Extensions stack on top of the base to build up a large easy to grasp stick. There are straight and angled extensions to accommodate specific disabilities. The stick can be capped off with a rounded tip or an easy to grip knob. The exertions are designed to fit together loosely for testing. Once the gamer finds a perfect stack of extensions, a bit of glue locks everything together.

The best part is that [Caleb] has released the files for the entire system. 3D printers are becoming common enough that nearly everyone has access to a printer, or knows someone who does.  Click past the break to see [Caleb] demonstrate the modular thumbstick extension system!

Continue reading “A Modular Thumbstick Extension For Gamers With Disabilities”

Cracking Weather Station Checksum

[BaronVonSchnowzer] is spinning up some home automation and settled on an inexpensive ambient temperature sensor which is sold to augment the data a home weather station collects. He found that the RF protocol had been reverse engineered and will use this information to harvest data from a sensor in each room. In true hacker fashion, he rolled his own advances out to the Internet so that others may benefit. Specifically, he reverse engineered the checksum used by the Ambient F007TH.

He got onto this track after trying out the Arduino sketch written to receive the sensor’s RF communications. One peculiar part of the code turned out to be a filter for corrupt messages as the protocol’s checksum hadn’t yet been worked out. Figuring out how the checksum byte owrks wasn’t an easy process. The adventure led him to dump 13k samples into a spreadsheet to see if sorting similar sets of 5-byte message and 1-byte checksum would shed some light on the situation. The rest of the story is some impressive pattern matching that led to the final algorithm. Now [BaronVonSchnowzer] and anyone else using these modules can filter out corrupt data in the most efficient way possible.

Hacking The Nike+ Fuelband

[Simone] was trying to reverse-engineer the Bluetooth protocol of his Nike+ Fuelband and made some surprising discoveries. [Simone] found that the authentication system of the Fuelband can be easily bypassed and discovered that some low-level functions (such as arbitrarily reading and writing to memory) are completely exposed to the end user or anyone else who hacks past the authentication process.

[Simone] started with the official Nike app for the Fuelband. He converted the APK to a JAR and then used JD-Gui to read the Java source code of the app. After reading through the source, he discovered that the authentication method was completely ineffective. The authenticator requires the connecting device to know both a pin code and a nonce, but in reality the authentication algorithm just checks for a hard-coded token of 0xff 0xff 0xff 0xff 0xff 0xff rendering the whole authentication process ineffective.

After he authenticated with the Fuelband, [Simone] started trying various commands to see what he could control over the Bluetooth interface. He discovered that he could send the device into bootloader mode, configure the RTC, and even read/write the first 65k of memory over the Bluetooth interface–not something you typically want to expose, especially with a broken authentication mechanism. If you want to try the exploit yourself, [Simone] wrote an Android app which he posted up on GitHub.

Finding An Active TX Pin On Cheap GPS

Twenty Euros will score you a small, self-contained GPS keychain. Crack that case open and you can have a lot more. [j3tstream] explored the guts of the thing and found that the NMEA data can be streamed out of the TX pin on the GPS chip.

First off, check out that miniscule GPS antenna module, crazy! But we digress. For testing purposes the asynchronous UART of the GPS was probed, proving that the data can be acquired. From there [j3tstream] moved to an Arduino Pro Mini with an SD card for data logging. The uC is powered from the GPS board but this will quickly exhaust the stock battery so [j3tstream] swapped it out for one from an old cellphone.

That little dot-matix LCD that comes with the unit also caught our eye. If you can hack a headless interface for the GPS that could be repurposed for your next project. May we suggest a wearable gaming project for it?

Kill Time Making Flappy Bird, Not Playing It

With all the Flappy Bird clones floating around in the ether after the game’s unexpected success, there are some that are better than others. And by better, we mean, hacked together from misc hardware. If you’ve got an Arduino on hand, then you’re half way to making your own:

The “Minimalist” Version

[aron.bordin] created his own Flappy Bird game with a short list of parts some of us likely have lying around on our bench. An Arduino loaded with the appropriate code is wired to a 16×16 LED matrix, which apparently displays the minimal amount of visual information you’d need to play the game. The only other parts required are a single pushbutton and resistor tethered on a breadboard to control your flapping. With the wire hookup laid out by convenient diagrams and the libraries required for the code all found on the same page, this is easily something one could bang out in an afternoon. If afterwards you still find yourself with more time to kill than you can stand to play Flappy Birds, there is always the option of fashioning a humorously-sized cell phone case to squeeze it all into… which we’d like to see.

The “Fancy” Version

If you want more resolution than solid colored LEDs, or you just have a fondness for the terrifying bird abstraction the game is known for, you can switch out the 16×16 matrix for a Nokia LCD screen. [Huy’s] rendition of this build over on Hackaday.io will deliver a “more detailed” graphic for the game, and is still roughly just as easy to assemble. Similarly, an Ardunio is loaded with the smarts required to generate the game, along with a single pushbutton tacked on for control. The code and the daunting (/sarcasm) two steps needed to wire the Arduino to the screen can be found on his project’s page.

If you must kill boredom playing Flappy Bird, there is no excuse not to do so on something you made yourself.

Continue reading “Kill Time Making Flappy Bird, Not Playing It”