[Dino] Brings The Waterproof Fire

firestarter

For many of our parents, grandparents, and great grandparents, the things we consider hacking, making, and doing weren’t just for fun. They were important skills that could help one survive. This week [Dino] shows us something his dad taught him: waterproof fire starters. The trick is paraffin wax. [Dino] starts by melting down some wax in a pot. He then dips strips of newspaper in the liquid wax. Several strike anywhere matches also get the wax treatment, are then placed on the newspaper. The newspaper and matches are rolled up into a tight bundle, which is itself dipped in wax several times.

The resulting small bundle of waxed newspaper and matches is safe and easy to carry in pocket or backpack. It also becomes the perfect wet fire starter. The “newspaper shell” is torn off into strips of waxed paper, which burns slowly and allows the tinder and wood to catch. [Dino] demonstrates his pioneering skills by starting a fire at the end of the video. When the inevitable zombie apocalypse hits, we definitely want [Dino] at the Hackaday compound.

Continue reading “[Dino] Brings The Waterproof Fire” →

Hacking The Linksys WRT120N Part 2

linksysjtag

[Craig Heffner] has been busy with his Linksys WRT120N router. When we last checked in on [Craig] he had reverse engineered the obfuscation techniques used in the router’s firmware. Since then, he’s re-enabled JTAG, cracked the “encryption” used for saving configuration backups, and now he’s devised a simple attack to change the admin password.  With the firmware unlocked, [Craig] went after the hardware JTAG. His first hurdle was a missing jumper connecting the TDI pin to the processor. With a solder blob making the connection, he then found the router would connect to his JTAG debugger, and immediately reset. TDI had been re-used as a GPIO in software, and assigned to the reset button on the back of the router. [Craig’s] JTAG pod was pulling the pin low and causing the reset. To make matters worse, the bootloader also redefined and checked for the reset button. If the button were pressed it would boot into a recovery mode. [Craig] patched the bootloader with a little help from IDA pro. He then desoldered the router’s flash and programmed it outside the system. The firmware required a similar patch. Rather than desolder the flash chip again, [Craig] created a firmware update the router would accept and flashed it via the router’s web interface.

Since he already was deep into the Linksys Firmware, [Craig] looked for any obvious attack vectors. He found a big one in the /cgi/tmUnBlock.cgi. Inside the firmware, the URL sent to the CGI would be sent through sprintf().  In plain english, it means that no input length checking was happening – so a URL longer than the firmware engineers expected (in this case 256 bytes) would overflow into areas of memory it wasn’t supposed to – in this case, the stack. For an astute attacker, that’s a wide open door.  [Craig] was able to use find some Return Oriented Programming (ROP) gadgets and created an input value that would cause the router to reset its own administrator password. After running the exploit, a quick trip to the router’s webpage proved his attack was successful.

If that wasn’t enough, [Craig] also spent some time looking at the patches to the router’s firmware. The release notes of one of the patches mentioned encrypting configuration files. The WRT120N, like many routers, allows the owner to download and save the configuration as a file. It turned out that the “encryption” scheme was nothing more than an exclusive OR with 0xFF. A pretty weak encryption scheme by any standards. To [Craig] we send our congratulations. To the WRT120N software engineers, we’d suggest taking one of [Craig’s] embedded device exploitation classes.

Weather Clock Puts OLPC To Work

weather-clcok

A clock to tell the weather? [Andrew] has created a device to do that and more. Inspired by [Sean’s] weather clock, [Andrew’s]clock displays the current weather conditions, temperature, moon phase, and of course the time. The whole project started years ago with a broken keyboard. [Andrew] wanted to try to use the keyboard controller PCB as a bidirectional computer interface. Data to the computer would go in via the key matrix. Output data would be read via the status LEDs. Cheap simple microcontroller boards like the Arduino sidelined the project for a few years, but he never completely left it behind.

With an unused OLPC XO-1 in hand, [Andrew] pulled out his old keyboard controller and started hacking. His first task was getting meaningful data out of the keyboard LEDs. He coded up his own keyboard led control library in python. On the hardware side an op amp took on the roll of a comparator to ensure proper logic levels were present. [Andrew] then hooked two LEDs up as clock and data lines to standard 74 series shift registers (most likely 74HC/HCT595). He found that his data was completely garbled due to bounce. A second shift register buffering the clock cleaned things up. [Andrew] was left with a stable 40 bits per second serial link to his shift registers. With all this done, the next step was the clock itself. [Andrew] bought a RUSCH Wall clock from IKEA, and converted the clockwork to a gear reduction for a DC motor he pulled from an old answering machine. He could now move the hands at will, but had no way to determine their position. IR break beam sensors from old printers came to the rescue.

After connecting the motor drive, [Andrew] still had a number of outputs available. A few LEDs were in his parts box, so into the project they went. 12 LEDs around the outside of the clock to display the current time. 3 LEDs hide behind the weather icons as status indicators. [Andrew’s] python software really ties this together. His OLPC grabs data from the internet and displays it on the clock. A web interface allows the user to perform manual updates on the clock and to set alarms. The alarms even incorporate speech output via eSpeak. We love the reuse and recycling of parts in this hack. The end result is a clock any hacker would be proud to display on their wall.

Continue reading “Weather Clock Puts OLPC To Work” →

Omnidirectional Robot Takes On A Candy Factory

OmniRobot

[AltaPowderDog] is building a competition robot as part of his freshman engineering course at Ohio State University. The contest is sponsored by Nestle, so it’s no surprise the robots have to perform various tasks in a miniature candy factory. Broken up into teams of four, the students are building autonomous robots to move pallets, scoop candy, operate switches and pull pins from tubes. Each team is provided a standard microcontroller board and funds to purchase robot parts from an online store. The factory also sports an overhead infrared navigation system, which should help the robots stay on track.

[AltaPowderDog] took his inspiration from [Michal’s] OmniBot, which used adjustable geometry wheels. A lever and gear system allows the robot to pivot all four wheels synchronously. This effectively allows the robot to turn within its own axis. With some proper path planning and end effector placement, [AltaPowderDog’s] team should be able to shave down their time through the candy factory. The team has run into a few issues though. This robot design only utilizes two powered wheels, which has caused the team to become stuck up on a ramp in the factory. To combat this, the team is installed a simple suspension which allows the non-powered wheels to move up and out of the way on the ramp. The results look promising. The video after the break includes a short clip of [AltaPowderDog’s] ‘bot making a quick turn and activating a switch. Very nice work!

Continue reading “Omnidirectional Robot Takes On A Candy Factory” →

Arduino Gets Fowl With Flappy Bit

flappy-bit

We have to swallow our pride and hand it to [Dan200]. He may have finally found an application that everyone can agree is a perfect fit for Arduino. Flappy Bit is [Dan’s] Arduino Uno based Flappy Bird clone. [Dan] is a software guy at heart, but he’s taken a peck at electronics of late. Flappy Bit was just a fun side project for him to learn how to program the Arduino. The hardware consists of an 8×8 LED matrix, current limiting resistors, and a single button.

[Dan’s] implementation isn’t 100% faithful to the iOS/Android original. Rather than simply parrot Flappy Bird, he changed it up a bit. The user presses and holds the button to climb, and releases it to descend. This seems to make the game a bit more forgiving. We also won’t be missing all the lovely sound effects from Flappy Bird.  While there is less flapping in Flappy Bit, it does make us more nostalgic for those  tabletop LCD/LED games we played in the 80’s and can’t stop crowing about today.

[Dan] has released the full source code to the project (Pastebin link), and there is more information available on his reddit thread. Give flappy bit a try. You won’t egret it!

Continue reading “Arduino Gets Fowl With Flappy Bit” →

Low Budget Omnidirectional Treadmill

Omni-treadmill

Moving around in space is one of the major hurdles in virtual reality. A holodeck wouldn’t be much fun if you kept walking into walls.  [Gamnaught] is working on a simple solution to this complex problem with his budget omnidirectional treadmill. Omnidirectional treadmills have been around in various forms for a number of years. The idea behind them simple: allow a person walk in any direction without actually changing their position. This is a bit different from the unidirectional treadmill models found at the local gym. Some very complex solutions have been used to create omnidirectional treadmills, including multiple motors and computer control systems as can be found in the US Army omnidirectional treadmill.  [Gamnaught] kept it simple. He built a circular 2×4 platform 13-15 degree bowl. The bowl is covered with carpet, and the user wears furniture sliders on their shoes. The low friction of the sliders allows the user to walk, run, and even walk backwards on the platform. Bungie cords provide resistance so the user doesn’t walk off the platform.

The early results look promising. [Gamnaught] says the balance felt a bit weird at times and took some getting used to. Anyone who has spent time with the Oculus Rift or other VR systems will tell you – many aspects of virtual reality take some getting used to. The treadmill is still open loop, however [Gamnaught] hopes to add motion tracking with a Sixense STEM system. We think a OpenCV based system would work as well. We’ve also seen carpet sliders sold as a children’s toy to be strapped over regular sneakers. Going the toy route would avoid needing a dedicated pair of footwear for the treadmill. More build information can be found on [Gamnaught’s] Reddit thread on the topic.

Continue reading “Low Budget Omnidirectional Treadmill” →

Lichtspiel Crosses Board Games With Video games

Lichtspiel

Video games are amazing these days. Cinemagraphic game play, incredible accelerated graphics, you name it. The average tabletop board game though, has not received the benefit of all this technology. [Marcel] hopes to provide some options for changing that with Lichtspiel, an Interactive Digital Boardgame. Lichtspiel uses a Philips Pico-Beamer projector to project the game board onto a white surface. A camera (either a Raspberry Pi camera module or a Logitech USB webcam) then picks up the players interactions with the game board. Actual interaction is done with small black chips. When a player moves their chip, the vision system sends the x,y coordinates main processor. The game then changes based upon the chip position. [Marcel’s] video shows two demonstrations, a matrix style board game simulation for two and a co-operative asteroids style game. In the asteroids style game one player moves the ship while the other aims the weapons.

We can’t help but see the similarities between this system and the board game demos for castAR , though we feel they fill different niches. Lichtspiel does away with 3D, and by doing so doesn’t require projection glasses to play. Lichtspiel definitely has possibilities. We’d love to see [Marcel] open up his software design so that it can be further developed.

Continue reading “Lichtspiel Crosses Board Games With Video games” →