Morse Decoder’s Lean and Sexy Search Algorithm

Often the Morse Code centered projects that we feature are to help you practice transmitting messages. This one takes a tack and builds an automatic decoder. We think [Nicola Cimmino’s] project is well worth featuring simply based on his explanation of the Digital Signal Processing used on the signal coming in from the microphone. Well done. But he’s really just getting warmed up.

What makes this really stand out is a brilliant algorithm that allows conversion from Morse to ASCII using a lookup table of only 64 bytes. This provides enough room for A-Z and 0-9 without chance of collision but could be expanded to allow for more characters. Below is a concise description of how the algorithm works but make sure you take the time to read [Nicola’s] project description in its entirety.

The algorithm can be decribed as follows. Have an index inside the lookup string inizialied to zero. Have an initial dash jump size of 64. At every received element (dot or dash) halve the initial dash jump and then increase by 1 the index inside the lookup string if a dot was received and by dash jump size if a dash was received. Repeat until a letter separator is reached, at that point the index inside the lookup string will point to the ASCII corresponding to the decoded morse.

Have you heard of this technique before? If so, tell us about it in the comments below. Before you jump all over this one, realize that Magic Morse uses a different technique.

Hiding Executable Javascript in Images That Pass Validation

Here’s an interesting proof-of-concept that could be useful or hazardous depending on the situation in which you encounter it. [jklmnn] drew inspiration from the work of [Ange Albertini] who has documented a way to hide Javascript within the header of a .gif file. Not only does it carry the complete code but both image and the Javascript are seen as valid.

With just a little bit of work [jklmnn] boiled down the concept to the most basic parts so that it is easy to understand. Next, a quick program was written to automate the embedding of the Javascript. Grab the source code if you want to give it a try yourself.

Let’s get back to how this might be useful rather than harmful. What if you are working on a computer that doesn’t allow the browser to load Javascript. You may be able to embed something useful, kind of like the hack that allowed movies to be played by abusing Microsoft Excel.

Surviving the Hackaday Prize Party

What a week it has been. I’m in Munich, Germany along with [Brian], [Jasmine], [Ben], [Alek], and the rest of the crew who helped plan and guide the 2014 Hackaday Prize. If you somehow missed it, we announce the rank order of the finalists. It was SatNOGS that claimed the Grand Prize, congratulations!

We have a ton of content headed your way, but to be honest there’s going to be a bit of “recovery lag” before that hits the front page. We spent the entire day at Technikum in the Munich Kalturfabrik. It was originally some sort of factory complex (having to do with potato processing) which has since been turned into co-working spaces, restaurants, and performing arts venues. We felt right at home in the post-industrial, brightly muraled maze of buildings.

The official activities started with the Embedded Hardware Workshops which were packed! The previously assured “robust” WiFi immediately, and repeatedly, went down. Fortunately hackers being hackers everyone pooled their local copies onto one SD card and passed it around. We’ve segregated that piece of hardware in an evidence bag for future testing.

We pushed back the closing of the workshops by about 40 minutes since everyone was having fun. This marginally outraged the company who was handling furniture and food as we weren’t following the plan. They were pleasant enough about the issue but for me it was an interesting peek at the difference in cultures. During the switch we had lightning talks which I found both enthusiastic and interesting. We then moved to the major presentations of the night. [Jeroen Domburg] aka [Sprite_TM] gave a stunning presentation about reverse engineering the ridiculously overpowered microcontroller on a special lighted keyboard. We’ll surely have a standalone post about it. We then closed with a recap of The Hackaday Prize and the naming of the winners. That too will have its own feature.

DSC_0095After handing over the trophy, and taking a few photos the writers all rushed to the downstairs “backstage” area. I had previously written the announcement post and we spent some time getting the word out, first to all the finalists, then to the sites that are close friends, and finally started pushing the news on social media. All work and no play? Forget about it. The party was raging and the food and drinks were fantastic. They were, however, far outshined by the conversations with interesting people to be found at every turn. I spoke with people who had driven in just for the event from France, Austria, and of course all over Germany.

The venue was packed up starting around Midnight. You know it’s a great time when the crowd hangs out in the cold for another 40 minutes afterward. The point of the story? Any chance you have to spend time with the great people who make up the Hackaday community is a chance to jump at. Where to next?

SatNOGS Wins the 2014 Hackaday Prize

The Grand Prize winner of the 2014 Hackaday Prize is SatNOGs. The project is a thrilling example of the benefits of a connected world. It opens up the use of satellite data to a much wider range of humanity by providing plans to build satellite tracking stations, and a protocol and framework to share the satellite data with those that cannot afford, or lack the skills to build their own tracking station. The hardware itself is based on readily available materials, commodity electronics, and just a bit of 3D printing.

The awarding of the Grand Prize caps off six-months of productive competition which started in April with a first round reaching to more than 800 entries. Once the field had been narrowed and sent on to our judges the narrowed it to just 50 projects vying for a trip into space (the grand prize), industrial-grade 3D printer and milling machine, a trip to Akihabara electronics district in Japan, and team skydiving.

Congratulations to all 5 top winners


SatNOGS – Grand Prize


You already know this but such an accomplishment is well worth mentioning again!

ChipWhisperer – Second Prize


The ChipWhisperer is a hardware security testing platform that allows developers to explore side-band and glitch vulnerabilities in their hardware projects. The existing technologies for this type of testing are prohibitively expensive for most products. The availability of this tool plays a dual role of helping to inform developers of these potential attack vectors, and allowing them to do some level of testing for them.

PortableSDR – Third Prize


The form and function of the PortableSDR move forward both Software Defined Radio and Ham. The SDR aspect fully removes the need to use a computer. The wireless functions provided can be called a modernization of portable amateur radio hardware.

Open Source Science Tricorder – Fourth Prize


Inspired by the future-tech item found in the Star Trek franchise, the Open Source Science Tricorder uses currently available technology to produce a handheld collection of sensors. The design provides modularity so that the available sensors can be customized based on need. Equally importantly, the user interface gives meaning to the data being measured, and allows it to be uploaded, graphed, and otherwise manipulated on the Internet.

ramanPi – Fifth Prize


Raman Spectroscopy is used to help determine what molucules are found in test samples. One example would be determining possible contaminants in drinking water. These tools are expensive and the ramanPi project will mean more labs (at University or otherwise) as well as citizen scientists will be able to build their own spectrometer. One particularly interesting aspect of the project is the parametric 3D printer file used for mounting the machine’s optics. The use of this technique means that the design can easily be adapted for different types of lenses.

2015 Hackaday Prize


With the great success of these five projects, and the potential that Open Design has to move the world forward, we hope to host another round of The Hackaday Prize in 2015. When you’re done congratulating the winners in the comments below, let us know what you think the subject of the next challenge should be.

Thank you to our sponsor


Hackaday would like to thank the generosity of our sponsor, Supplyframe Inc., who supported the cost of all prizes. Supplyframe is Hackaday’s parent company and their values are closely aligned with our own.

Hackaday Printing Press Upgrade

There comes a time when your movable type becomes so over-used that you no longer get a legible print off of the printing press. For months now we’ve been at work on a new site design that maintains the essence of Hackaday while ejecting the 10-year-old dregs of the site. With each small success we’ve actually ruined ourselves on viewing the old design. It is with great relief that we unveil a site design built specifically for Hackaday’s needs.

The most notable change is in the content of our landing page. For ten years, loading resulted in the most recent blog posts. The blog concept is proven, but provides little opportunity to highlight quality original content and information about upcoming events. We have tried the use of “sticky” posts but honestly I find them somewhat annoying. The solution to this is not immediately apparent, but I feel we have found the most efficient solution to our complex set of needs..

We have a lot of community members who participate in Hackaday in numerous ways. Changes found in this design are driven by that fact. The landing page will, from this point forward, be a somewhat more persistent collection of notable content from the blog, our community site (, as well as news regarding live events, store features, contest highlights, and more. Those hard-core fans — a label I also assign to myself — will find the same reading experience as always on the new blog URL:

Aesthetically, we hope that all will agree the new design far supersedes the old. There was a lot to fix, and the work of the Hackaday crew who designed and implemented this new interface is truly amazing. I hope you will take the time to leave a positive comment about their work. As with any major transition, there will be some bumps in the road. Right now most of our sidebar widgets have not been migrated but that and any other problems will be fixed soon.

In this design we strived to highlight the title and image of each post to immediately convey the core concepts of the projects shown here. The author by-line and comment count remain core to the presentation of the articles, and our link style continues to be immediately apparent in the body of each article. I think we have far surpassed the readability of the comments section, in addition to the content itself. We knew we could rebuilt it… we have the technology… long live articles worth reading.

UPDATE: We are working very hard to fix all the parts that don’t look quite right. Thanks for your patience!

UPDATE 2: Infinite scrolling isn’t a feature, it’s a regression. On our test server all the blog listings were paginated just like always. When our host, WordPress VIP, pushed live the infinite scrolling manifested itself. We’ve filed a ticket with them and are hoping for a solution shortly.

UPDATE 3: Infinite scrolling has now been fixed and the blog layout now paginates. The mouse-over zoom effect has been removed. Slideshow speed has been adjusted and if you hover you mouse over a feature it will pause the scrolling.

Monitor Shield Leaves No Pin Unused

What doesn’t this Arduino Mega shield have? Ponder that as you realize that it doesn’t just attach itself to the pin headers, but uses every single one of the mega’s connections.

This isn’t a bunch of components kludged together either. [Carsten] is an a EE and that explains a lot of the really great choices he made like buffering, opto-isolation, and the clean assembly despite a schematic that’s so busy it’s difficult figure out where to start.

So, what does it do? Looks like a one-stop-shop for quick prototyping needs. For instance, there’s a pushbutton, toggle-switch, and a couple of trimpots for quick and easy input. At the center of the board is a 7-segment display, and multiple rows of LED bar displays (assembled from SMD components and protoboard) to provide feedback to the user.

There are also a number of sensors at the party, including a mercury shake sensor, temperature sensor, microphone, thermistor, and light dependent resistor. If what you need isn’t on the board there are multiple options for connecting external gear including opto-isolated input and output, and a LEMO for digital I/O with another for analog. All of that and we forgot to mention the moving coil voltmeter that measures PWM.

Breadboarding a 68000 Computer in Under a Week

We’ve been lurking over at Big Mess ‘o Wires as [Steve] geared up for his 68000 computer build. One of his previous posts mentioned a working breadboard version but we figured it would be a ways off. Surprise, he’s got it working and what you see above took just 6 days of “occasional work” to get running.

The chip in use is actually a 68008 but we remember reading that he does plan to migrate to a 68000 because this one lacks the memory pins to address more than 1 MB of RAM. The trick here was just to get the thing running and he made some common choices to get there. For instance, he grounded the /DTACK in much the same way [Brian Benchoff] explained in his own 68k build.

We’re not sure if his address decoding was a time saver or not. If you study [Steve’s] original planning post you’ll learn that he’s going to use programmable logic to handle the address decoding. But above he wired up 74-series logic chips to perform these functions. On the one hand you know your Hardware Description Language isn’t the problem, but did you terminate one of those wires where you ought not?

Additional tripping points include a bouncing reset pin. Looking at that we’d tell [Steve] there’s a problem with his chip, except that this was his first thought as well. He went the extra mile by building and testing a replica of the reset system. This makes our brain spin… shouldn’t the reset be among the most reliable parts of a processor?

At any rate, great work so far. We can’t wait to see where this goes and we hope that it unfolds in a way that is as exciting as watching [Quinn Dunki’s] Veronica project take shape.