Hackaday

Syndicate content Hackaday
Fresh hacks every day
ถูกปรับปรุง 2 hours 25 min ก่อน

Announcing The Trinket Everyday Carry Contest

4 hours 52 minก่อน

Now that we’ve recovered from our Munich party and the awarding of The Hackaday Prize, we’re ready to announce our latest contest. We’ve been having a lot of fun with our Trinket Pro boards, both the 10th anniversary edition and the new Hackaday.io branded models.  While we were soldering, compiling, and downloading, a contest idea took root. Trinket Pro really excels when used in small projects, the kind which would fit in a pocket. To that end we’re holding the Trinket Everyday Carry Contest, a showcase for small, pocketable projects which are useful everyday. ‘Useful everyday’ is a bit of a broad term, and we intended it that way. Tools are useful of course , but so are jewelry pieces. It’s all in the eye of the builder and users. We’re sure our readers will take this and run with it, as they have with our previous contests.

There are some great prizes in store for the entrants, including a brand new Rigol DS1054Z  oscilloscope! The top 50 entrants will get custom Trinket Everyday Carry Contest T-shirts. Check out the contest page for a full list. 

We know you all love to procrastinate with your entries, so we’re going to be offering a few perks to those who enter early and update often. Each week, we’ll throw all the entrants who have published at least one project log full of details into a drawing for a special prize from The Hackaday Store. To be considered you must officially submit your project which is accomplished through a drop-down list on the left side of your project page.

Remember, the contest isn’t just about winning a scope, a meter, or any of the other prizes. It’s about creating new Open Hardware designs that nearly anyone can build. So grab those soldering irons, load up those copies of the Arduino IDE, AVR-GCC, or WinAVR, and get hacking!

You can view the all of the contest entries in this list.


Filed under: contests, Featured, slider

Hackaday Interview: [Grant Imahara]

อังคาร, 11/25/2014 - 22:01

We had a chance to interview [Grant Imahara] at the 2014 Electronica conference in Munich, Germany. If you don’t recognize [Grant’s] name you’ll probably recognize his face. He’s been on the cast of the television show Mythbusters for about 10 years now. We heard recently that he was leaving the show and that’s how we crossed paths with him.

[Grant] has signed on with Mouser Electronics to promote their Empowering Innovation Together program. They hosted him on a press junket at their booth and since we have a good relationship with Mouser they offered Hackaday an interview slot.

We had a lot of fun talking to [Grant]. Unfortunately the wireless microphones the Mouser videographer was using were picking up a lot of interference. This didn’t directly affect our recording setup as we were using a handheld voice recorder, but we kept getting interrupted as they tried to figure out the problem. Still, as you can see from the video below, we managed to get all the way through a few questions about [Grant’s] introduction to electronics at a young age, his first job out of school working for Industrial Light and Magic, and his advice to others who want to get into electronics and specifically robots. He mentions his early learning was guided by the books of Forrest Mims and that these days learning about electronics is no more than a keyword search away.


Filed under: Interviews

Better SPI Bus Design

อังคาร, 11/25/2014 - 19:00

Quick, how do you wire up an SPI bus between a microcontroller and a peripheral? SCK goes to SCK, MISO goes to MISO, and MOSI goes to MOSI, right? Yeah. You’ll need to throw in a chip select pin, but that’s pretty much it. Just wires, and it’ll most likely work. Now add a second device. The naïve solution found in thousands of Arduino tutorials do the same thing; just wires, and it’ll probably work. It’s not that simple, and Mr. Teensy himself, [Paul Stoffregen] is here to show you why.

When using multiple SPI devices, a pullup resistor on the chip select lines are a really great idea. Without a pullup, devices will work great when used alone, but will inexplicably fail when used together. It’s not magic; both devices are listening to the bus when only one should be. Putting a pullup on the CS lines keeps everything at the right logic level until a device is actually needed.

How about the MISO line? Most peripherals will disconnect their pins when the chip select signal is active, but there are exceptions. Good luck finding them. There is an easy way to check, though: just connect two resistors so the MISO line floats to a non-logic level when the CS pin is high, and check with a voltmeter. If MISO is driven high or low, you should put a small tri-state buffer in there.

That just covers hardware, and there are a few things you can do in software to reduce the number of conflicts when using more than one SPI device. One of these methods is transactions, or defining the clock rate, setting MSB or LSB first, and the polarity of the clock. Newer versions of the Arduino SPI library support transactions and the setup is very easy. In fact, transaction support in the Arduino library is something [Paul] worked on himself, and gets around the problem of having SPI-related code happening in both the main loop of a program and whenever an interrupt hits. Awesome work, and a boon to the Arduino makers around the world.


Filed under: Microcontrollers, Software Development

Enhanced Coffee Brewer Knows How Much of a Caffeine Addict You Are

อังคาร, 11/25/2014 - 16:00

Who should chip in the most to restock the community coffee supply at work is a common point of contention at some offices. This RFID infused coffee brewer called Juraduino by [Oliver Krohn] solves the issue at his workplace once and for all by logging how much is being consumed by each person and how often; quite the diplomatic hack.

[Oliver] donated his old Jura Coffee maker to his office with some added hardware cleverly hidden underneath the faceplate of the machine. An Arduino mounted within runs the show, powered through mini USB from the logic unit of the coffee maker itself. Once a co-worker swipes their RFID card over the front of the machine, a real-time clock module stamps when the coffee was requested, and then logs the amount selected by that person on a mini SD card. The data stored is sent via an additional bluetooth module to a custom app [Oliver] created with MIT App Inventor for his phone which displays the information. These details can then be exported in the form of an email addressed to everyone in the office at the end of the week, announcing definitively who can be counted on to restock the bulk of the community supplies.

Though there isn’t a link available with further documentation, [Oliver] mentions in the ‘details’ portion of his video that he’d be happy to share that information with anyone who contacts him regarding the project. You can see the Jura at work below:


Filed under: Arduino Hacks

A UV Lightbox For Curing Prints

อังคาร, 11/25/2014 - 13:00

With resin printers slowly making their way to hackerspaces and garages the world over, there is a growing need for a place to cure these UV resin prints. No, they don’t come out of the machine fully cured, they come out fully solid. And no, we’re not just leaving them in the sun, because that’s not how we do things around here.

[Christopher] whipped up a post-cure lightbox meant to sit underneath his Form 1 printer. It’s made of 1/2″ MDF, with adjustable feet (something the Form 1 lacks), a safety switch to keep the lights off when the door is open, and a motor to rotate the parts around the enclosure.

The light source for this lightbox is 10 meters of ultraviolet LED strips. The LEDs shine somewhere between 395-405nm, the same wavelength as the laser diode found in the Form 1 printer. Other than a bit of wiring for the LEDs, the only complicated part of the build was the motor; [Christopher] bought a 2rpm motor but was sent a 36rpm motor. The vendor was out of 2rpm motors, so a PWM controller was added.

It’s a beautiful build that shows off [Christopher]’s ability to work with MDF. It also looks great sitting underneath his printer, and all his parts are rock solid now.


Filed under: 3d Printer hacks

Hacking the Crayola Digital Light Designer

อังคาร, 11/25/2014 - 10:01

[Harry] wrote in with his hack of the Crayola Light Designer. The Light Designer is a pretty unique toy that lets kids write on a cone-shaped POV display with an infrared light pen. [Harry] cracked one open and discovered it has a spinning assembly with a strip of 32 RGB LEDs for the display and a strip of photodiodes to detect pen position. These were ripe for the hacking.

The spinning assembly uses several slip ring connections to send power and data to the spinning assembly. [Harry] connected a logic analyzer to several of the connections to determine which lines were clock, data, and frame select (the strip is split into 2 16-led “frames”). He went on to reverse-engineer the serial protocol so he could drive the strips himself.

Instead of reverse-engineering the microcontroller on the product’s PCB, [Harry] decided to use a Leostick (Arduino Leonardo clone) to control the LEDs and spinner. He mounted the Leostick on the shaft of the spinning assembly, and powered it over the slip ring connections. After adding some capacitance to make up for noisy power from the slip rings, [Harry] had the POV display up and running with his own controller. Check out the video after the break to see the hacked POV display in action.


Filed under: led hacks, toy hacks

Chicken-powered Pendulum

อังคาร, 11/25/2014 - 07:01

Every once in a while we get sent a link that’s so cute that we just have to post it. For instance: this video from [Ludic Science]. It’s a wind-up chicken toy that kicks a pendulum back and forth. No more, no less.

But before you start screaming “NOT A HACK!” in the comments below, think for a second about what’s going on here. The bird has a spring inside, and a toothed wheel that is jammed and released by the movement of the bird’s foot (an escapement mechanism). This makes the whole apparatus very similar to a real pendulum clock.

Heck, the chick toy itself is pretty cool. It’s nose-heavy, so that under normal conditions it would tip forward. But when it’s wound up, tipping forward triggers the escapement and makes it hop, tipping it backward in the process and resetting the trigger. The top-heavy chicken is an inverted pendulum!

And have a look, if you will indulge, at the very nice low-tech way he creates the pivot: a bent piece of wire, run through a short aluminum tube, held in place by a couple of beads. Surely other pivots are lower-friction, but the advantage of using a rod and sleeve like this is that the pendulum motion is constrained to a plane so that it never misses the chicken’s feet.

Our only regret is that he misses (by that much) the obvious reference to a “naked chick” at the end of the video.


Filed under: clock hacks, misc hacks

Simple Thermal Imager with a Lepton Module

อังคาร, 11/25/2014 - 04:00

[Andrew] designed a simple thermal imager using the FLIR Lepton module, an STM32F4 Nucleo development board, and a Gameduino 2 LCD. The whole design is connected using jumper wires, making it easy to duplicate if you happen to have all the parts lying around (who doesn’t have a bunch of thermal imaging modules lying around!?).

The STM32F4 communicates with the Lepton module using a driver that [Andrew] wrote over a 21MHz SPI bus. The driver parses SPI packets and assembles frames as they are received. Images can be mapped to pseudocolor using a couple different color maps that [Andrew] created. His code also supports min/max scaling to map the pseudocolor over the dynamic range present in the image.

Unfortunately the Lepton module that [Andrew]’s design is based is only sold in large quantities. [Andrew] suggests ripping one out of a FLIR ONE iPhone case which are more readily available. We look forward to seeing what others do with these modules once they are a bit easier to buy.


Filed under: digital cameras hacks

Central European Computer Collecting

อังคาร, 11/25/2014 - 01:00

During Hackaday’s short trip to Czech, we were lucky enough to run into someone who had recently had one of his projects featured on Hackaday. It’s [Martin]’s multi-target IDE for 8-bit CPUs, written entirely in JavaScript, and a full development suite for anything with a 6502, 6800, 6809, Z80, 8080, and 8085. [Martin] was kind enough to sit down and give us the scoop on why he’s interested in old computers, and why he developed his 8-bit IDE project, ASM80.

[Martin] grew up in the days of computer magazines, and originally wanted to build his own computer. That plan didn’t work out, but his parents did get him a Speccy in 1986, but the love of old hardware is still there. Over the years, this evolved into computer collecting, with the old ZX Spectrum, an Commodore 64, ORICs, and Acorns rounding out his collection. As we learned at the Computeum, there the middle of Europe had computers that just aren’t seen on the English-speaking Internet, and [Martin]’s collection is no exception.

In addition to doing some very cool stuff for some very old computers, [Martin] also donated something to the Hackaday Hackaspace. It’s a PMI-80, a single board computer made for university computer science students, and basically a KIM-1, but based on a Czechoslovak clone of the Intel 8080 made by Tesla. There is 1k of RAM and 1k of ROM on this board, a calculator keypad, and a few seven segment displays. For the time, it was a great ‘student’ computer, and not really rare in Europe, but this is the first one I’ve seen on my side of the Atlantic.

You can see some pics of the PMI-80 below with [Martin]’s interview. [Martin] also promised to write-up a short history of classic central european computers, a subject there isn’t much written about in the anglosphere. We’ll post a link to that when he finishes that up.


Filed under: classic hacks

Direct Digital Synthesis (DDS) Explained by [Bil Herd]

จันทร์, 11/24/2014 - 22:01

One of the acronyms you may hear thrown around is DDS which stands for Direct Digital Synthesis. DDS can be as simple as taking a digital value — a collection of ones and zeroes — and processing it through a Digital to Analog Converter (DAC) circuit. For example, if the digital source is the output of a counter that counts up to a maximum value and resets then the output of the DAC would be a ramp (analog signal) that increases in voltage until it resets back to its starting voltage.

This concept can be very useful for creating signals for use in a project or as a poor-man’s version of a signal or function generator. With this in mind I set out here to demonstrate some basic waveforms using programmable logic for flexibility, and a small collection of resistors to act as a cheap DAC. In the end I will also demonstrate an off-the-shelf and inexpensive DDS chip that can be used with any of the popular micro-controller boards available that support SPI serial communication.

All of the topics covered in the video are also discussed further after the break.

DDS Demo Hardware

I chose to use Programmable Logic (PL) to build the various circuits as it was quick to configure and didn’t require very much construction while being extremely flexible. It also didn’t require any software programming, IDE, target processor board, etc. This might be an interesting project for you if you are interested in learning or exercising some basic Programmable Logic skills, here I use Altera’s free Quartus II Web version and an inexpensive programmer clone. For the first couple of examples I am using a Complex Programmable Logic Device. (CPLD)

Basic Signal Generation Altera CPLD DDS

Creating waveforms can also be done with dedicated logic, for example a CD4060 oscillator/counter can be used instead of the PL counter or also a microcontroller with I/O ports could be used. Note that the microcontroller version does better the more assistance it gets from dedicated peripherals such as a timer or a timer/counter that reloads without waiting for the processor to respond and reset it.

Here are two waveforms created with a simple counter and resistors organized as an R/2R ladder. As the output of the counter increments in binary, the resulting voltage divider created by the interconnected resistors and outputs creates consistent steps between each of the counts; 256 in this case due to 8 outputs being used. Taking the most significant bit also demonstrates a symmetrical square wave.

Building Different Signals is Easy

If the counter were to count downwards upon reaching its maximum count instead of resetting to zero, then a triangle waveform would be generated. So far that’s three waveforms using just a counter and some resistors.

On a slightly different topic, using just some I/O lines, an R/2R ladder, and an analog comparator (ala LM339) a basic type of Analog to Digital Converter (ADC) can be made. Don’t misread this, we were talking about going from digital to analog before but now we’re talking about going from analog to digital.

To describe it simply, a processor or digital counter is connected to the R/2R ladder which is connected to the input of an analog comparator. The voltage to be measured is then connected to the other input of the comparator and then the counter proceeds to count up until the R/2R ladder voltage equals or exceeds the voltage being measured. At that time the comparator trips and the equivalent digital value of the analog voltage being measured is represented by the counter value feeding the R/2R ladder.

Assuming that the voltage to be measured is somewhat stable, the process can be repeated to track the voltage as it (slowly) changes or the count can be reversed until the comparator clears and then reverses. This might be useful for measurements such as monitoring a battery voltage level, etc.

While continuing the use of an adjunctive comparator, a simple voltage to frequency converter can be made by having the counter change directions when the comparator trips. This is not a perfect converter (nothing I do is perfect, life and engineering is a compromise) as very notably the amplitude of the triangle waveform changes in amplitude, but a full voltage square wave would be easy to generate.

Basic Principles for Sine Wave Generation DDS Sinewave

Finally we can create a sinewave through the addition of a look-up-table that contains the appropriate data to approximate a mathematical sine function. A look-up-table (LUT) is simply a piece of memory such as Read Only Memory (ROM) in series with the data, in our case the incrementing counter represents an incrementing address, and the data output is the result of a pre-calculated Sine table.

For this I have switched to a Field Programmable Gate Array (FPGA) which has better internal memory and the ability to initialize the memory with the contents of the Sine table I created for the LUT. In the schematic for the interior of my FPGA the LUT can be seen off to the right just in front of the output pins.

FPGA w LUT Programming Complex Waveforms

One advantage of a Sine wave created by DDS is that it can be generated at a wide range of frequencies and keep its same shape (low distortion).

Just for fun and to demonstrate something that can done easily with DDS I created a non-symmetrical waveform. Looking carefully you can see two cycles of square wave, two of ramp and then two of sine wave. Any waveform that can be “drawn” in memory can be created this way.

Square-ramp-sine Other DDS Hardware Options

And finally, if you need a DDS without the muss and fuss of making it out of components yourself, there is a selection of DDS components available that are low cost and accurate. Shown here is an Analog Devices 9387 in an evaluation board from the manufacturer. It is SPI serial interface driven and so can be connected to most available single board controllers.

DDS Eval AD9837

Varying the frequency and phase of a signal by microprocessor control is integral to a DDS system. The software that comes with the evaluation the board shows that two frequencies and two phase offsets can be stored allowing Frequency Shift Keying (FSK) and Phase Shift Keying (PSK) as well as sweeping between two frequencies. This is a useful capability, for example the frequency response of a circuit such as a filter can be observed by sweeping a frequency on the input and then measuring the output on an oscilloscope.

Eval 9837 Go Deeper

If you want to know more about DDS there is a lot of information available on manufacturer’s websites and the Internet. Advanced topics to search for include embedded sub-modulation and use with phase lock loops to reduce phase noise, up-conversion using multipliers, and other synthesis circuits used in RF telecommunications.


Filed under: Featured, hardware, how-to, slider

Fixing Ghost Touch In The OnePlus One

จันทร์, 11/24/2014 - 19:00

The OnePlus One is the flagship phone killer for 2014, available only by invite, and thus extremely cool. So far it’s a limited production run and there will, of course, be problems with the first few thousand units. When [vantt1] got his One, he noticed a few issues with the touch screen. Some touches wouldn’t be registered, typing was unpredictable, and generally, the touchscreen was unusable. [vantt] had seen this before, though, so with a complete teardown and a quick fix he was able to turn this phone into something great.

[vantt] realized the symptoms of a crappy touchscreen were extremely similar to an iPad mini that had recently had its digitizer replace. From the Foxconn plant, the digitizer in the iPad mini is well insulated from the aluminium enclosure. When the screen and digitizer are replaced, the cable connecting it to the rest of the iPad can come in contact with the case. This leads to the same symptoms – missed touches, and unpredictable typing.

Figuring the same cure will fix the same symptoms, [vantt] tore apart his OnePlus One and carefully taped off the digitizer flex cable. Reassembling the phone, everything worked beautifully, and without any extra screws in the reassembly process. You can’t do better than that.


Filed under: repair hacks

Custom Filaments With A Filastruder

จันทร์, 11/24/2014 - 16:00

A while ago, when 3D printing was the new hotness, a few people looked around and said, ‘our printers are open source, why can’t we just build the machines that make our 3D printing filament?’ There was a $40,000 prize for the first person to build an open source filament extruder, resulting in a few filament fabrication machines being released into the wild. [Rupin] over in the Mumbi hackerspace has one of these filament extruders – a Filastruder – and decided to take a look at what it could do.

The experimentations began with a few kilograms of ABS pellets he found at the market, with bags of red, blue, green, and white masterbatch pellets showing up at the Hackerspace. Experimenting with these pellets, [Rupin] was able to create some very nice looking filament that printed well and changed color over the course of a print.

There were a limitations of the process, though: the filastruder has a long melt zone, so colors will invariably mix. If you’re thinking about doing a red to blue transition with filament created on a Filastruder, you’ll end up with a filament with a little bit of red, a little bit of blue, and a lot of a weird purple color. The time to create this filament is also incredibly long; over the course of two days, [Rupin] was able to make about half a kilo of filament.

Still, the results look fantastic, and now that [Rupin] has a source for masterbatch and ABS pellets, he’s able to have a steady supply of custom color filament at the hackerspace.


Filed under: 3d Printer hacks

Cairo Hackerspace Gets A $14 Projector

จันทร์, 11/24/2014 - 13:00

The Cairo hackerspace needed a projector for a few presentations during their Internet of Things build night, and of course Friday movie night. They couldn’t afford a real projector, but these are hackers. Of course they’ll be able to come up with something. They did. They found an old slide projector made in West Germany and turned it into something capable of displaying video.

The projector in question was a DIA projector that was at least forty years old. They found it during a trip to the Egyptian second-hand market. Other than the projector, the only other required parts were a 2.5″ TFT display from Adafruit and a Nokia smartphone.

All LCDs are actually transparent, and if you’ve ever had to deal with a display with a broken backlight, you’ll quickly realize that any backlight will work, like the one found in a slide projector. By carefully removing the back cover of the display, the folks at the Cairo hackerspace were able to get a small NTSC display that would easily fit inside their projector.

After that, it was simply a matter of putting the LCD inside the display, getting the focus right, and mounting everything securely. The presentations and movie night were saved, all from a scrap heap challenge.


Filed under: Hackerspaces, video hacks

A Simple Runner’s GPS Logger

จันทร์, 11/24/2014 - 10:00

[Daniel] received a grant from the University of Minnesota’s ECE Envision Fund and was thus responsible for creating something. He built a runner’s GPS logger, complete with a screen that will show a runner the current distance travelled, the time taken to travel that distance, and nothing else. No start/stop, no pause, nothing. Think of it as a stripped-down GPS logger, a perfect example of a minimum viable product, and a great introduction to getting maps onto a screen with an ARM micro.

The build consists of an LPC1178 ARM Cortex M3 microcontroller, a display, GPS unit, and a battery with not much else stuffed into the CNC milled case. The maps come from OpenStreetMap and are stored on a microSD card. Most of the files are available on GitHub, and the files for the case design will be uploaded shortly.

The CNC machine [Daniel] used to create the enclosure is a work of art unto itself. We featured it last year, and it’s good enough to do PCBs with 10 mil traces. Excellent work, although with that ability, we’re wondering why the PCB for the Runner’s GPS is OSH Park purple.


Filed under: ARM, gps hacks

Hackaday Links: November 23, 2014

จันทร์, 11/24/2014 - 07:00

The 2015 Midwest RepRap Festival, a.k.a. the MRRF (pronounced murf) was just announced a few hours ago. It will be held in beautiful Goshen, Indiana. Yes, that’s in the middle of nowhere and you’ll learn to dodge Amish buggies when driving around Goshen, but surprisingly there were 1000 people when we attended last year. We’ll be there again.

A few activists in St. Petersburg flushed GPS trackers down the toilet. These trackers were equipped with radios that would send out their position, and surprise, surprise, they ended up in the ocean.

[Stacy] has been tinkering around with Unity2D and decided to make a DDR-style game. She needed a DDR mat, and force sensitive resistors are expensive. What did she end up using? Velostat, conductive thread, and alligator clips.

You know the Espruino, the little microcontroller board that’s basically JavaScript on a USB stick? Yeah, that’s cool. Now you can do remote access through a telnet server letting you write and debug code over the net.

The Open Source RC is a beautiful RC transmitter with buttons and switches everywhere, a real display, and force feedback sticks. It was a Hackaday Prize entry, and has had a few crowdfunding campaigns. Now its hit Indiegogo again.

Speaking of crowdfunding campaigns, The Mooltipass, the designed-on-Hackaday offline password keeper, only has a little less than two weeks until its crowdfunding campaign ends. [Mathieu] and the rest of the team are about two-thirds there, with a little more than half of the campaign already over.


Filed under: Hackaday links

[Sprite_TM]‘s Keyboard Plays Snake

จันทร์, 11/24/2014 - 04:00

Hackaday Prize judge, hacker extraordinaire, and generally awesome dude [Sprite_TM] spends a lot of time at his computer, and that means a lot of time typing on his keyboard. He recently picked up a board with the latest fad in the world of keyboards, a board with individually addressable LEDs. He took this board to work and a colleague jokingly said, ‘You’ve had this keyboard for 24 hours now, and it has a bunch of LEDs and some arrow keys. I’m disappointed you haven’t got Snake running on it yet.” Thus began the quest to put the one game found on all Nokia phones on a keyboard.

The keyboard in question is a Coolermaster Quickfire Rapid-I, a board that’s marketed as having an ARM Cortex CPU. Pulling apart the board, [Sprite] found a bunch of MX Browns, some LEDs, and a 72MHz ARM Cortex-M3 with 127k of Flash and 32k of RAM. That’s an incredible amount of processing power for a keyboard, and after finding the SWD port, [Sprite] attempted to dump the Flash. The security bit was set. There was another way, however.

Coolermaster is actively working on the firmware, killing bugs, adding lighting modes, and putting all these updates on their website. The firmware updater is distributed as an executable with US and EU versions; the EU version has another key. Figuring the only difference between these versions would be the firmware itself, [Sprite] got his hands on both versions, did a binary diff, and found only one 16k block of data at the end of the file was different. There’s the firmware. It was XOR encrypted, but that’s obvious if you know what to look for.

The firmware wasn’t complete, though; there were jumps to places outside the code [Sprite] had and a large block looked corrupted. There’s another thing you can do with an executable file: run it. With USBPcap running in the background while executing the firmware updater, [Sprite] could read exactly what was happening when the keyboard was updating. With a small executable that gets around the weirdness of the updater, [Sprite] had a backup copy of the keyboard’s firmware. Even if he bricked the keyboard, he could always bring it back to a stock state. It was time to program Snake.

The first part of writing new firmware was finding a place that had some Flash and RAM to store the new code. This wasn’t hard; there was 64k of Flash free and 28K of unused RAM. The calls to the Snake routine were modified from the variables the original firmware had. If, for example, the original keyboard had a call to change the PWM, [Sprite] could change that to the Snake routine.

Snake is fun, but with a huge, powerful ARM in a device that people will just plug into their keyboard, there’s a lot more you can do with a hacked keyboard. Keyloggers and a BadUSB are extremely possible, especially with firmware that can be updated from a computer. To counter that, [Sprite] added the requirement for a physical condition in order to enter Flash mode. Now, the firmware will only update for about 10 seconds after pressing the fn+f key combination.

There’s more to playing Snake on a keyboard; Sprite has also written a new lighting mode, a fluid simulation thingy that will surely annoy anyone who can’t touch type. You can see the videos of that below.


Filed under: ARM, slider, Software Development

Down the Rabbit Hole of STM32 Clock Options

จันทร์, 11/24/2014 - 01:01

Once you venture beyond the tame, comfortable walls of the 8-bit microcontroller world it can feel like you’re stuck in the jungle with a lot of unknown and oft scary hazards jut waiting to pounce. But the truth is that your horizons have expanded exponentially with the acceptable trade-off of increased complexity. That’s a pretty nice problem to have; the limitation becomes how much can you learn.

Here’s a great chance to expand your knowledge of the STM32 by learning more about the system clock options available. We’ve been working with STM32 chips for a few years now and still managed to find some interesting tidbits — like the fact that the High Speed External clock source accepts not just square waves but sine and triangle waves as well, and an interesting ‘gotcha’ about avoiding accidental overclocking. [Shawon M. Shahryiar] even covers one of our favorite subjects: watchdog timers (of which there are two different varieties on this chip). Even if this is not your go-to 32-bit chip family, most chips have similar clock source features so this reading will help give you a foothold when reading other datasheets.

There is a clock diagram at the top of that post which is small enough to be unreadable. You can get a better look at the diagram on page 12 of this datasheet. Oh, and just to save you the hassle of commenting on it, the chip shown above is not an f103… but it just happened to be sitting on our desk when we started writing.


Filed under: ARM

Ceci N’est Pas Une Clock

พุธ, 10/22/2014 - 12:00

[Justin] tipped us about his slick custom OBD-II gauge that could easily pass for an OEM module. He was able to use the clock area of his Subaru BRZ to display a bunch of information including the oil and coolant temperatures and the battery voltage.

The forum post linked above has a good FAQ-based explanation of what he did, but so many people have told him to shut up and take their money that he created an Instructable for it. Basically, he’s got a Sparkfun OBD-II UART board communicating with a pro Trinket. The display is an Adafruit OLED, which he found to be an ideal choice for all the various and sundry light conditions inside the average car.

[Justin] was able to reuse the (H)our and (M)inute buttons and reassigned them to (H)igh to show the peak reading and (M)ode to, well, switch between modes. The (:00) now resets the peak readings. He offers suggestions for acquiring the specific CAN codes for your car to make the data more meaningful. [Justin]‘s code is safe in the many tentacles of Octocat, and you can check out his demo video below.


Filed under: Android Hacks, car hacks

Digital Data from a Cheap Power Meter

พุธ, 10/22/2014 - 09:00

Power meters like the Kill-A-Watt are great for keeping track of energy usage, and are also very hackable. The Kill-a-Watt in particular puts out analog signals proportional to current and voltage, which makes it easy to interface with a microcontroller.

Although reading analog voltages is easy enough, [Kalle] found a cheap Chinese power meter that is even more hackable. These inexpensive power meters cost about the same as a first-generation Kill-a-Watt, but they directly stream out digital data. The power meter [Kalle] hacked has a non-US plug, but the meter is available from the usual suppliers (eBay, Aliexpress, etc) with a 3-prong US plug and 120v rating.

After breaking out a logic analyzer, [Kalle] discovered that the meter constantly streams voltage, current, and power data from the measurement board to the display board on a SPI-like bus. The ribbon cable inside the meter even has the clock and data bus lines clearly labelled. [Kalle] went on to reverse-engineer the protocol and write an Arduino sketch that parses the stream, making it even easier to integrate this meter into your next power monitoring project.


Filed under: home hacks

Take Your Samples for a Spin with the RWXBioFuge

พุธ, 10/22/2014 - 06:00

We have a confession to make: we love centrifuges. We’ve used all shapes and sizes, for spinning bags of whole blood into separate components to extracting DNA, and everything in between. Unfortunately, these lab staples are too expensive for many DIY-biologists unless they buy them used or build them themselves. [Pieter van Boheemen] was inspired by other DIY centrifuges and decided to make his own, which he named the RWXBioFuge.

[Pieter] designed the RWXBioFuge using Sketchup, OpenSCAD, and InkScape. It features a Thermaltake SMART M850W ATX power supply, an R/C helicopter Electronic Speed Controller (ESC), and brushless outrunner motor. For user output it utilizes a 16×2 LCD character display with an I2C interface.The frame is laser-cut from 3mm MDF while the 3D-printed PLA rotor was designed with OpenSCAD.

An Arduino handles the processing side of things. [Pieter] used an Arduino Ethernet – allowing a web interface to control the centrifuge’s settings and operation from a distance. We can see this being useful in testing out the centrifuge for any rotor/motor balance issues, especially since [Pieter] states that it can be configured to run >10,000 rpm. We wouldn’t want to be in the room if pieces start flying off any centrifuge at that speed!  However, we feel that when everything’s said and done, you should have a centrifuge you can trust by your side when you’re at your lab bench.

While there are similarities to the Openfuge, the larger RWXBioFuge has rotor capacities of eight to twenty 1.5-2.0ml microcentrifuge tubes. Due to the power supply, it is not portable and a bit more expensive, but not incredibly so. There are some small touches about this centrifuge that we really like. The open lid detector is always a welcome safety feature. The “Short” button is very handy for quick 5-10 second spins.

A current version of the RWXBioFuge is being used at the Waag Society’s Open Wetlab. [Pieter's] planned upgrades for the next version include a magnetic lid lock, different rotor sizes, an accelerometer to detect an improperly balanced rotor, and optimizing the power supply, ESC, and motor setup. You can never have enough centrifuges in a lab, and we are looking forward to seeing this project’s progress!

Check out a few more pictures of the RWXBioFuge after the break.


Filed under: chemistry hacks, tool hacks