Wednesday, May 31

Steve Ballmer: we should have turned Microsoft into a “world-class hardware company”

TechShop Announces New Partner Licensing Model, Closes Pittsburgh Location

TechShop CEO Dan Woods penned a letter today to TechShop members about some big changes they are making to their business model.

Read more on MAKE

The post TechShop Announces New Partner Licensing Model, Closes Pittsburgh Location appeared first on Make: DIY Projects and Ideas for Makers.

Mylan shareholders revolt, say directors’ greed has gone too far

Appeals court upholds Ross Ulbricht’s life sentence for creating Silk Road

Hijacking the Sonoff OTA Mechanism

ITEAD’s Sonoff line is a range of Internet-of-Things devices based around the ESP8266. This makes them popular for hacking due to their accessibility. Past projects have figured out how to reflash the Sonoff devices, but for [mirko], that wasn’t enough – it was time to reverse engineer the Sonoff Over-The-Air update protocol.

[mirko]’s motivation is simple enough – a desire for IoT devices that don’t need to phone home to the corporate mothership, combined with wanting to avoid the labor of cracking open every Sonoff device to reflash it with wires like a Neanderthal. The first step involved connecting the Sonoff device to WiFi and capturing the traffic. This quickly turned up an SSL connection to a remote URL. This was easily intercepted as the device doesn’t do any certificate validation – but a lack of security is sadly never a surprise on the Internet of Things.

After capturing the network traffic, [mirko] set about piecing together the protocol used to execute the OTA updates. After a basic handshake between client and server, the server can ask the client to take various actions – such as downloading an updated firmware image.  After determining the messaging format, [mirko] sought to create a webserver in Python to replicate this behaviour.

There are some pitfalls – firmware images need to be formatted slightly differently for OTA updates versus the usual serial upload method, as this process leaves the stock bootloader intact. There’s also the split-partition flash storage system to deal with, which [mirko] is still working on.

Nevertheless, it’s great to see hackers doing what they do best – taking control over hardware and software to serve their own purposes. To learn more, why not check out how to flash your Sonoff devices over serial? They’re just an ESP8266 inside, after all.


Filed under: home hacks, news

Defense contractor stored intelligence data in Amazon cloud unprotected

Paul Allen showed off his new rocket-launching plane today, and it’s BIG

Vulcan Aerospace

Paul Allen's intriguing launch company, Vulcan Aerospace, has gone relatively quiet in recent years, and questions about the venture's viability have been increasing. But on Wednesday, the cofounder of Microsoft shared a new photo of the company's Stratolaunch airplane—the largest in the world—and it seems the company is moving forward.

The new plane is, in a word, bigly. The aircraft has 385-foot wingspan and, powered by six Boeing 747 engines, has a maximum takeoff weight of 1.3 million pounds. The Stratolaunch's wingspan is the largest in history, blowing away the previous record-holder (Howard Hughes' Spruce Goose) by 65 feet. Vulcan Aerospace says its Stratolaunch airplane will have an operational range of 2,000 nautical miles. Serving as a reusable first stage for rocket launches, the Stratolaunch system will be capable of delivering payloads to multiple orbits and inclinations in a single mission.

Read 4 remaining paragraphs | Comments

Exxon investors clash with executives, vote in favor of annual climate report

Hackaday Prize Entry: 3D Printed Mini-Lathe

Senators want FBI to find out who attacked net neutrality comment system

Interview: Francesco de Comité Makes Math Visually Awesome

Francesco de Comité is an Associate Professor in Computer Science at the University of Sciences in Lille, France, where he researches the 2D and 3D representation of mathematical concepts and objects. He’s presented papers on a variety of topics including anamorphoses, experiments in circle packing, and Dupin cyclides. His current project involves modeling and 3D printing sea shells. He’ll be presenting a paper on the topic at Bridges Conference in July. You can find his projects on Flickr as well as on Shapeways.

Hackaday: One of your recent projects involves creating fractal patterns and warping them into biologically-correct sea shell shapes, which you then print.

FdC: Modeling seashell shapes is an old topic–Moseley, 1838, D’Arcy Thompson beginning of 20th century. A seashell can be defined as a curve turning around an axis, while translating in the direction of this axis (i.e. on a helicoidal trajectory), and growing in size at the same time. This was modeled for computers in the ’60s by David Raup.

Drawing patterns on seashells was described by Hans Meinhardt using a model of chemical reactions (activator-inhibitor), in the same spirit as Turing’s work on morphogenesis. Combining these two works, and using 3D printers instead of 2D renderers, we can build realistic seashells, either by copying existing shells, or inventing new ones. A 3D model is not just a juxtaposition of a huge number of 2D views: manipulating 3D models can help you understand the object, find details, and so on.

I was curious to see if making a 3D seashell was possible. Moreover, I show that this can be done with simple tools — well, except the 3D printer.

Can you tell us a little about the software and hardware involved?

All the process is done using Blender, and the programs are written in Python using Blender’s script facility. The 3D printer is a ZCorp ProJet 460, which uses a powder similar to sand, and which can output colored objects.

You mentioned D’Arcy Thompson’s work at the turn of the 20th century, as well as Meinhardt more recently — was it literally a case of all of the math having been done for you already?

I have some math background, but I am more a programmer/computer scientist than a math scientist. In general, for all my works, I use maths already written by other people. Once I have coded an equation, a math concept, I can play and tune its parameters, and see what happens. We could call this ‘experimental maths’.

What was the biggest surprise or revelation you encountered while designing the shells?

3D printing is not an exact science. I made some misses, but it allows me to cut a 3D printed shell in half, and see how it was printed inside. Not exactly as I thought it would be. It gave me a better understanding of what my program was doing.

I’m reading (okay, skimming) Meinhardt’s book “The Algorithmic Beauty of Seashells” and I noticed the author included BASIC code for a seashell pattern simulator. Was that old code an example of the sort of research you had to translate into more “modern” formats?

This was a funny part of the project. In the 1990’s, the book was sold with a 3 1/2 floppy disk containing programs written in BASIC. The reader was able to generate the patterns described in the book, and test them with other parameters. Recent versions of the book don’t contain this disk anymore.

Then I found that a library in a university in Montpellier, France still had the disk. I contacted them, they found a floppy disk reader, installed it on a computer, and sent me a backup of the disk. This was the first part. I was not able to find a Basic interpreter to run the programs, so I decided to read the programs and translate them, first in Java/ImageJ to test the patterns, then in Python, to integrate them in the python script used in Blender to generate seashells.

It is disturbing to see that programs written less than 20 years ago are already difficult to use.

With regards to your work — not necessarily to nature in general — do the fractal patterns on the surface of the shell have a relationship to the curvature of the shell?

There is no link between the patterns and the shape of the shell. it looks like those are two independent processes — but I am not a biologist! In fact, you have several possibilities for putting a pattern on a shell: mapping an image on it (you consider the shell as a 2D twisted screen) This distorts the image strongly. Here is Mona Lisa (image to the right).

A lot of your projects seem to involve taking something digital and making a physical version. I can understand using a digitally controlled machine like a 3D printer, but you also do a lot of projects with cut paper, cardboard, and wire. What kind of challenges do you encounter translating your digital designs into such imperfect media?

Initially, my goal was to make mathematical concepts (curves, equations..) tangible/visible. I began with 2D images, then 3D printed objects. Trying to translate these concepts with other means came naturally. The final goal would be to build objects without using computers at all.

But I still need computers: I often create virtual versions of the objects before to build them in real world. You are right, I have to go from a perfect world to the real one. But I don’t believe this late one is imperfect; in fact the flexibility of real material is of great help, for building polyhedra with playing cards for example.

The challenge is more at the beginning of the process: how to use math to compute the right information I will need to build the object.

You’ve built a huge assortment of polyhedra out of paper. What’s the most complicated polyhedra you built that way, how did you design and build it, and how long did it take?

I am indebted to Magnus Wenninger for this part of my work. I am using his book “Polyhedron Models” in which he details models for building a lot of polyhedra; I just followed his instructions. Building a model takes 2 or 3 weeks (working in the evening only). The most complicated I tried to make was the 14th stellation of the icosahedron, but there are still a lot of models in the book I didn’t build.

One of your projects involves building digital models of Catalan solids using playing cards. What about using cards interested you as compared with (for instance) origami paper? Did you build any of the Catalan solids in real life?

The challenge is different : I generate virtual models (using Povray), varying the space between the cards, their angle, etc… When I like the model, I compute the cuts to be done in the cards, and build a template. The second part of the job is then to assemble the cards. I referred to George Hart’s work on Slide-Togethers.

The work is very different from origami. I am not able to invent origami models (just follow instructions).
Playing cards are a good material, they are at the same time rigid and flexible. Their glossy finish makes it easy to slide them one inside another.

My favorite of your projects is your Dupin cyclide series. I love how you tackle the torus using so many materials, with woven paper, cardboard, and wire versions. What about the cyclide interests you?

Cyclides can be designed using only circles. It is a non-trivial object defined by the most trivial closed curve. These circles can be cardboard disks, 3D printed rings… Working for several years now on cyclides, I have a collections of functions and programs I can manipulate like tools to model new representations.

And when I meet some problem, I can go back to the torus, solve the problem there (it is often easier), and then transform it back to compute the solution on the cyclid. I think also that cyclid are appealing for other people, they are attractive because they seem simple at first sight, then one realizes  that they are not.

Do you have any questions for [Francesco]? Leave them in comments.


Filed under: 3d Printer hacks, Featured, Interviews

Fire Emblem Echoes: Shadows of Valentia review: Hard reboot

Amazon refunding $70M of kids’ unauthorized in-app purchases

Tokyo 42 review: A beautiful isometric action game that misses the mark

Parents lose fight to access dead daughter’s Facebook account

Friday Hack Chat: Audio Systems

Join us this Friday for a Hack Chat on Audio Systems. It’s going down June 2 at noon PDT (handy time zone converter thing).

Every Friday, we gather round the campfire with the best in the business to tease out whatever secrets are stored in their mind. This is the Hack Chat, and this week, we’re going to be talking about audio systems with [Dafydd Roche]. Bring your low-distortion volume knobs and porcelain speaker cable risers, this is going to be a good one.

[Dafydd] got his start in electronics in an application for a music degree. He mentioned he’d built a few guitar pedals, which landed him a call from the electronics department at York University. They told him he was a terrible musician, but that he might excel at electronics.

Many years later he’s still going strong with audio applications with Expat Audio, manufacturers of fine preamps. [Dafydd] is also the Audio Strategic Marketing Manager at Dialog, and spends his days arguing with engineers and doing his best to solve customer problems. [Dafydd] has been on The Amp Hour, and has published articles on audio systems.

For this Hack Chat, we’re going to be running the gamut of audio, electronics, and small business. The questions on audio mythbusting are sure to entertain, and we’ll also be discussing audio signal chains and small business production. Bring your questions and put them on the sheet to guide the discussion.

Here’s How To Take Part:

join-hack-chatOur Hack Chats are live community events on the Hackaday.io Hack Chat group messaging.

Log into Hackaday.io, visit that page, and look for the ‘Join this Project’ Button. Once you’re part of the project, the button will change to ‘Team Messaging’, which takes you directly to the Hack Chat.

You don’t have to wait until Friday; join whenever you want and you can see what the community is talking about


Filed under: Hackaday Columns

Hackers jailbreak permanent mods onto Super Mario World save files

The practice of hacking standard Super Mario World cartridges on stock Super Nintendo hardware has come a long way in a short time. Three years ago, it required a robot entering thousands of button presses per second to insert arbitrary code on top of the game. By last year, streamer SethBling was proving that this kind of code insertion was possible for a human acting with pixel-perfect precision.

Now, SethBling and others in the SMW hacking community have taken things a step further, permanently writing a full hex editor and gameplay mods onto a stock Super Mario World cartridge using nothing but standard controller inputs.

SethBling's ten-minute video explaining the entire "jailbreaking" process is a must-watch for anyone interested in the particulars of perpetually altering a 25-year-old game without any special hardware. In short, the jailbreak builds on an exploit discovered by Cooper Harrsyn that lets players write data directly to the small, 256-byte save files that are permanently stored on the Super Mario World cartridge.

Read 4 remaining paragraphs | Comments

Additive + Subtractive = One Powerful Machine

It says it right on the title of the video below: it was bound to happen eventually. It’s only natural that somebody would stick a 3D printer extruder on the business end of a CNC machine. The long-awaited convergence of additive and subtractive manufacturing is here.

OK, that may be overstating things a bit, but we think [Chris DePrisco] is on to something here. Given the considerable investment he’s made in his DIY CNC machine, an enormous vertical machining center that looks a little like a homebrew Bridgeport, it was a no-brainer to take advantage of the huge XYZ stage. Mounting the Titan Aero extruder to the quill required some custom parts; fair warning that the video below is heavy on machining, but it’s not the seven hours of video he streamed when he milled the heated aluminum bed. Skip ahead to about the six-minute mark if you want to see the first prints and how he optimized the setup.

As we watched [Chris]’ video, we were struck by the potential for adding 3D printing to CNC milling machines. What we’d like to see is a setup where the spindle and the extruder work together to build more complex parts. Or maybe a tool-changing CNC that can pick up a spindle, an extruder, and maybe even a laser or plasma cutter head. Now that would be a powerful machine!

We’ve been here before, almost. With this CNC machine and a 3D printing pen.

[via r/CNC]


Filed under: 3d Printer hacks, cnc hacks

Killer antibiotic now 25,000× more potent—and resistant to drug resistance

Malduino Elite – First Impressions

Carpool Karaoke series rolls into Apple Music on August 8

The MakeShift Challenge: To the Bat Cave!

Can you find your way out of a pitch-black bat cave using only your wits and what's on your back?

Read more on MAKE

The post The MakeShift Challenge: To the Bat Cave! appeared first on Make: DIY Projects and Ideas for Makers.

SpaceX set to join rare company by re-flying an orbital spacecraft

We can now convert every film and TV show from the last 80 years into HDR

Bcom

Researchers at the French research institute Bcom, with the aid of a wunderkind plucked from a nearby university, have developed software that converts existing SDR (standard dynamic range) video into HDR (high dynamic range) video. That is, the software can take almost all of the colour video content produced by humanity over the last 80 years and widen its dynamic range, increasing the brightness, contrast ratio, and number of colours displayed on-screen. I've seen the software in action and interrogated the algorithm, and I'm somewhat surprised to report how good the content looks with an expanded dynamic range.

But garbage in, garbage out, right? You can't magically create more detail (or more colour data) in an image. Well, you canGoogle produced detailed face images from pixelated source images—but philosophically it is no longer the same image. When a film is cropped for TV broadcast, or you receive a blocky low-bitrate stream from Netflix, or Flickr changes the JPEG profile on an uploaded photo... are those the same image as the artist/director/videographer intended? Or are they different?

Read 17 remaining paragraphs | Comments

Review: The Droplit v2 Resin Printer

SeeMeCNC’s DropLit v2 may require a healthy dose of patience and elbow grease, but it offers a low-cost entry point to high-res 3D printing.

Read more on MAKE

The post Review: The Droplit v2 Resin Printer appeared first on Make: DIY Projects and Ideas for Makers.

Android execs get technical talking updates, Project Treble, Linux, and more

Hacking an External Mic Port onto a Camera

A sub-$100 camera competing in the 4K market, the Akaso EK7000 has a few features typical for the range: wifi, 12MP photos at 30 frames per second, and the like. [Foxx D’Gamma] wanted to add an external mic jack to his camera, replacing the internal mic, which featured poor sound pickup due to being buried in the heart of the camera. [Foxx] spent a considerable amount of effort getting the enclosure apart, working gingerly to avoid damaging the display’s ribbon cable, which can’t be disconnected. He also had to deal with the button covers falling out when the case was opened.

[Foxx] desoldered the button mic and added the jack’s wires, and the next challenge presented itself: getting it back together again with the mic port looking good. He had to make sure the jack projected just the right amount from the housing, to ensure the external mic could plug in. Check out both videos below the break.

We’ve featured several cheap camera hacks recently on Hackaday: the ruggedized cheap camera, the cheap 360 degree camera, and the full-spectrum camera all come to mind. It’s a fertile field for not a lot of money!

Thanks, [Corrosive] for the tip.


Filed under: digital cameras hacks

Counterfeit Hardware May Lead To Malware and Failure

Counterfeit parts are becoming increasingly hard to tell the difference from the real deal, the technology used by the counterfeiters has come on leaps and bounds, so even the experts struggle to tell the real product from a good fake. Mere fake branding isn’t the biggest problem with a counterfeit though, as ieee.com reports, counterfeit parts could contain malware or be downright dangerous.

Way back in 2014 the FBI charged [Marc Heera] with selling clones of the Hondata S300, a plugin engine module for Honda cars that reads sensors, and depending on their values can change idle speed, air-fuel mixture and a plethora of other car/engine related settings. What, might you ask, is the problem, except they are obviously not genuine parts? According to Honda they had a number of issues such as random limits on engine rpm and occasionally failure to start. While the fake Hondata S300 parts where just poor clones that looked the part, anything connected to an engine control unit brings up huge safety concerns and researchers have shown that through ECU access, they could hijack a car’s steering and brakes.

It’s not just car parts being cloned, remember the fake USB-to-serial chips of FTDI-Gate? Entire routers are also being cloned, which doesn’t sound too bad until you realise that the cloners could configure your internet traffic to be redirected through their network for snooping. In 2010 Saudi citizen [Ehab Ashoor] was convicted of buying cloned Cisco Systems gigabit interface converters with the intention of selling them to the U.S Dept of Defense. While nothing sinister was afoot in [Ashoor]’s case other than greed, these routers were to be deployed in Iraq for use by the Marine Corps networks. They were then to be used for security, transmitting troop movements and relaying intelligence from field operations back to HQ.

So who are the cloners and why are they doing it? It is speculated that some of them may be state funded, as there are a lot of countries who do not trust American silicon. Circuits are reverse engineered and find their way to the international market. Then just like the FTDI-Gate case, cloners want to make profits from others intellectual property. This also brings up another question, if there is a mistrust of American silicon, nearly everything is made in China these days so why should we trust anything from there? Even analog circuits can be made to spy on you, as you can see from the piece we recently featured on compromising a processor using an analog charge pump. If you want to defend yourself from such attacks, perhaps look at previous Hackaday Prize finalist, ChipWhisperer.


Filed under: hardware, security hacks

Qualcomm, Microsoft announce Snapdragon 835 PCs with gigabit LTE

Nest Cam IQ is a $300 indoor camera with a 6-core processor

Ron Amadeo


Nest is adding a third camera to its lineup, after the Nest Cam and Nest Cam Outdoor. The new Nest Cam IQ occupies a premium spot over the other two, and it is an indoor-only $300 "sort-of 4K" camera.

I say "sort-of 4K" because the Nest Cam IQ does have a 4K (8MP) sensor, but to reduce storage and wireless data needs, it only records in 1080p. The 4K sensor is used for a digital zoom feature, and with a fancy cloud-powered "enhance!" mode, Nest is promising a "12x digital zoom." Zooming happens automatically when the Nest Ca IQ detects a person, at which point the camera will start saving two video streams, one at full crop and one zoomed in. Recording two video streams at once means the IQ is doing a significant amount of on-board processing, which is powered by a surprisingly beefy six-core Qualcomm processor.

Read 5 remaining paragraphs | Comments

Oddly Satisfying – Twist Containers

One of the great strengths of 3D printing is that it makes creating objects with certain geometries much easier than it would be with traditional subtractive machining methods. Things like thin-walled perfect spheres or objects with wild undercuts become trivial to make. A great case in point is these amazing 3D-printed twist vases.

The key concept behind the vases is that the shape of the container itself is the thread that binds the two halves together. [Devin] has built plenty over the years, continually experimenting with the design, making everything from a useful compact trash container to heavily-twisted, more artistic pieces. [Devin] says they’re incredibly satisfying to play with, and we’re inclined to agree – it’s particularly great to watch the higher-tolerance printed vases twist themselves closed under gravity.

Such designs aren’t actually all that new – there’s similar models on Thingiverse stretching all the way back to 2009. The great thing about the Internet as an ecosystem is that not only do many people often reinvent the same idea, they each give it their own unique twist (pun unintended).

Without 3D printing, it would be very difficult to create such vases. The tolerances of 3D printers these days make creating these sort of mating parts possible, though you can actually hear some of the vases making zipping sounds as they close due to the layer roughness. [Devin] takes the time in the video to walk through the process of actually designing a working twist vase, particularly with regards to the geometric parameters required for a successful part.

Files to make the vases are available on MiniFactory, including a trend-riding fidget toy based on the same concept. We’d love to see more projects following this trend, so if you iterate your own designs, be sure to let us know on the tip line. Meanwhile, check out these 3D printed transparent vases.


Filed under: 3d Printer hacks

Supreme Court overturns Lexmark’s patent win on used printer cartridges

Inside a Microswitch

We’ve taken a few microswitches apart, mostly to fix those pesky Logitech mice that develop double-click syndrome, but we’ve never made a video. Luckily, [Julian] did, and it is worth watching if you want to understand the internal mechanism of these components.

[Julian] talks about the way the contacts make and break. He also discusses the mechanical hysteresis inherent in the system because of the metal moving contact having spring-like qualities

We always have trouble holding the little plunger in place, so we liked [Julian’s] idea of holding it in with a spot of putty. If you want to know the reason he was playing with the switches to begin with, look at the second video. His 8-bit breadboard computer uses a switch like this to drive the single-step clock.

We did a detailed look at microswitches a not long ago, so if you want to dig into more details, that’s a good place to start. As for breadboard computers, we like them too.


Filed under: misc hacks, teardown

Renewable energy generation in the US dramatically exceeds 2012 predictions

PS Vita Hacked To Accept Micro SD Instead Of Costly Memory Cards

Sony loves to have control of their own media formats: Beta, DAT, Minidisc, MemoryStick, Universal Media Disc, MemoryStick Micro, and more. When they released the PS Vita they used a format that was similar in shape to SD but not compatible. The higher capacity ones can be quite costly, However [thesixthaxis] Report there is a PS Vista Micro SD hack on the way.

PS Vita hacker [Yifan Lu]’s adapter replaces the 3G modem, allowing end users to plug a MicroSD card in its place.  And this means using standard MicroSD memory cards instead of Sony’s overpriced proprietary memory. This is the coolest PS Vita hack since  PS Vita’s Final Fantasy X.

Sounds like good news all round? Well, there are a few small caveats. In order to use the hack you need a 3G-capable Vita running HENkaku which means running firmware 3.60 or under. The adapter is still in prototype stage, but it’s available from the fully-funded Indiegogo campaign if you’re interested.


Filed under: handhelds hacks, playstation hacks

Tuesday, May 30

Vanishing star hints at direct collapse to black hole

Making a Toolbox from a Single 2×4

A father and daughter build a toolbox out of a single 2x4.

Read more on MAKE

The post Making a Toolbox from a Single 2×4 appeared first on Make: DIY Projects and Ideas for Makers.

Decrypted: American Gods showed us who Wednesday really is

Starz

For the weirdest episode of American Gods so far this season, I was delighted to have on our podcast a guest whose job is to translate Old Norse, the language of the Vikings. Jackson Crawford teaches Old Norse at UC Berkeley and University of Colorado at Boulder, and he explains Norse culture and language delightfully on his YouTube channel. He joined us to discuss some of the myths behind the gods in this show.

Spoilers ahead and in the podcast! Also: my profound apologies for the sound in this episode. There were about a zillion technical problems on my end as I recorded this on the road, and our engineer Jennifer Hahn worked heroically to fix it. But it still sounds kind of echoey in places.

Read 11 remaining paragraphs | Comments

New Shadow Brokers 0-day subscription forces high-risk gamble on whitehats

Uber’s Levandowski gets fired

LTE IMSI Catcher

GSM IMSI catchers preyed on a cryptographic misstep in the GSM protocol. But we have LTE now, why worry? No one has an LTE IMSI catcher, right? Wrong. [Domi] is here with a software-defined base transceiver station that will catch your IMSI faster than you can say “stingray” (YouTube video, embedded below).

First of all, what is an IMSI? IMSI stands for International Mobile Subscriber Identity. If an IMEI (International Mobile Equipment Identity) is your license plate, your IMSI would be your driver’s license. The IMEI is specific to the phone. Your IMSI is used to identify you, allowing phone companies to verify your origin country and mobile network subscription.

Now, with terminology in tow, how does [Domi] steal your IMSI? Four words: Tracking Area Update Request. When a phone on an LTE network received a tracking area request, the LTE protocol mandates that the phone deletes all of its authentication information before it can reconnect to a base station. With authentication out of the way [Domi] spoofs a tower, waits for phones to connect, requests the phone’s IMSI and then rejects the phones authentication request, all under the nose of the phone’s user.

Now, before you don your tinfoil hat, allow us to suggest something more effective. Need more cell phone related hacks? We’ve got your back.


Filed under: Cellphone Hacks

Canceled Halo Chronicles is finally detailed in epic Halo oral history

Hackaday Prize Entry: A Modular Open-Source AV Receiver

Edible Innovations: Joyloop Offers Gluten-Free Options without Sacrificing Flavor

Adam Pollack hopes his company Joyloop will provide gluten-free options that are still delicious and filling.

Read more on MAKE

The post Edible Innovations: Joyloop Offers Gluten-Free Options without Sacrificing Flavor appeared first on Make: DIY Projects and Ideas for Makers.

How to Build Your Own Google AIY without the Kit

Google’s voice assistant has been around for a while now and when Amazon released its Alexa API and ported the PaaS Cloud code to the Raspberry Pi 2 it was just a matter of time before everyone else jumped on the fast train to maker kingdom. Google just did it in style.

Few know that the Google Assistant API for the Raspberry Pi 3 has been out there for some time now but when they decided to give away a free kit with the May 2017 issues of MagPi magazine, they made an impression on everyone. Unfortunately the world has more makers and hackers and the number of copies of the magazine are limited.

In this writeup, I layout the DIY version of the AIY kit for everyone else who wants to talk to a cardboard box. I take a closer look at the free kit, take it apart, put it together and replace it with DIY magic. To make things more convenient, I also designed an enclosure that you can 3D print to complete the kit. Lets get started.

The Teardown

A shout out to my friend [Shabaz] in the UK for sending me a copy of the MagPi. The “Google AIY Projects Voice Kit”(henceforth known as the kit) contains two PCBs and a bunch of other stuff. The Voice HAT which looks like a Sound-Card-On-A-Diet has very limited number of components. I will detail each section and draw the KiCAD schematic for the same one by one

Servos

Starting from the left side, there are 6 sets of 3-pin headers that are labelled ‘Servos’. The intended servo control is made possible using the Raspberry Pi 3’s on-board PWM module. Each set has a GPIO pin, 5V and GND connection. The GPIO pin does not connect directly to the Raspberry Pi 3’s header but rather through 220Ohm current limiting resistors (labelled R1-R6).

Power Supply

 

Just south of these are devices labeled Q5 and Q6 which I am assuming are part of a power supply selection circuit. Correct me if I am wrong but here is my estimate. The working is simple where Q5 only turns ON when the input voltage is greater than the 5V from the USB port. A simple comparator should do so I am using the LM393 for reference.

Communication Interfaces

North of the ‘Servo’ headers is J15 labelled I2C that directly connect to the Raspberry Pi 3 header. That means these should not be connected to anything with 5V pull-ups. They are not being used on the board but we will discuss more on this later. Right next to it is the SPI and 2-pin UART headers. Again these connect directly to the main header and serve only as a breakout.

The DAC and EEPROM

A little lower and we arrive at the boxed circuit with a 16-Pin QFN marked ‘AKK BDQ’. This is the Maxim MAX98357A(PDF) which is an I2S DAC with a class D amplifier. It drives the speaker directly however since there is only one output, it can only be mono or combined stereo. It’s still pretty rocking for the budget.

The interesting thing is the presence of JP6 which seems to have all the I2S connections from the Maxim MAX98357A and a few other select lines. Combined with the two vias that connect to the second speaker output, you could possibly fit another Maxim MAX98357A breakout board on top to get stereo sound. I am going to do the schematic and make it downloadable and if you want to give it a shot let me know the results. Consider it optional homework.

Next to the DAC is an 8-pin SSOP which is a 24C32 (PDF) I2C EEPROM. It’s not connected to the I2C header I talked about earlier but rather to pins 27 and 28 of the Raspberry Pi 3 header. According to the Raspberry Pi Foundation’s blog.

“The EEPROM holds the board manufacturer information, GPIO setup and a thing called a ‘device tree‘ fragment – basically a description of the attached hardware that allows Linux to automatically load the required drivers.”

So its got some extra sauce that makes things tick and I could use a BusPirate to Dump the data but I am not sure if Google considers it Intellectual Property so I won’t. I have an alternative for it as well so read on.

Drivers

Moving towards the right, we find 4 headers marked ‘Drivers’. These are MOSFET circuits for controlling loads such as relays. [Shabaz] did a great job tracing out the components on this one and the 3 pins are GPIO, 5V and Driver.

The MOSFETs can drive loads of up to 500mA each thanks to a polyswitch however the GPIOs are available for use directly as well. Loads to be driven should be connected between the pins marked ‘+’ and ‘-‘. The header pin on the left is a direct access to GPIOs header pins from the Raspberry Pi 3 and the schematic reflects the same.

Use these to connect LEDs or similar devices to indicate the operation of the relays or loads.

Microphone and Button Connectors

More interesting stuff is happening on the right side’s upper right with a push button and two JST connectors. The 4 pin connector is meant for the push button that sits on top of the assembled enclosure. The small PCB mounted push button is wired in parallel with the external switch and can be used in its place while setting up and testing. The 5 pin JST is for the microphone connector and has all the I2S pins.

The Microphones

Lastly, the microphone board is marked 432 QDF21G, and has Knowles SPH0645LM4H MEMs digital microphones that talk I2S directly.

That’s It!

That about wraps up the teardown and all the information required to make your own AIY Kit. The KiCAD schematic files are available for download from GitHub however I leave you with the fun part which is the layout and routing.

Here is some food for thought. Some parts can be omitted and the size of the hat can be shrunk down to the Pi Zero pHat.

For simplicity reasons, I am using the preconfigured OS image from the Google AIY page. It is a tad short of 900MB and can be downloaded directly from Goolge (huge file).

Add A Shutdown Button

You probably noticed the small golden button next to the big green button in the image above and that is the first part of the exercise. It is a shutdown button and is added because I don’t want to SSH to the box every time I want to turn it off safely.

Get the button you want to use and add two wires with female headers. This bit works even without the Voice Hat so feel free to try it out. Next if you have a voice hat, add male headers to the I2C part. You may choose any other pins and it will still work. Connect the button to the SDA or GPIO 2 and boot the Pi 3 up.

Open up your favourite text editor and copy-paste the following code into it.

#!/bin/python
# Simple script for shutting down the raspberry Pi at the press of a button.
# by Inderpreet Singh

import RPi.GPIO as GPIO
import time
import os

# Use the Broadcom SOC Pin numbers
# Setup the Pin with Internal pullups enabled and PIN in reading mode.
GPIO.setmode(GPIO.BCM)
GPIO.setup(02, GPIO.IN, pull_up_down = GPIO.PUD_UP)

# Our function on what to do when the button is pressed
def Shutdown(channel):
    os.system("sudo shutdown -h now")

# Add our function to execute when the button pressed event happens
GPIO.add_event_detect(02, GPIO.FALLING, callback = Shutdown, bouncetime = 2000)

# Now wait!
while 1:
    time.sleep(1)

Save the files in your /home/pi folder as shutdown.py

In a terminal type the following commands

 chmod +x shutdown.py python shutdown.py & 

This should make the script run in the background. If you press the button, the Pi should shutdown immediately. You may choose to add a delay by uncommenting the sleep call in the example code. Alternatively, you may also change the GPIO by replacing the appropriate number in the python script.

Cool! Now we can shutdown by pressing a button.

Add a USB Sound Card

The obvious alternative to the Google AIY Voice Hat is to use any USB Sound Cards that are available from a number of sources. The simplest way is to just plug one in and configure the software to use that instead of the Hat but when there two drivers installed, the python scripts need to be reconfigured to make everything seamless.

Once you plug in the soundcard, the first thing to do is check if it was recognized or not. In the terminal window, type in:

 aplay - l 

‘aplay’ is used by the scripts to speak out the replies so you should be able to see two sound devices. Note that the onboard sound has been disabled from within the config.txt (see device tree reference) and can be enabled if you plan to use a USB microphone instead of the sound card. The windows output should look like the image below.

I would like to set the USB sound card as the default audio, and for that we need to modify the /etc/asound.conf .

sudo nano /etc/asound.conf

Delete the existing content and replace it with text as shown below. Though this sets the default input and output device to the USB device, there is one more step to make things work. (To exit nano, use Ctrl+x, y, return)

Next we edit to audio.py file that handles all the audio playing and recording functionality. For that, open up the file in your favourite text editor; mine is nano:

 sudo nano /home/pi/voice-recognizer-raspi/src/audio.py 

Scroll down to the part that says ‘arecord’ which is in the __init__ function. Apparently there is a dedicated process that keeps the recorder running as I will show in the video. For now, we want to edit the arguments so that it uses the USB Card to capture audio instead of the original Voice Hat. A simple modification to use ‘-D’, ‘sysdefault:CARD=1’ should suffice as shown in the image below.

A similar change is require for the aplay function a little further in the code.

With that, the hack is complete! Double click the ‘test_audio.py’ to check if audio works. We are missing just one part of the puzzle though — the ‘listen’ button! So simply wire a push button between GPIO23 and the adjacent ground pin and then run ‘src/main.py’ to start playing with a DIY Google AIY.

A Demo

A small video demo of the proposed hack with a USB sound card, external speaker and a cheap microphone.

An Enclosure

The 3D printed enclosure is designed in Fusion360 and the STL files are part of the GitHub repository. You can use the same enclosure for a number of projects since there are standoffs for the Raspberry Pi and the ports are brought out for convenience. There is a lot of space inside to add hats and additional circuits.

I made the enclosure split from the middle so that it becomes easy to access the GPIOs. The whole thing will press fit including the top cap which has holes for three buttons. I though it would make sense to have smaller buttons since the result is expected to be tougher than cardboard. There is ample space for the speaker should you choose to include one that is slightly different.

I have not had a chance to print one out and will update this page once there is any progress in the topic. Here is the render of the design.

Summary

Google has already had their APIs open to the public, but the preconfigured Raspbian image will help a lot of people to get started. I have tried to layout the basics of the sound card as well as give out the plans for an equivalent card if you want to make one. For others the option to use an external sound card is explained and demonstrated and I hope it inspires people to really get into such projects. The world needs more AIY and here is your chance to get started, so what are you waiting for? Get hacking.


Filed under: Featured, google hacks, Raspberry Pi, Skills

Andy Rubin’s modular “Essential Phone” has the oddest camera placement ever

Essential

2017 is the year of the slim-bezel smartphone, and the latest to enter the fray is Andy Rubin's "Essential" smartphone startup. Today the company announced the "Essential Phone," a flagship Snapdragon 835 device headed to the US for $699.

You certainly can't accuse the Essential Phone of being boring. It has possibly the strangest implementation of a front-facing camera we've ever seen; the device is made of ceramic and titanium; there's a magnetic modular connector on the back; and there isn't a single logo on the entire device.

Read 11 remaining paragraphs | Comments