Hackaday Links: December 20, 2015

If you don’t have a Raspberry Pi Zero right now, you’re not getting one for Christmas. Who would have thought a $5 Linux computer would have been popular, huh? If you’re looking for a new microcontroller platform you can actually buy, the Arduino / Genuino 101 is available in stores. This was released a few months ago, but it still looks pretty cool: DSP, BTLE, and a six-axis sensor.

If you don’t know [David], the Swede, you should. He’s the guy that launched a glider from a high altitude balloon and is one of the biggest advocates of tricopters. Now he bought an airplane wing for his front yard. It was an old Swedish air force transport aircraft being broken up for scrap. Simply awesome.

Chocolate chips. Now that the most obvious pun is out of the way, here’s how you make DIP8 cookie cutters.

[Barb] is over at the Crash Space hackerspace in LA, and she has a YouTube channel that goes over all her creations. This week, it’s a layered wood pendant constructed out of many layers of veneer. Take note of the 3M 77 spray glue used for the lamination and the super glue used as a clear, hard finish.

Star Wars was released and we have a few people digging through the repertoire to see what [John Williams] lifted for the new movie. Here’s musical Tesla coils playing the theme for the Force.

Flickr gives you a full gigabyte of storage, but only if you upload JPEGs, GIFs, and PNGs. That doesn’t prevent you from using Flickr as your own cloud storage.

We know two things about [Hans Fouche]: he lives in South Africa and he has a gigantic 3D printer. His latest creation is an acoustic guitar. It may not sound great, but that’s the quality of the recording. It may not play great, but he can fix that with some acetone vapor. It would be very interesting to see 3D printing used in a more traditional lutherie context; this printer could easily print molds and possibly even something to bend plywood tops.

Starting in 1990, [deater] would make a yearly Christmas-themed demo on his DOS box. You can really see the progression of technology starting with ANSI art trees written in BASIC, to an EGA graphical demo written with QBASIC to the last demo in 96 made with VGA, and SoundBlaster effects written in Turbo Pascal and asm.

First Edition Of German Computer Mag Is A Blast From The Past

Every once in a while we get nostalgic for the old days of computing. Here, we’re getting nostalgic for a past that wasn’t even our own, but will probably bring a smile to all the German hackers out there. c’t magazine has its first issue available on their website (PDF, via FTP), and it’s worth checking out even if you can’t read a word of German.

ct-adIt’s dated November/December 1983, and you’re definitely hopping in the WABAC machine here. The cover image is a terminal computer project that you’re encouraged to build for yourself, and the magazine is filled with those characteristic early-computer-era ads, many of them for the physical keyboards that you’d need to make such a device. Later on, c’t would provide plans for a complete DIY PC with plotter, one of which we saw still running at the 2015 Berlin Vintage Computer Festival.

The issue is chock-full of code for you to type out into your own computer at home. If you didn’t have a computer, there are of course reviews of all of the popular models of the day; the TRS-80 Model 100 gets good marks. And if you need to buy a BASIC interpreter, there’s an article comparing Microsoft’s MBASIC with CBM’s CBASIC. A battle royale!

ct_mag_computer_bandOther hot topics include modifications to make your ZX81’s video output sharper, the hassle of having to insert a coded dongle into your computer to run some software (an early anti-piracy method), and even a computer-music band that had (at least) a Commodore 64 and a CBM machine in their groovy arsenal.

It’s no secret that we like old computers, and their associated magazines. Whether you prefer your PDP-11’s physical or virtual, we’ve got you covered here. And if your nostalgia leans more Anglophone, check out this Byte magazine cover re-shoot.

Hacklet 89 – Star Wars Projects

Star Wars is an inspirational force to be reckoned with. Few movie franchises have quite so many fans creating everything from elaborate cosplay outfits to fully functional robots. At the 2015 Hackaday SuperCon, former R2D2 driver Grant Imahara mentioned that LucasArts used to maintain a fleet of robots to be deployed at events. Once the execs realized hacker, maker, and hobbyist robots are now more advanced than the machines they built for the actual films, they mothballed the fleet. If you see R2 at a Star Wars event this season, it’s probably an enthusiast behind the controls. This week’s Hacklet is dedicated to the best Star Wars projects on Hackaday.io!

targetshootWe start with [Nathan Gray] and Star Wars Nerf Targets. [Nathan] needed a Star Wars themed game for an event for the kids, and he needed it fast. [Nathan] built a Nerf shooting gallery game with a Star Wars twist. The idea is to shoot the bad guys with Nerf darts. Targets have two sides, so you never can be sure if you’ll see a storm trooper or a friendly Wookie. Hits are detected by piezoelectric disks on each target. A control panel starts the game, keeps score, and plays some great sound effects. An Arduino compatible Teensy 2.0 keeps everything running smoothly. [Nathan] reports that the game was a hit with the kids, and everyone else at the party. Even Grandma had to give the Star Wars Nerf Targets game a try!

 

vaporatorNext up is Hackaday’s own [Brian Benchoff] with The Hackaday Prize Moisture Vaporator. The 2015 Hackaday Prize promo video called for something space related. Since Southern California has plenty of desert around, a moisture vaporator straight out of Tatooine was just what the doctor ordered. [Brian], [Matt], [Rich] and [Alek] handled most of the construction at the Hackaday Hackerspace in Pasadena. Final assembly was a team effort out in the field. The basic frame of the vaporator consisted of 1 x 3 lumber joined with pocket screws. An iron pipe served as the spine. [Brian] added plenty of greebles to give the vaporator just the right look. The result makes us long for a trip to Toshi Station to pick up some power converters.

life-signs[Davedarko] is up next with Towani Lifesign Wristdevice – Star Wars Ewoks. This was one of [Dave’s] earliest projects on Hackday.io, way down at project #616. He originally built it for the Sci-Fi contest we held in 2014. The Towani family was in the Ewoks movies, which were lesser known spinoffs of the original Star Wars films. The wristbands showing the family’s vitals were featured a few times in the movies. [Dave’s] version is more than a movie prop, it actually works. He’s using an open hardware pulse sensor along with an Arduino Mini to display status on a trio of LEDs.

bb8Finally, we have [Enrico] with Our own BB-8 droid. BB-8 made a splash when he rolled out on stage during Star Wars Celebration. Everyone wondered how the original was done. We’ve since found out that the BB-8 uses Sphero’s technology to get around. However, many of the movie scenes were done with good old-fashioned puppeteer work. [Enrico] is building his own version of BB-8 using holonomic wheels inside the sphere, with a magnetically attached head. He’s planning to 3D print the major parts of his droid. So far, [Enrico] has started testing with magnets. A few printed plastic parts from his R2D2 build have been standing in for the BB-8 shell.

If you want to see more Star Wars projects, check out our new Star Wars project list! If I missed your project due to a great disturbance in the force, don’t be a nerf herder! Just drop me a message on Hackaday.io. That’s it for this week’s Hacklet. As always, see you next week. Same hack time, same hack channel, bringing you the best of Hackaday.io! May the force be with you.

Code Craft – Embedding C++: Templates

The language C++ is big. There is no doubting that. One reason C++ is big is to allow flexibility in the technique used to solve a problem. If you have a really small system you can stick to procedural code encapsulated by classes. A project with a number of similar but slightly different entities might be best addressed through inheritance and polymorphism.

A third technique is using generics, which are implemented in C++ using templates. Templates have some similarities with #define macros but they are a great deal safer. The compiler does not see the code inserted by a macro until after it has been inserted into the source. If the code is bad the error messages can be very confusing since all the developer sees is the macro name. A template is checked for basic syntax errors by the compiler when it is first seen, and again later when the code is instantiated. That first step eliminates a lot of confusion since error messages appear at the location of the problem.

Continue reading “Code Craft – Embedding C++: Templates” →

Taking The Pulse (Width Modulation) Of An FPGA

I like to think that there are four different ways people use FPGAs:

  1. Use the FPGA as a CPU which allows you to add predefined I/O blocks
  2. Build custom peripherals for an external CPU from predefined I/O blocks
  3. Build custom logic circuitry from scratch
  4. Projects that don’t need an FPGA, but help you learn

I’d bet the majority of FPGA use falls into categories one and two. Some FPGAs even have CPUs already built-in. Even without an onboard CPU, you can usually put a CPU “core” (think reusable library) into the chip. Either way, you can always add other cores to create UARTs, USB, Ethernet, PWM, or whatever other I/O you happen to need. You either connect them to a CPU on the chip, or an external one. With today’s tools, you often pick what you want from a list and then your entire project becomes a software development effort.

Continue reading “Taking The Pulse (Width Modulation) Of An FPGA” →

Philips Says: No Internet Of Things For You!

The 900-pound gorilla in the corner of the Internet of Things (IoT) hype that everyone is trying to ignore is interoperability. In the Internet of Internets (IoI) everything works on a few standards that are widely accepted: IP and HTML. The discrepancies are in the details and the standards wars are in the past. Websites are largely interoperable. Not so in the wild-west ethos of the IoT.

Philips makes a line of ZigBee-enabled RGB lightbulbs that took the enthusiast community by storm. And initially, Philips was very friendly to other devices — it makes a ZigBee-to-WiFi bridge that would let you control all of your ZigBee-based lights, regardless of their manufacturer, from your phone. Until now.

Philips has just rolled out a “Friends of Hue” certification process, and has since pushed out a firmware update where their Hue bridges stop interoperating with non-certified devices. You can read Philips’ version of the story here.

Philips Locks Out 3rd Party ZigBee Hardware

The hub shown on the right is what's being locked down.
The hub shown on the right is what’s being locked down.

The short version is that, ZigBee standards be damned, your future non-Philips lights won’t be allowed to associate with the Philips bridge. Your GE and Osram bulbs aren’t Friends of Hue. DIY RGB strips in your lighting mix? Not Friends of Hue. In fact, you won’t be surprised to know who the “Friends of Hue” are: other Philips products, and Apple. That’s it. If you were used to running a mixed lighting system, those days are over. If you’re not on the friends list, you are an Enemy of Hue.

Their claim is that third party products may display buggy behavior on a Philips network, and that this loads up their customer-response hotlines and makes people think that Philips is responsible. Of course, they could simply tell people to disable the “other” devices and see how it works, putting the blame where it belongs. Or they could open up a “developer mode” that made it clear that the user was doing something “innovative”. But neither of these strategies prevent consumers from buying other firms’ bulbs, which cost only 30-50% of Philips’ Hue line.

While Philips is very careful to not couch it as such, the Friends of Hue program really looks like an attempt to shut out their competitors; Philips got an early lead in the RGB LED game and has a large share of the market. As they say themselves in their own press release “Today these 3rd party bulbs represent a minimal fraction of the total product connected to our bridges so the percentage of our users affected is minimal.” And they’d like to keep it that way, even though the people they’re hurting are probably their most vocal and dedicated customers.

Who owns the IoT?

This Techdirt response to the situation is positively apoplectic, and there’s been the predictable flood of tirades in the comments on Slashdot. [Joel Ward], who in January was celebrating the ability to afford enough colored lights to appease his son is not so happy anymore.

And while we, with our manual light switches, laugh comfortably at the first-world problems of Hue consumers, we have to ask ourselves whether we’re next. Today they come for our RGB lightbulbs, but tomorrow it might be our networked toasters. A chilling thought!

Snark aside, the IoT brings two of the saddest realities of the software world into your home appliances: Where there’s code, there’s vulnerabilities, and when you can’t control the code yourself you aren’t really in control. You may own the lightbulb, but you’re merely licensing the firmware that runs it. The manufacturer can change the rules of the game, or go out of the product line entirely, and you’re high and dry. What can you do? Pull out your JTAG debugger.

Of course it’s insane to suggest that everyone needs to become an embedded-device firmware hacker just to keep their fridge running. As we’ve written before, we need to come up with some solution that puts a little more control in the hands of the ostensible owners of the devices, while at the same time keeping the baddies out. We suggest a press-to-revert-firmware button, for instance. When Philips pushes a non-consumer-friendly upgrade, you could vote with your fingertips — but then you’d miss out on bug fixes as well. Maybe it’s better to just give in an learn to love Windows 10.

There are no easy solutions and no perfect software. The industry is still young and we’ll see a lot of companies staking out their turf as with any new technology. It seems to us that IoT devices leave consumers with even less choice and control than in the past, because they are driven by firmware that’s supposed to be invisible. It’s just a lightbulb, right?

What do you think? Any ideas about how to put the power back in the hands of the “owner” of the device without everyone’s refrigerators becoming botnet zombies? Let us know in the comments.

Thanks [djxfade] for the tip!

Edit: Shortly after we ran this piece, Philips backed down:

“We underestimated the impact this would have upon the small number of our customers who currently use uncertified lights from other brands in the Philips Hue system. We have decided to continue to enable our customers who wish to integrate these uncertified products within their Philips Hue system.”