Mapping WiFi Signals In 3 Dimensions

[Charles] is on a quest to complete ever more jaw-dropping hacks with the popular low-cost ESP8266 WiFi modules. This week’s project is plotting WiFi received signal strength in 3D space. While the ESP8266 is capable of providing a Received Signal Strength Indication (RSSI), [Charles] didn’t directly use it. He wrote a simple C program on his laptop to ping the ESP8266 at around 500Hz. The laptop would then translate the RSSI from the ping replies to a color value, which it would then send to the ESP8266. Since the ESP8266 was running [Charles’] custom firmware (as seen in his WiFi cup project), it could directly display the color on a WS2812 RGB LED.

The colors seemed random at first, but [Charles] noticed that there was a pattern. He just needed a way to visualize the LED over time. A single frame long exposure would work, but so would video. [Charles] went the video route, creating SuperLongExposure, an FFMPEG-based tool which extracts every video frame and composites them into a single frame. What he saw was pretty cool – there were definite stripes of good and bad signal.

wifiPOVThumbArmed with this information, [Charles] went for broke and mounted his ESP8266 on a large gantry style mill. He took several long exposure videos of a 360x360x180mm area. The videos were extracted into layers. The whole data set could then be visualized with Voxeltastic, [Charles’] own HTML5/WEBGL based render engine. The results were nothing short of amazing. The signal strength increases and decreases in nodes and anti-nodes which correspond to the 12.4 cm wavelength of a WiFi signal. The final render looks incredibly organic, which isn’t completely surprising. We’ve seen the same kind of image from commercial antenna simulation characterization systems.

Once again [Charles] has blown us away, we can’t wait to see what he does next!

Continue reading “Mapping WiFi Signals In 3 Dimensions”

Logic Noise: 8-bits Of Glorious Sounds

Logic Noise is all about using analog circuits to make sounds. Preferably sound that will be enjoyable to hear and useful for making music. Now, the difference between music, sound, and noise is certainly in the ear of the behearer, but you must admit that last installment’s simple square wave lacked a little something. (Although the sync oscillator circuit extension was kinda cool.)

This week, we’ll take our single wimpy square-wave oscillator and beef it up by adding a bunch of sub-octaves to the mix. And we’ll do it using a chip that’ll be really useful for us in the future as well: the 4040 binary counter chip.

Counters (binary or decimal) are going to be fertile ground for more musical noise experiments. Why so? Because octaves are just doublings or halvings of frequencies, and because a lot of rhythmic patterns have factors of two underlying them.  Just think about the most basic drum pattern you know: bass drum on the one, snare on one and three, and hi-hats on one, two, three, and four. Each different instrument fires off twice as frequently as the one before it.

But for now, enough blabber. We’ve got an oscillator to build.

Continue reading “Logic Noise: 8-bits Of Glorious Sounds”

Non-Arduino Powered By A Piece Of Computing History

Sometimes it is a blessing to have some spare time on your hands, specially if you are a hacker with lots of ideas and skill to bring them to life. [Matt] was lucky enough to have all of that and recently completed an ambitious project 8 months in the making – a Non-Arduino powered by the giant of computing history – Intel’s 8086 processor. Luckily, [Matt] provides a link to describe what Non-Arduino actually means; it’s a board that is shield-compatible, but not Arduino IDE compatible.

He was driven by a desire to build a single board computer in the old style, specifically, one with a traditional local bus. In the early days, a System Development Kit for Intel’s emerging range of  microprocessors would have involved a fair bit of discrete hardware, and software tools which were not all too easy to use.

Back in his den, [Matt] was grappling with his own set of challenges. The 8086 is a microprocessor, not a microcontroller like the AVR, so the software side of things are quite different. He quickly found himself locking horns with complex concepts such as assembly bootstrapping routines, linker scripts, code relocation, memory maps, vectors and so on. The hardware side of things was also difficult. But his goal was learning so he did not take any short cuts along the way.

[Matt] documented his project in detail, listing out the various microprocessors that run on his 8OD board, describing the software that makes it all run, linking to the schematics and source code. There’s also an interesting section on running Soviet era (USSR) microprocessor clones on the 8OD. He is still contemplating if it is worthwhile building this board in quantities, considering it uses some not so easy to source parts. If you are interested in contributing to the project, you could get lucky. [Matt] has a few spares of the prototypes which he is willing to loan out to anyone who can can convince him that they could add some value to the project.

Continue reading “Non-Arduino Powered By A Piece Of Computing History”

remote circuit board

Ultimate Remote Is Ultimate

[Joedefa] had a Griffin Beacon Universal Remote that was collecting dust, and decided that it needed to stop collecting dust. He had a growing number of wireless devices in his house and found himself in need of a remote to control them all. The Griffin Beacon fit the bill, but most of his lights and outlets were RF controlled. So he did what hackers do best… broke out the screw driver and soldering iron and rewired it!

[Joedefa] is using an Attiny85 as the brains between an infrared LED and a RF transmit module (if anyone can identify the source of this module, please let everyone know in the comments).  A pair of red and green LEDs lets him know if the remote has received commands successfully.

It’s always nice to see a discontinued product made useful once more with a little ingenuity and an Arduino some hacking skill. Hat’s off to [Joedefa] for a righteous hack!

Morse Code RF Transmitter From A Micro’s Clock Output

If you’re looking for a simple way to make an RF transmitter, check out [Tomasz]’s Morse code transmitter. His design uses nothing more than a microcontroller and a 16MHz crystal to transmit CW Morse code on 96MHz. We’ve seen some similar designs that work at lower frequencies, but transmitting up at 96MHz is pretty impressive.

[Tomasz] used an STM32L microcontroller for this project, which isn’t specced to run up at the high frequencies he wanted to transmit at. To get around this, [Tomasz] wired a 16Mhz oscillator up to microcontroller’s clock input. The clock input is run into the micro’s PLL which is capable of generating high frequencies. He mentions that you can use the internal oscillator instead of a crystal, but it has a ton of phase noise and splatters all over the spectrum.

[Tomasz] chose to start transmitting at 96MHz, which can be picked up by a standard FM radio. To generate this frequency, he set the PLL to multiply the 16MHz crystal up to 192MHz followed by a clock divide of 2 which brings it down to 96MHz. The microcontroller’s CPU runs on the 16MHz crystal input before it goes into the PLL. Next [Tomasz] enabled the MCO clock output pin which routes the 96MHz signal to the outside world.

Transmitting CW is pretty simple; it just involves turning a fixed-frequency transmitter on and off. [Tomasz] wrote a function that enables and disables the MCO output pin. This has the effect of keying any Morse code string you throw at it. Check out the video after the break to see the transmitter in action.

Continue reading “Morse Code RF Transmitter From A Micro’s Clock Output”

Turning A 3D Printer Into An Injection Molding Machine

Injection molding machines are able to form very detailed plastic parts, simply by squirting plastic into a mold. 3D printers squirt plastic. Why no one thought of using a 3D printer extruder to push plastic into a mold until now is something we’ll never know.

[bfk] has been working on a way to produce very small, very detailed parts for a while now, and realized the extruder of a 3D printer serves most of the functions of an injection molding machine. It takes plastic, melts it, and forces it through an orifice. Whether that plastic goes to a build platform or into a mold is beside the point; but with a simple silicone mold, anyone can replicate extremely small parts with a tool every hackerspace already has.

The tools required are RTV rubber, which is the most popular mold material around. Aside from that, it’s just silicone lubricant, dowels and LEGO to make sprues, and of course something to make a mold from. Once the mold is made, it’s a simple matter of holding the mold up to the nozzle of a printer and extruding a bit of plastic.

The resulting ‘print’ is as detailed as the best prints that will ever come off a resin printer. It’s great for making parts for very small models like [bfk]’s current project, but this technique could be expanded to anything that needs a lot of small plastic parts with tight tolerances.

Video of the process below.

Continue reading “Turning A 3D Printer Into An Injection Molding Machine”

The Annoying Machine

The Useless Machine – a machine with a toggle switch, a mechanical arm, and something that only exists to turn itself off – is a staple of Instructables and builds from random workbenches the world over. It’s cliché, and now hackaday.io has a better project: The Annoying Machine, a machine that exists purely to annoy.

According to [unigamer], the Annoying Machine is the evil cousin of the Useless Machine. On the outside, it’s extremely simple: a switch labeled ‘on’ and ‘off’, and a hole for an LED. Turn the switch on, and the Annoying Machine will emit an annoying buzzing sound. Switch the Machine off, and the buzzing will go away. Then the switch will flick itself back to on. Insidious.

A switch and buzzer is easy enough, but the key component of this build is an actuated rocker switch. It’s basically a normal toggle switch with two additional terminals for a coil that can move the switch back and forth electronically. Throw in an Arduino, buzzer, battery, and a boost converter for the switch, and that’s just about all there is to it.

How to deactivate the Annoying Machine? There’s an accelerometer attached to the Arduino, and by throwing the box up in the air after flicking the switch off, it will reset. There are already plans for a Version 2 of the Annoying Machine that will be even louder and made out of aluminum. Anything to protect it from the inevitable hammers of frustration.

Video below.

Continue reading “The Annoying Machine”