ESP8266 WiFi Throwies

A few years ago, someone figured out you can take an LED, a coin cell battery, and a magnet, tape them together, and throw them on every conceivable metallic surface. This was the creation of LED throwies, and the world was much worse off for its invention.

With the ESP-8266 WiFi module, we have a tiny, tiny device with a WiFi radio, and just enough processing power to do something interesting. What does that mean? WiFi throwies.

[Andreas Reischle] stuffed an ESP-8266 WiFi module and a lithium cell inside a weatherproof controller loaded up with magnets. On its own, these wouldn’t do much, but with the right combination of software, this little magnetic box can serve as an access point, serving up small JavaScript games to anyone who connects.

The software is based on the NodeMCU firmware and features a web server and a DNS server. The utility of a web server is obvious, and the DNS server redirects all traffic to the device’s index.html file, where a menu of small JavaScript games are presented.

It’s much better than polluting the world with LEDs and lithium; this one has Hunt the Wumpus on it.

Thanks [Oliver] for the tip.

Continue reading “ESP8266 WiFi Throwies”

Hackaday Prize Entry: BS Free USB

Take a look at some old electronics magazines, or even a few blog posts from 10 years ago, and you’ll notice something strange: parallel ports. Those big ‘ol DB25 were the way to get bits out of a computer and into a microcontroller. There was a reason for this: it was exceptionally easy to do.

Now, we have USB to deal with, and that means VIDs and PIDs, drivers, enumeration, and a whole bunch of cruft that makes blinking an LED a surprisingly complicated process. [Colin O’Flynn]’s project for the 2015 Hackaday Prize aims to fix that with BSU – BS Free USB.

Instead of USB to serial chips attached to another microcontroller, [Colin] is using a few microcontrollers with a built-in USB interfaces. These chips are loaded up with firmware and controlled with a simple API on the computer side. If you want to blink a pin, just add a library to your project and set the pin high. Want some SPI on your computer? That’s just setting a few pins as MOSI, MISO, and SCK and typing in a few bytes. It’s basically a $2 Bus Pirate that you can stick into any project.

If [Colin]’s name sounds familiar in the context of The Hackaday Prize, it’s because he won second place with the ChipWhisperer last year. While a tiny USB thing isn’t quite as cool as a tool to break embedded encryption, the BSU certainly seems more useful to millions of hardware tinkerers around the world.


The 2015 Hackaday Prize is sponsored by:

Tweeting From The NES Expansion Port

[Trapper] is an 80’s kid, and back in the day the Nintendo Entertainment System was his jam. One fateful night, he turned over his favorite gray box, removed a small plastic guard, and revealed the mythical expansion port. What was it for? What would Nintendo do with it?

The expansion port on the NES wasn’t really used for anything, at least in the US market. Even in the homebrew scene, there’s only one stalled project that allows the NES to connect to external devices. To fulfill [Trap]’s childhood dream, he would have to build something for the NES expansion port. Twitter seemed like a good application.

The first step towards creating an NES Expansion Port Twitter thing was to probe the depths of this connector. The entire data bus for the CPU is there, along with some cartridge pass-through pins and a single address line. The design of the system uses a microcontroller and a small bit of shared SRAM with the NES. This SRAM shares messages between the microcontroller and NES, telling the uC to Tweet something, or telling the NES to put something on the screen.

Only a single address pin – A15 – is available on the expansion port, but [Trapper] needed to read and write to a certain section of memory starting at $6000. This meant Addresses A13 and A14 needed to be accessed as well. Fortunately, these pins are available on the cartridge slot, and there are a number of cartridge pass-through pins on the expansion connector. Making a bridge between a few pins of an unused cartridge solved this problem.

From there, it’s just a series of message passing between a microcontroller and the NES. With the help of [Trap]’s brother [Jered] and a Twitter relay app running on a server, this NES can actually Tweet. You can see a video of that below.

Continue reading “Tweeting From The NES Expansion Port”

A Deadbugged GPS/GLONASS/Geiger Counter

So you think you’re pretty good at soldering really tiny parts onto a PCB? You’re probably not as good as [Shibata] who made a GPS/GLONASS and Geiger counter mashup deadbug-style with tiny 0402-sized parts.

The device uses an extremely small GPS/GLONASS receiver, an AVR ATxmega128D3 microcontroller, a standard Nokia phone display and an interesting Geiger tube with a mica window to track its location and the current level of radiation. The idea behind this project isn’t really that remarkable; the astonishing thing is the way this project is put together. It’s held together with either skill or prayer, with tiny bits of magnet wire replacing what would normally be PCB traces, and individual components making up the entire circuit.

While there isn’t much detail on what’s actually going on in this mess of solder, hot glue, and wire, the circuit is certainly interesting. Somehow, [Shibata] is generating the high voltage for the Geiger tube and has come up with a really great way of displaying all the relevant information on the display. It’s a great project that approaches masterpiece territory with some crazy soldering skills.

Thanks [Danny] for sending this one in.

Continue reading “A Deadbugged GPS/GLONASS/Geiger Counter”

The Digistump Oak; An ESP8266 On Kickstarter

When it was first released, the ESP8266 was a marvel; a complete WiFi solution for any project that cost about $5. A few weeks later, and people were hard at work putting code on the tiny little microcontroller in the ESP8266 and it was clear that this module would be the future of WiFi-enabled Things for the Internet.

Now it’s a Kickstarter Project. It’s called the Digistump Oak, and it’s exactly what anyone following the ESP8266 development scene would expect: WiFi, a few GPIOs, and cheap – just $13 for a shipped, fully functional dev board.

The guy behind the Oak, [Erik Kettenburg], has seen a lot of success with his crowdfunded dev boards. He created the Digispark, a tiny, USB-enabled development board that’s hardly larger than a USB plug itself. The Digispark Pro followed, getting even more extremely small AVR dev boards out in the wild.

The Digistump Oak moves away from the AVR platform and puts everything on an ESP8266. Actually, this isn’t exactly the ESP8266 you can buy from hundreds of unnamed Chinese retailers; while it still uses the ESP8266 chip, there’s a larger SPI Flash, and the Oak is FCC certified.

Yes, if you’re thinking about building a product with the ESP8266, you’ll want to watch [Erik]’s campaign closely. He’s doing the legwork to repackage the ESP into something the FCC can certify. Until someone else does it, it’s a license to print money.

The FCC-certified ESP8266 derived module, cleverly called the Acorn, will be available in large quantities, packaged in JEDEC trays sometime after the campaign is finished. It’s an interesting board, and we’re sure more than one teardown of the Acorn will hit YouTube when these things start shipping.

Brewdoo Helps Keep The Office Coffee Fresh

Until about lunch time, the coffee goes pretty fast in our office. Only a few of us drink it well into the afternoon, though, and it’s anyone’s guess how long the coffee’s been sitting around when we need a 4:00 pick-me-up. It would be great to install a coffee timer like [Paul]’s Brewdoo to keep track of these things.

The Brewdoo’s clean and simple design makes it easy for anyone in the office to use. [Paul]’s office has two carafes, so there’s a button, an RGB LED, and a line on the LCD for each. Once a pot is brewed, push the corresponding button and the timer is reset. The RGB LED starts at green, but turns yellow and eventually red over the course of an hour. Brewdoo has a failsafe in place, too: if a timer hasn’t been reset for four hours, its LED turns off and the LCD shows a question mark.

[Paul] knew he couldn’t touch the existing system since his company leases the equipment, so the Brewdoo lives in an enclosure that [Paul] CNC’d with custom g-code and affixed to the brewing machine with hard drive magnets. Although [Paul] designed it with an Arduino Uno for easy testing and code modification, the Brewdoo has a custom PCB with a ‘328P. The code, Fritzing diagram and Eagle files are up at [Paul]’s GitHub.

Simple Keypad Scanning With SPI And Some Hardware

16-button keypads have a clever method of encoding their data into 8 pins. Pins are mapped to four rows and four columns on the keypad. A user reads the keypad by bringing each row up to logic: HIGH, and reading the corresponding column values, (HIGH or LOW). Keypad scanning can be farmed out to a microcontroller with a simple finite-state machine and some button debouncing techniques. [Mario], [Glen], and [Paul] on the Netduino forums took an entirely different route: they’ve designed and implemented a Keypad Scanner using any microcontrollers SPI peripheral and a 74HC595 Shift register.

The trio’s solution is an elegant adventure into circuit design. With two diodes and a voltage divider, they devise a simple circuit that pulls the SPI MISO line LOW if a button in the corresponding circuit’s row is pushed closed. Copied four-fold, this circuit joins the rows and columns of the 74HC595 to the keypad matrix. To scan across the four columns, the microcontroller performs an SPI transfer of the key value: 0x01. To decode which button is pushed, the value received back from the SPI bus encodes which button was pushed out of the 16 possible buttons. Note: some cases for ambiguity as to “which button was pressed” do exist if multiple buttons are pushed at the same time, but for the general case where we’re punching in values one-by-one, this circuit works perfectly.

The team’s hack is a clever use of existing hardware to outsource a microcontroller’s software problem to hardware while leveraging the SPI peripheral to cleverly decrypt and retrieve data back from the keypad. Kudos to the team of three over at the Netduino Forums, and we’re always thrilled to see and idea grow from one person to the next. In case you want to take a step lower and build up the keypad itself, here’s a blast from the past that does just that.