Use The Esp As A Serial Adapter

One of the most useful tools in the hardware hackers toolbox is a USB to serial adapter. With this, you can flash new firmware to routers, and ply the vast binary seas of embedded hardware. The common form of the USB to Serial adapter is an FTDI breakout board. This requires drivers, though, and there is actually a simpler – and wireless – solution: the ESP8266 WiFi module.

Despite being the best little IoT device on the block, the ESP8266 was originally designed to be a USB to WiFi adapter. In our haste to build WiFi throwies, WiFi blinkies, and freaking WiFi server farms, we seem to have forgotten that there’s still a use for a device that turns a 3.3V TTL into a WiFi connection. It’s the perfect device for reflashing a cheap WiFI router with new firmware, or just providing you with wireless serial connections to go along with your wireless Internet.

This project uses jeelabs’ ESP-link firmware for the ESP8266. It’s a simple bridge between WiFi and serial, and can function as an AVR programmer in a pinch. The web interface for this firmware is very nice, but you really don’t need it; the entire purpose of this firmware is to be even more transparent than an FTDI USB to serial adapter. For the next time you’re flashing a router with OpenWRT, don’t bother digging out the USB adapter; an ESP is all you need.

Atmel Introduces Rad Hard Microcontrollers

The Internet is full of extremely clever people, and most of the time they don’t realize how stupid they actually are. Every time there’s a rocket launch, there’s usually a few cubesats tucked away under a fairing. These cubesats were designed and built by university students around the globe, so whenever a few of these cubesats go up, Internet armchair EEs inevitably cut these students down: “That microcontroller isn’t going to last in space. There’s too much radiation. It’ll be dead in a day,” they say. This argument disregards the fact that iPods work for months aboard the space station, Thinkpads work for years, and the fact that putting commercial-grade microcontrollers in low earth orbit has been done thousands of times before with mountains of data to back up the practice.

For every problem, imagined or not, there’s a solution. Now, finally, Atmel has released a rad tolerant AVR for space applications. It’s the ATmegaS128, the space-grade version of the ‘mega128. This chip is in a 64-lead ceramic package, has all the features you would expect from the ATmega128 and is, like any ‘mega128, Arduino compatible.

Atmel has an oddly large space-rated rad-hard portfolio, with space-grade FPGAs, memories, communications ICs, ASICs, memories, and now microcontrollers in their lineup.

While microcontrollers that aren’t radiation tolerant have gone up in cubesats and larger commercial birds over the years, the commercial-grade stuff is usually reserved for low Earth orbit stuff. For venturing more than a few hundred miles above the Earth, into the range of GPS satellites and to geosynchronous orbit 25,000 miles above, radiation shielding is needed.

Will you ever need a space-grade, rad-hard Arduino? Probably not. This new announcement is rather cool, though, and we can’t wait for the first space grade Arduino clone to show up in the Hackaday tips line.

Bluetooth Thermometer Minds Your Meats

The summer may have come to a close here in the USA, but any time of the year is a good time for grilling. In the colder weather, it’s a drag to have to stay near the hot grill to keep an eye on your burgers and franks. [Eric Ely] thought it would be smarter to have a meat thermometer that sent his phone the current reading via Bluetooth.

Instead of starting from scratch, [Eric] took an off the shelf electronic thermometer and removed its temperature probe (which was a thermistor). The hardware used an off the shelf Bluetooth board with a companion battery board and prototype board. If you can’t bear to cut up a good thermometer, you can get replacement probes that ought to work just as well.

In addition to the boards and the scavenged thermistor, [Eric] used a couple of resistors. One resistor is in parallel with the thermistor to improve the linearity of the device’s response curve. The second resistor forms a voltage divider that the Bluetooth board reads.

The software (using Node.js and C) is available on Github. The C program reads the temperature and pushes it out using JSON. Node.js provides a server that [Eric] can hit with his phone’s Web browser.

Sure, you can buy wireless thermometers, but what self-respecting hacker wants to carry around a store-bought box just to display meat temperature? Viewing it on your phone has much more street cred.  Of course, a real hacker isn’t going to cook on a conventional grill, either.

Continue reading “Bluetooth Thermometer Minds Your Meats”

Fail Of The Week: Marginally Documented Pad Shorts To Maskless PCB

[Erich Styger] was bit by a nasty gotcha when soldering a QFN surface mount chip. The problem rears its ugly head when combining a chip possessing a padless conductor and a PCB without a solder mask. As you can see in the image above, there is a conductor exiting the side of the plastic QFN, but there is no pad associated with it. For this reason, you won’t see the conductor documented in the datasheet as a pin. It is documented in the mechanical drawing of the package, without any explicit reference to its existence. This is the Jason Bourne of package quirks.

The PCB layout just happens to have a trace exiting right under this conductor. The two aren’t touching, but without solder mask, a bit of melted metal was able to mind the gap and connect the two conductors. [Eric] notes that although the non-pad isn’t documented, it’s easy to prove that it is connected to ground and was effectively pulling down the signal on that trace.

In a recent article on Hackaday I talked about “dangling pointers” and the challenge when interrupts expose the bug. [Erich’s] covered a ton of posts about embedded software. I was doing some poking around and was delighted to find that he covered the same concept and a solution for it using a program called cppcheck.

Code Craft: Subtle Interrupt Problems Stack Up

[Elliot Williams’] column, Embed with Elliot, just did a great series on interrupts. It came in three parts, illustrating the Good, the Bad, and the Ugly of using interrupts on embedded systems. More than a few memories floated by while reading it. Some pretty painful because debugging interrupt problems can be a nightmare.

One of the things I’ve learned to watch out for over the years is the subtlety of stack based languages, like C/C++, which can ensnare the unwary. This problem has to do with the corruption of arrays of values on a stack during interrupt handling. The fix for this problem points up another one often used by black hats to gain access to systems.

Continue reading “Code Craft: Subtle Interrupt Problems Stack Up”

New Part Day: The BeagleBoard Gets Bigger

Officially, the latest hardware revision we’ve seen from BeagleBoard is the BeagleBone Black, a small board that’s perfect for when you want to interface hardware to a Linux software environment. This last summer, the BeagleBone Green was introduced, and while it’s a newer hardware release, it’s really just a cost-reduced version of the BB Black. Over the entire BeagleBoard family, it’s time for an upgrade.

It’s been talked about for more than a year now, but the latest and greatest from the BeagleBoard crew is out. It’s called the BeagleBoard X15, and not only is it an extremely powerful Linux board, it also has more ports than you would ever need.

The new BeagleBoard features a dual-core ARM Cortex A15 running at 1.5GHz. There is 2GB of DDR3L RAM on board, and 4GB of EMMC Flash. Outputs include three USB 3.0 hosts, two Gigabit Ethernet controllers, one eSATA connector, LCD output, two PCIe connectors, and an HDMI connector capable of outputting 1920×1080 at 60 FPS. The entire board is open hardware, with documentation for nearly every device on the board available now. The one exception is the PowerVR SGX544 GPU which has a closed driver, but the FSF has proposed a project to create an open driver for this graphics engine so that could change in the future.

The expected price of the BeagleBoard X15 varies from source to source, but all the numbers fall somewhere in the range of $200 to $240 USD, with more recent estimates falling toward the high end. This board is not meant to be a replacement for the much more popular BeagleBone. While the development and relationship between the ~Board and ~Bone are very much related, the BeagleBone has always and will always be a barebone Linux board, albeit with a few interesting features. The BeagleBoard, on the other hand, includes the kitchen sink. While the BeagleBoard X15 hardware is complete, so far there are less than one hundred boards on the planet. These are going directly to the people responsible for making everything work, afterwards orders from Digikey and Mouser will be filled. General availability should be around November, and certainly by Christmas.

While it’s pricier than the BeagleBone, the Raspberry Pi, or dozens of other ARM Linux boards out there, The BeagleBone has a lot of horsepower and plenty of I/Os. It’s an impressive piece of hardware that out-competes just about everything else available. We can’t wait to see it in the wild, but more importantly we can’t wait to see what people can do with it.

Title image credit: Vladimir Pantelic

Vintage BBC Computer Gets FPGA Buddies

The BBC Microcomputer System (or BBC Micro) was an innovative machine back in the early 1980’s. One feature that impressed reviewers was a “tube” interface that allowed the machine to become an I/O processor for an additional CPU. When the onboard 6502 became too slow, it could become a slave to a Z-80 or even an ARM processor. The bus was actually useful for any high-speed device, but its purpose was to add new processors, a feature Byte magazine called “innovative.”

[Hoglet67] has released a very interesting set of FPGA designs that allows a small board sporting a Xilinx Spartan 3 to add a 6502, a Z80, a 6809, or a PDP/11 to a BBC Micro via the tube interface. There’s something satisfying about a classic computer acting as an I/O slave to a fairly modern FPGA that implements an even older PDP/11.

Continue reading “Vintage BBC Computer Gets FPGA Buddies”