An SDK for the ESP8266 WiFi Chip

ESP The ESP8266 is a chip that turned a lot of heads recently, stuffing a WiFi radio, TCP/IP stack, and all the required bits to get a microcontroller on the Internet into a tiny, $5 module. It’s an interesting chip, not only because it’s a UART to WiFi module, allowing nearly anything to get on the Internet for $5, but because there’s a user-programmable microcontroller in this board. If only we had an SDK or a few libraries…

The ESP8266 SDK is finally here. A complete SDK for the ESP8266 was just posted to the Expressif forums, along with a VirtualBox image with Ubuntu that includes GCC for the LX106 core used in this module.

Included in the SDK are sources for an SSL, JSON, and lwIP library, making this a solution for pretty much everything you would need to do with an Internet of Things thing. As far as LX106 core is concerned, there’s example code for using the spare pins on this board as GPIOs, I2C and SPI busses, and a UART.

This turns the ESP8266 into something much better than a UART to WiFi module; now you can create a Internet of Things thing with just $5 in hardware. We’d love to see some examples, so put those up on and send them in to the tip line.

FlowPaw, the Bear Paw of Electronics Education


If the astonishing success of littleBits is any indication, there’s a huge market for ‘intro to electronics’ products that are much more capable than the classic Radio Shack ‘springs and components stuck to cardboard’ kits or even the very successful littleBits. FlowPaw is the latest entry in this space, combining the sensor module paradigm of littleBits with a largish microcontroller, digital and analog pins, and a great programming interface.

The big innovation in the FlowPaw is the FlowStone programming language. It’s a graphical programming language that allows young creators to connect blocks, modules, and functions together with virtual wires, but also allows the editing of different modules with Ruby. Best of both worlds, there.

The FlowPaw kickstarter includes rewards for just the FlowStone software, or the FlowPaw electronics board with a bunch of modules. Already, the team has LED, relay, accelerometer, buzzer, and capacitive touch sensors, along with a Bluetooth and speech recognition module. They’re working on a few more advanced modules for GPS, pressure, DC motor control, and RFID as well.

FTDI Screws Up, Backs Down


A few days ago we learned chip maker FTDI was doing some rather shady things with a new driver released on Windows Update. The new driver worked perfectly for real FTDI chips, but for counterfeit chips – and there are a lot of them – the USB PID was set to 0, rendering them inoperable with any computer. Now, a few days later, we know exactly what happened, and FTDI is backing down; the driver has been removed from Windows Update, and an updated driver will be released next week. A PC won’t be able to communicate with a counterfeit chip with the new driver, but at least it won’t soft-brick the chip.

Microsoft has since released a statement and rolled back two versions of the FTDI driver to prevent counterfeit chips from being bricked. The affected versions of the FTDI driver are 2.11.0 and 2.12.0, released on August 26, 2014. The latest version of the driver that does not have this chip bricking functionality is, released on January 27th. If you’re affected by the latest driver, rolling back the driver through the Device Manager to will prevent counterfeit chips from being bricked. You might want to find a copy of the 2.10.0 driver; this will likely be the last version of the FTDI driver to work with counterfeit chips.

Thanks to the efforts of [marcan] over on the EEVblog forums, we know exactly how the earlier FTDI driver worked to brick counterfeit devices:


[marcan] disassembled the FTDI driver and found the source of the brick and some clever coding. The coding exploits  differences found in the silicon of counterfeit chips compared to the legit ones. In the small snippet of code decompiled by [marcan], the FTDI driver does nothing for legit chips, but writes 0 and value to make the EEPROM checksum match to counterfeit chips. It’s an extremely clever bit of code, but also clear evidence FTDI is intentionally bricking counterfeit devices.

A new FTDI driver, presumably one that will tell you a chip is fake without bricking it, will be released next week. While not an ideal outcome for everyone, at least the problem of drivers intentionally bricking devices is behind us.

Building A Magnetic Levitating Quadcopter

hover Three days ago on October 21, 2014 it was announced to the world the Back to the Future hoverboard was real. It’s a Kickstarter, of course, and it’s trending towards a $5 Million dollar payday for the creator.  Surprisingly for a project with this much marketing genius, it’s a real, existing device and there’s even a patent. From the patent, we’re able to glean a few details of how this hoverboard/magnetic levitation device works, and in our post on the initial coverage, we said we’d be giving away some goodies to the first person who can clone this magnetic levitation device and put it up on

[jellmeister] just won the prize. It’s somewhat cheating, as he’s had his prototype hoverboard working in July, and demoed a more advanced ‘upside-down quadcopter’ device at the Brighton Mini Maker Faire in September. Good on ‘ya [jelly]. You’re getting a gift card for the hackaday store.

hoverLike the Kickstarter hoverboard, [jelly] is using an array of magnets rotating in a frame above a non-ferrous metal. For the initial test, eight neodymium magnets were arranged in a frame, suspended over 3/4″ aluminum plate, and spun up with a drill. With just this simple test, [jelly] was able to achieve 2kg of lift at 1cm and 1kg of lift at 1 inch of separation. This test also provided some valuable insight on what the magnets do to the aluminum or copper; the 3kg aluminum plate was nearly spinning, meaning if this device were to be used on small plates, counter-rotating pairs of magnetic lifters would need to be used.

The test rig then advanced to two pairs of rotors with standard hobby brushless motors, but stability was a problem; the magnetic rotors provided enough lift, but it would quickly fall over. To solve this problem, [jellmeister] took a standard quadcopter configuration, replaced the props with magnetic rotors, and successfully hovered it above a sheet of aluminum at the Brighton Maker Faire.

Since [jellmeister] has actually built one of these magnetically levitating hoverboards, he has a lot more data about how they work than an embargoed press release. The magnetic rotor hoverboard will work on aluminum as well as copper, but [jell] suspects the Kickstarter hoverboard may be operating right at the edge of its performance, necessitating the more efficient copper half pipe. The thickness of the non-ferrous plate also makes a difference, with better performance found using thicker plates. No, you bojo, hoverboards don’t work on salt water, even if you have pow-ah.

So there ‘ya go. That’s how you build a freakin’ hoverboard. [jellmeister]‘s design is a little crude and using a Halbach array for the magnetic rotors should improve efficiency. Using a 3D printed rotor design is a stroke of genius, and we’ll expect a few more quad-magnetic-levitating-things to hit the tip line in short order.

Demos of [jellmeister]‘s work below.

Oh. These things need a name. I humbly submit the term ‘Bojo’ to refer to any device that levitates though rotating magnets and eddy currents.

[Read more...]

A Complete C64 System, Emulated on an STM32


The Commodore 64 is the worlds bestselling computer, and we’re pretty sure most programmers and engineers above a certain age owe at least some of their career to this brown/beige keyboard that’s also a computer. These engineers are all grown up now, and it’s about time for a few remakes. [Jeri Ellisworth] owes her success to her version, there are innumerable pieces of the C64 circuit floating around for various microcontrollers, and now [Mathias] has emulated everything (except the SID, that’s still black magic) in a single ARM microcontroller.

On the project page, [Mathais] goes over the capabilities of his board. It uses the STM32F4, overclocked to 235 MHz. There’s a display controller for a 7″ 800×480 TFT, and 4GB of memory for a library of C64 games. Without the display, the entire project is just a bit bigger than a business card. With the display, it’s effectively a C64 tablet, keyboard not included.

This is a direct emulation of the C64, down to individual opcodes in the 6510 CPU of the original. Everything in the original system is emulated, from the VIC, CIAs and VIAs, serial ports, and even the CPU of the 1541 disk drive. The only thing not emulated is the SID chip. That cherished chip sits on a ZIF socket for the amazement of onlookers.

You can check out some images of the build here, or the video demo below.

[Read more...]

Another Internet of Things Board (But This One Has Lisp))


Using routers as dev boards has been a long and cherished tradition in the circles we frequent, and finally design houses in China are taking notice. There have been a few ‘Internet of Things’ boards in recent months that have taken the SoC found in low-end routers, packaged the on a board with USB, some GPIOs, and a fair bit of memory and called it a dev board. The ZERO Plus is not an exception to this trend, but it does include a very interesting feature when it comes to the development environment: this one uses Lisp as its native language.

The Zero Plus is pretty much what you would expect from a router SoC being transplanted to an Internet of Things board: it uses the Ralink RT5350 SoC, giving it 802.11b/g/n, has 32MB of RAM, 8 or 16 M of Flash, I2C, I2S, SPI, USB, two UARTs, and 14 GPIOs. There is support for a webcam, temperature and humidity sensor, displays, and Arduino via a breakout board that appears to contain a standard, DIP-sized ATMega328,

All of that could be found in dozens of other boards, though. What really sets this one apart is the Lisp development environment. Programming the Zero is exactly as elegant as you would expect, with a ‘toggle a LED according to what time it is’ program looking something like this:

(define LED_On (lambda ()(dev.gpio 11 “out” 1)))
(define LED_Off (lambda ()(dev.gpio 11 “out” 0)))
(define CurrentTime? (lambda ()
      (int (time.strftime “%H” (time.localtime (time.time))))))
(define Night?
      (lambda ()
                  (> ( CurrentTime? ) 16) (< ( CurrentTime? ) 23)
(if (Night?) (LED_On) (LED_Off)

Dev boards built around somewhat more esoteric programming language isn’t anything new; The Espruino brings Javascript to ARM microcontrollers, and the MicroPython project is an astonishing undertaking and successful Kickstarter that brings the BASIC for the 21st century to the embedded world. Lisp, though… I don’t think anyone expected that. It’s a great way to differentiate your product, though.

Turning the DEFCON Badge Into a Bitcoin Miner


The DEFCON badge this year was an impressive piece of hardware, complete with mind-bending puzzles, cap sense buttons, LEDs, and of course a Parallax Propeller. [mike] thought a chip as cool as the Propeller should be put to better use than just sitting around until next year so he turned it into a Bitcoin miner, netting him an astonishing 40 hashes per second.

Mining Bitcoins on hardware that doesn’t have much processing power to begin with (at least compared to the FPGAs and ASIC miners commonly used) meant [mike] would have to find some interesting ways to compute the SHA256 hashes that mining requires. He turned to RetroMiner, the Bitcoin miner made for an original Nintendo. Like the NES miner, [mike] is offloading the communication with the Bitcoin network to a host computer, but all of the actual math is handled by a single core on the Propeller.

Saving one core for communication with the host computer, a DEFCON badge could conceivably manage 280 hashes/second, meaning the processing power of all the badges made for DEFCON is about equal to a seven-year-old graphics card.


Get every new post delivered to your Inbox.

Join 96,712 other followers