Syndicate content Hackaday
Fresh hacks every day
ถูกปรับปรุง 1 ชั่วโมง 22 min ก่อน

A Robot Arm for Virtual Beer Pong

2 hours 38 minก่อน

Leave it to engineering students to redefine partying. [Hyun], [Justin], and [Daniel] have done exactly that for their final project by building a virtually-controlled robotic arm that plays beer pong.

There are two main parts to this build: a sleeve worn by the user, and the robotic arm itself. The sleeve has IMUs at the elbow and wrist and a PIC32 that calculates their respective angles. The sleeve sends angle data to a second PIC32 where it is translated it into PWM signals and sent to the arm.

There’s a pressure sensor wired sleeve-side that’s worn between forefinger and thumb and functions as a release mechanism. You don’t actually have to fling your forearm forward to get the robot to throw, but you can if you want to. The arm itself is built from three micro servos and mounted for stability. The spoon was a compromise. They tried for a while to mimic fingers, but didn’t have enough time to implement grasping and releasing on top of everything else.

Initially, the team wanted wireless communication between the sleeve and the arm. They got it to work with a pair of XBees, but found that RF was only good for short periods of use. Communication is much smoother over UART, which you can see in the video below.

You don’t have to have a machine shop or even a 3-D printer to build a robot arm. Here’s another bot made from scrap wood whose sole purpose is to dunk tea bags.

Filed under: Beer Hacks, Microcontrollers, Robots Hacks

Brute Forcing Passwords with a 3D Printer

4 hours 7 minก่อน

Many of us use a 4 digit pin code to lock our phones. [David Randolph] over at Hak5 has come up a simple way to use a 3D printer to brute force these passwords. Just about every 3D printer out there speaks the same language, G-code. The same language used in CAD and CNC machines for decades.

[David] placed a numeric keypad on the bed of his printer. He then mapped out the height and positions of each key. Once he knew the absolute positions of the keys, it was easy to tell the printer to move to a key, then press and release. He even created a G-code file which would press every one of the 10,000 4 key pin combinations.

A file this large was a bit unwieldy though, so [David] also created a python script which will do the same thing — outputting the G-code and coordinates to brute force any 4 pin keypad. While a printer is quite a bit slower than Hak5’s own USB Rubber Ducky device (which acts as an automated keyboard), it will successfully brute force a password. Although most phones these days do limit the number of password attempts a user gets.

[David] admits this is probably useless in a clandestine/hacking application, but the video is still a great introduction to G-code and using 3D printers for non-printing functions.

Interested in pushing 3D printers to print more than just plastic? You can always print chocolate.

Filed under: 3d Printer hacks

Thermistors and 3D Printing

5 hours 37 minก่อน

I always find it interesting that 3D printers — at least the kind most of us have — are mostly open-loop devices. You tell the head to move four millimeters in the X direction and you assume that the stepper motors will make it so. Because of the mechanics, you can calculate that four millimeters is so many steps and direct the motor to take them. If something prevents that amount of travel you get a failed print. But there is one part of the printer that is part of a closed loop. It is very tiny, very important, but you don’t hear a whole lot about it. The thermistor.

The hot end and the heated bed will both have a temperature sensor that the firmware uses to keep temperatures at least in the ballpark. Depending on the controller it might just do on-and-off “bang-bang” control or it might do something as sophisticated as PID control. But either way, you set the desired temperature and the controller uses feedback from the thermistor to try to keep it there.

If you print with high-temperature materials you might have a thermocouple in your hot end, but most machines use a thermistor. These are usually good to about 300 °C. What got me thinking about this was the installation of an E3D V6 clone hot end into my oldest printer which had a five-year-old hot end in it. I had accumulated a variety of clone parts and had no idea what kind of thermistor was in the heat block I was using.

Does it Matter?

When you build the firmware for your printer, you get to tell it what thermistor you are using. There are a few printers that can switch the thermistor type at runtime and — of course — you could just adjust your temperature settings to account for any error if you knew what they were. You usually use a negative temperature coefficient (NTC) device where the resistance goes down as the temperature goes up. But exactly what resistance corresponds to what temperature depends on the device.

So for my upgrade, the old hot end had a thermistor in it that — I think — was made by Honeywell that the firmware knew about. The new hot end was a total unknown. Most (but not all) common thermistors you’ll use in a printer read 100 kΩ at room temperature and that was true of both of these, as well. I wanted to understand how much off my temperatures would be if I picked up the wrong conversion. Surprisingly, while there was plenty of information about how to read a thermistor, I had not seen much data about error from using an incorrect temperature curve, so I decided to take matters into my own hands.

But First

First, it might be worth to think about what really happens in a typical 3D printer’s temperature sensor. Sure, the thermistor changes value, but what then? Most controllers will have a resistor divider with a fixed resistor and the thermistor and then use an A/D to read the voltage.

You don’t want to pass too much current through the thermistor because that current causes some heating and is a source of error. A typical printer will use a 4.7 kΩ resistor at 5 V to excite the thermistor and read the resulting voltage. Suppose the thermistor is at 500 Ω. The voltage across the thermistor will be 5 * (500/(4700+500)) or about a half volt.

I mentioned that most thermistors you’ll find in a printer read 100 kΩ at room temperature. You might think 500 Ω seems kind of low. In fact, as the device gets hot, the resistance rapidly falls off. A 500 Ω resistance corresponds to around 190 °C in a typical 100 kΩ thermistor.

The microcontroller running the printer has to do the opposite math. That is, it will take the equation above and solve for the resistance. In other words: 0.5 = 5 * (R/4700+500) so solve for R. The problem is you don’t want to set your filament temperature in ohms! You want to use degrees.

The best way to compute temperature from a thermistor reading is the Steinhart-Hart model. This requires three parameters and a little number crunching. However, most 3D printer software uses a simplification that uses just the second parameter, or beta, of the thermistor.

Rather than give you the formula, I’ll point you to this spreadsheet. Column A has some resistance values and the other columns have different beta values and show temperatures in degrees C. If you really want to dig into the math and other applications, check out [Peter Vree’s] video, below.

Big Difference?

Armed with that spreadsheet, it is pretty easy to figure out how big a deal it is to be out of tune with your thermistor. Of course, you’d like to have the right value, but in the case of a generic thermistor, how big of a deal is it?

My methodology was simple. I went to Digikey and searched for thermistors. I used their filters to only look at 100 kΩ NTC devices that could read at least 300 °C and specified a beta at 100 °C. The beta values ranged from 3988 to 4280 and based on price and quantities, the real range was even less spread than that. For example, Digikey only had about 180 of the device with a beta of 4280. Not very scientific, I’ll admit, but it did give me a range of beta values you might expect to find “in the wild.”

If you note on the spreadsheet (and the graph below), there’s not a lot of temperature difference at the typical range you’ll print plastics like PLA, ABS, and PETG. Of course, you could get unlucky. If you do have that bottom-most curve, the temperature is a good bit off for that one. Or maybe you have a one of a kind thermistor that has some wacky value that will be way off. But statistically, you’d think you are going to be in the ballpark even if you can’t change the thermistor table. Now, if either thermistor has a different room-temperature resistance, all bets are off. But most of the 3D printers I’ve seen do use 100 kΩ sensors.

The Result

Although it shouldn’t make much difference, I did make an educated guess based on some heuristics and changed the thermistor type. I thought about trying to set a precise temperature on the thermistor to get a few more data points but decided it wasn’t worth breaking out the sous vide cooker.

After all, every printer is a little different and the temperature the plastic sees probably isn’t the thermistor temperature anyway, so there’s always a little “dialing in” required to determine what temperature your printer needs for a particular job. A difference of five or even ten degrees, then, will be in the noise. You’ll find out your PLA is too runny at 210 °C and drop the temperature to 190 °C. Or perhaps ABS is causing extruder skips and you’ll goose the temperature up a few degrees. You are going to have to do across different brands, or colors, of filament anyway.

At the end, though, I got great results. Who knew that what might be the tiniest part of a 3D printer could be so important? If you look carefully in the photo to the right, there are two thin Teflon-coated wires coming out of the heat block. That’s the thermistor, whatever brand and model number it is.

Thermistors, of course, have lots of other uses. They can be used to limit inrush current, provide temperature-stable bias, and — of course — sense temperature in many different situations. For example, they can be the heart of a very minimalist soldering iron controller.

Filed under: 3d Printer hacks, Hackaday Columns, Original Art

Design a Microcontroller With Security In Mind

ศุกร์, 12/15/2017 - 23:30

There are many parts to building a secure networked device, and the entire industry is still learning how to do it right. Resources are especially constrained for low-cost microcontroller devices. Would it be easier to build more secure devices if microcontrollers had security hardware built-in? That is the investigation of Project Sopris by Microsoft Research.

The researchers customized the MediaTek MT7687, a chip roughly comparable to the hacker darling ESP32. The most significant addition was a security subsystem. It performs tasks notoriously difficult to do correctly in software, such as random number generation and security key storage. It forms the core of what they called the “hardware-based secure root of trust.”

Doing these tasks in a security-specific module solves many problems. If a key is not stored in memory, a memory dump can’t compromise what isn’t there. Performing encryption/decryption in task-specific hardware makes it more difficult to execute successful side-channel attacks against them. Keeping things small keeps the cost down and also eases verifying correctness of the code.

But the security module can also be viewed from a less-favorable perspective. Its description resembles a scaled-down version of the Trusted Platform Module. As a self-contained module running its own code, it resembles the Intel Management Engine, which is currently under close scrutiny.

Will we welcome Project Sopris as a time-saving toolkit for building secure networked devices? Or will we become suspicious of hidden vulnerabilities? The researchers could open-source their work to ease these concerns, but value of their work will ultimately depend on the fast-moving field of networked device security.

Do you know of other efforts to add hardware-assisted security to microcontrollers? Comment below or let us know via the tip line!

[via Wired]

Image of Mount Sopris, namesake of the project, by [Hogs555] (CC-BY 4.0)


Filed under: Microcontrollers

Hardware Heroes: Isambard Kingdom Brunel

ศุกร์, 12/15/2017 - 22:01

There are some notable figures in history that you know of for just one single thing. They may have achieved much in their lifetimes or they may have only been famous for Andy Warhol’s fifteen minutes, but through the lens of time we only know them for that single achievement. Then on the other hand there are those historic figures for whom there is such a choice of their achievements that have stood the test of time, that it is difficult to characterize them by a single one.

Isambard Kingdom Brunel, in front of the launching chains for the Great Eastern. [Public domain]Such is the case of Isambard Kingdom Brunel, the subject of today’s Hardware Heroes piece. Do we remember him for his involvement in the first successful tunnel to pass beneath a river, as a builder of some of the most impressive bridges on the 19th century, the innovator in all aspects of rail engineering, the man behind the first screw-driven ocean-going iron ship, or do we remember him as all of those and more?

It is possible that if you are not British, or in particular you are not from the West of England, this is the first you’ve heard of Brunel. In which case he is best described as a towering figure of many aspects of engineering over the middle years of the 19th century. His influence extended from civil engineering through the then-emerging rail industry, to shipbuilding and more, and his legacy lives on today in that many of his works are still with us.

Engineering: The Family Trade

Brunel’s father, Marc Brunel, was an engineer and refugee from the French Revolution who found success in providing the British Navy with a mass-production system for wooden pulley blocks as used in the rigging of sailing ships. He enters this story for his grand project, the world’s first tunnel to be dug under a navigable river, beneath London’s River Thames from Rotherhithe to Wapping, and for his patented tunneling shield which made it possible to be dug.

It’s easy to spot that it’s the Brunel Museum.The Thames at Rotherhithe flows over soft ground, and this caused significant problems for the project including a breach, flooding, and recovery. Brunel was his father’s on-site manager after the departure of the first incumbent due to overwork, and continued in the role until the tunnel’s eventual completion, hugely over time and budget, in 1843. The tunnel remains in use today by the London Overground railway, and its two vertical construction shafts have survived. The southern shaft  and its associated engine house are now in use as the Brunel Museum, and we took a trip there on a chilly November morning.

Visiting the Brunel Museum

The museum is not a large one, and has a primary focus on Brunel himself and the tunnel in particular. Its exhibition and video presentation are informative, but not necessarily enough to detain the visitor for too long. The reason you should visit it lies a short walk from the engine house; visitors can descend into the construction shaft itself for a tantalising glimpse at a remnant of Victorian London.

It appears that the shaft leads a double life as an event venue, being we would guess comfortably large enough to place a London bus inside it. So entry is down a modern staircase and there is some modern seating, but once you ignore those you can see some of the original features. The floor is a later addition placed above the train tracks, so periodically you can hear the London Overground beneath your feet, meanwhile the walls are the grimy Victorian brick of the shaft lining. This was laid at ground level as it descended under its own weight while the shaft was dug, and still bears the clearly visible imprint of the original 1840s double staircases that carried the foot passengers who first used the tunnel.

It’s odd, this is on one hand a grimy and relatively featureless place, yet as an engineer it’s simultaneously hallowed ground. The Brunels — both father and son — made this happen alongside the hard work of many nameless Victorian labourers. From this achievement came all the other achievements of Victorian civil engineering from Brunel and those who followed him in the Great Western Railway and his other ventures. If engineering had cathedrals, this might be one of them.

This photograph (taken in low light and edited) does not do justice to the tunnel construction shaft as a space.

A visit to the museum is not complete without a quick run over the road to survey the riverscape, followed by a short walk to Rotherhithe station for a trip through the tunnel itself. To be fair, other than knowing you’re in Brunel’s tunnel it’s just like any other Tube journey, however it is rumoured that when special trains are laid on for enthusiasts they turn off the train lights and leave on the tunnel lighting, allowing passengers to see some of the surviving original brickwork.

Brunel the Railroad Builder

A modern Brunel statue at the GWR Paddington terminus.The tunnel may have been Brunel’s signature early work, but it is not the achievement he is most remembered for. If we were to ask a typical person in the street about him, particularly if they lived in the West of England, we’d be greeted with the instant answer: the Great Western Railway. This was the transport empire that spread westwards from London, initially to Bristol, but then further west to cover the entire West of England and Wales. Brunel was the chief engineer who laid out and surveyed its route, was responsible for its principal structures, and decided its engineering principles including its unique 7’0.25″ broad gauge.

The GWR became such an integral part of that region of the country that it stamped its culture and by extension Brunel’s presence across it. Today his name can be seen in pub signs, street signs, a university and a shopping centre, and the modern-day train operating company. Those passenger trains now cover the area with the renamed moniker GWR and the company is busy adopting the signature green livery of its ancestor.

A Trio of Bridges: Masterpieces All

It is difficult to conceive in an age when highway bridges are prefabricated and assembled in days, just how much of an achievement a single bridge could be. In Brunel’s case there are three of the many bridges he designed that stand out as engineering masterpieces, his brick arches over the Thames at Maidenhead, his twin-span Royal Albert Bridge over the Tamar at Saltash, and the Clifton Suspension Bridge over the Avon gorge just outside Bristol.

The Royal Albert Bridge, Saltash. [by: Geof Sheppard CC BY-SA 3.0]The Maidenhead bridge carries the GWR main line over the Thames, with two arches meeting at a central pier on one of the river’s islands. It is exceptional because both arches take the shape of an extremely low and wide ellipse, which in 1839 upon it opening were the widest and flattest brick arches in the world. Even today when standing under the arch it is a particularly graceful structure. Famously the GWR board were concerned that Brunel had pushed the technology of brick arches too far, so he left the wooden construction supports in place for its first winter until the river’s floods carried them away. 178 years later it still carries all the trains heading for the West of England.

The Saltash bridge carries the GWR main line to Cornwall, in the extreme south west of the country, at high level over the River Tamar. To maintain navigability for sailing ships, it takes the form of two 455-foot wrought iron trusses 100 feet above the water. Each of the trusses contains a pair of ellipses from which the track bed is suspended, giving the bridge its distinctive appearance.

The Clifton Suspension Bridge. [Gothick CC BY-SA 3.0]The Clifton bridge bears Brunel’s name, but as a memorial to him from the civil engineers who completed it after his death. Brunel had completed the stone towers, but the project had foundered for lack of funds in the 1830s. After Brunel’s death it was completed using chains from an earlier Brunel design that had been demolished, and finally opened in 1864. With its spectacular position over a deep gorge it remains one of the most famous views of a suspension bridge in the world, and though today it carries a fairly minor road it is well worth a visit.

Ship Building? Why Not!

The logical extension of a transport network built to serve Western British ports was to establish a shipping line, and Brunel brought his engineering expertise to the design of a series of ships for the Great Western Steamship Company. The Great Western of 1838 was a wooden-hulled paddle steamer, but the ship that followed it, the Great Britain of 1843, was the world’s first iron-hulled screw-driven steamship. As such it was the direct ancestor of all modern shipping, at a time when much of the world’s ocean-going transport still relied on sail power. Astoundingly it survived, eventually being retrieved as a hulk from the Falkland Islands in 1970 and returned to Bristol for restoration and display as a museum ship.

A contemporary picture on the Great Eastern at sea. [Public domain]Brunel’s final maritime design was the 1859 Great Eastern, featuring both screw and paddle wheels as an extreme long-distance ship for the journeys from Britain to India and Australia. The famous photograph of him standing in front of an immense reel of chain is taken at its construction, they are part of its launch chains. The Great Eastern was the largest ship ever built at the time, and would not be surpassed in either size or tonnage until the years surrounding the turn of the 20th century. Upon completion its launch was unsuccessful, and it lay for a few months while a series of hydraulic rams were assembled to force it sideways into the River Thames. Its first sea trial in early September 1859 was marred by a steam explosion, which blew a substantial hole in its deck and toppled one of its funnels into the English Channel.

The pressure of the Great Eastern project had its effect on Brunel’s health, and following the Great Eastern explosion he suffered a stroke and died a few days later on the 15th of September 1859. He is buried in a rather unassuming family plot in Kensal Green Cemetery, London.

The Fails Only Make You Stronger

The projects we’ve described so far in this piece are only the larger and better known among Brunel’s work. Perhaps one day we’ll devote an entire article to his disastrous experiment with an atmospheric railway for instance, or his success with a prefabricated military hospital for the British involvement in the Crimean War. Even our talking about bridges has omitted many interesting structures, his timber viaducts, or the intersection of a canal, road, and railway bridge in a London suburb. To be an engineer like Brunel in the 19th century was to be a polymath, and this is why he’s an obvious choice for a Heroes piece.

Brunel’s memorial on the Embankment.Going back to our journey across London, there are many different possible routes over the London Transport network from the tunnel museum at Rotherhithe to the Great Western Railway terminus at Paddington, but we took one of the less obvious ones to take in one last Brunel site. A couple of stops down the line to Whitechapel and a switch to the District line (green on the Tube map), and a trundle along the Embankment to Temple station where we find after a short walk his memorial statue. It’s a modest structure though clean and not neglected, his bronze stands on a plinth looking down at a pedestrian crossing as the taxis thunder past. Pedestrians barely give it a second glance, as the Embankment is home to a large number of statues of notable people. But then you might ask yourself, why should they? This is Brunel’s monument, but it’s not the monument that matters. Every time you board an express train, every time we use a product that has been transported by rail or ship, and every journey through a tunnel under water, those are his monuments. Stand by a piece of Brunel’s work, if you want to see his real commemoration. Most of it has survived for a century and a half, how many of today’s engineers will be able to say that!

[Source for main image: Royal Museums Greenwich]

Filed under: Featured, History, Slider

Modernizing Puerto Rico’s Grid

ศุกร์, 12/15/2017 - 19:00

After two massive hurricanes impacted Puerto Rico three months ago, the island was left with extensive damage to its electrical infrastructure. Part of the problem was that the infrastructure was woefully inadequate to withstand a hurricane impact at all. It is possible to harden buildings and infrastructure against extreme weather, and a new plan to restore Puerto Rico’s power grid will address many of these changes that, frankly, should have been made long ago.

Among the upgrades to the power distribution system are improvements to SCADA systems. SCADA allows for remote monitoring and control of substations, switchgear, and other equipment which minimizes the need for crews to investigate problems and improves reliability. SCADA can also be used for automation on a large scale, in addition to the installation of other autonomous equipment meant to isolate faults and restore power quickly. The grid will get physical upgrades as well, including equipment like poles, wire, and substations that are designed and installed to a more rigorous standard in order to make them more wind- and flood-tolerant. Additional infrastructure will be placed underground as well, and a more aggressive tree trimming program will be put in place.

The plan also calls for some 21st-century improvements as well, including the implementation of “micro grids”. These micro grids reduce the power system’s reliance on centralized power plants by placing small generation facilities (generators, rooftop solar, etc) in critical areas, like at hospitals. Micro grids can also be used in remote areas to improve reliability where it is often impractical or uneconomical to service.

While hurricanes are inevitable in certain parts of the world, the damage that they cause is often exacerbated by poor design and bad planning. Especially in the mysterious world of power generation and distribution, a robust infrastructure is extremely important for the health, safety, and well-being of the people who rely on it. Hopefully these steps will improve Puerto Rico’s situation, especially since this won’t be the last time a major storm impacts the island.

Filed under: Repair Hacks

Retractable Console Allows Wheelchair User to Get up Close and Personal

ศุกร์, 12/15/2017 - 16:00

[Rhonda] has multiple sclerosis (MS), a disease that limits her ability to walk and use her arms. She and the other residents of The Boston Home, an extended care facility for people with MS and other neuromuscular diseases, rely on their wheelchairs for mobility. [Rhonda]’s chair comes with a control console that swings out of the way to allow her to come up close to tables and counters, but she has problems applying enough force to manually position it.

Sadly, [Rhonda]’s insurance doesn’t cover a commercial solution to her problem. But The Boston Home has a fully equipped shop to extend and enhance residents’ wheelchairs, and they got together with students from MIT’s Principles and Practices of Assistive Technology (PPAT) course to hack a solution that’s not only useful for [Rhonda] but should be generally applicable to other chairs. The students analyzed the problem, measured the forces needed and the clearances required, and built a prototype pantograph mount for the control console. They’ve made the device simple to replicate and kept the BOM as inexpensive as possible since patients are often out-of-pocket for enhancements like these. The video below shows a little about the problem and the solution.

Wheelchair hacks are pretty common, like the 2015 Hackaday Prize-winning Eyedrivomatic. We’ve also covered totally open-source wheelchairs, both manual and electric.

Filed under: Medical Hacks

Dumb Coffee Grinder Gets Smarter with Time

ศุกร์, 12/15/2017 - 13:00

[Forklift] has a Rancilio Rocky, a prosumer-level coffee grinder that’s been a popular mainstay for the last few decades. It’s a simple machine with a direct-drive motor. Rocky has one job, and it will do that job in one of 55 slightly different ways as long as someone is pushing the grind button. What Rocky doesn’t have is any kind of metering technology. There’s no way to govern the grind length, so repeatable results rely on visual estimates and/or an external clock. Well, there wasn’t until [Forklift] designed a programmable timer from the ground up.

The timer interface is simple—there’s a D-pad of buttons for navigation through the OLED screen, and one button to start the grind. The left and right buttons move through four programmable presets that get stored in the EEPROM of the timer’s bare ATMega328P brain. Grind duration can be adjusted with the up/down buttons.

We like that [Forklift] chose to power it by piggybacking on the 240VAC going to the grinder. The cord through the existing grommet and connects with spade terminals, so there are no permanent modifications to the grinder. Everything about this project is open source, including the files for the 7-segment font [Forklift] designed.

Tea aficionados may argue that creating their potion is the more time sensitive endeavor. We’ve got you covered there. Only question is, one button or two?

Filed under: Microcontrollers

Putting Wind in VR by Watching the Audio Signal

ศุกร์, 12/15/2017 - 10:00

A simple way to integrate physical feedback into a virtual experience is to use a fan to blow air at the user. This idea has been done before, and the fans are usually the easy part. [Paige Pruitt] and [Sean Spielberg] put a twist on things in their (now-canceled) Kickstarter campaign called ZephVR, which featured two small fans mounted onto a VR headset. The bulk of their work was in the software, which watches the audio signal for recognizable “wind” sounds, and uses those to turn on one or both fans in response.

The benefit of using software to trigger fans based on audio cues is that the whole system works independently of everything else, with no need for developers and software to build in support for your project, or to use other middleware. Unfortunately the downside is that the results are only as good as the ability of software to pick the right sounds and act on them. Embedded below is a short video showing a test in action.


On the left is a debug console, on which red indicates low or no wind and green is a lot of wind. Fans are mounted to the top of the monitor so the responses are visible. It’s not much of a demo, but it’s enough to see the idea in action with fans responding individually to objects passing nearby on the left or right.

[Sean] and [Paige] canceled their campaign despite hitting the funding goal, it seems they decided to change direction and focus on creating a robust software API instead of delving into hardware production. In the meantime, they shared the design files for their prototype hardware. Hopefully some software for people to experiment with will follow suit.

Augmenting virtual experiences with fans is nothing new, but interfacing to the application doesn’t always have to be a challenge. The Superfan project for example discovered that many racing and simulator games already have motion and feedback data that can be accessed and used by custom hardware — as long as one has the right software tools, anyway.

Filed under: Virtual Reality

Reverse Engineering the Nintendo Wavebird

ศุกร์, 12/15/2017 - 07:00

Readers who were firmly on Team Nintendo in the early 2000’s or so can tell you that there was no accessory cooler for the Nintendo GameCube than the WaveBird. Previous attempts at wireless game controllers had generally either been sketchy third-party accessories or based around IR, and in both cases the end result was that the thing barely worked. The WaveBird on the other hand was not only an official product by Nintendo, but used 2.4 GHz to communicate with the system. Some concessions had to be made with the WaveBird; it lacked rumble, was a bit heavier than the stock controllers, and required a receiver “dongle”, but on the whole the WaveBird represented the shape of things to come for game controllers.

Finding the center frequency for the WaveBird

Given the immense popularity of the WaveBird, [Sam Edwards] was somewhat surprised to find very little information on how the controller actually worked. Looking for a project he could use his HackRF on, [Sam] decided to see if he could figure out how his beloved WaveBird communicated with the GameCube. This moment of curiosity on his part spawned an awesome 8 part series of guides that show the step by step process he used to unlock the wireless protocol of this venerable controller.

Even if you’ve never seen a GameCube or its somewhat pudgy wireless controller, you’re going to want to read though the incredible amount of information [Sam] has compiled in his GitHub repository for this project.

Starting with defining what a signal is to begin with, [Sam] walks the reader though Fourier transforms, the different types of modulations, decoding packets, and making sense of error correction. In the end, [Sam] presents a final summation of the wireless protocol, as well as a simple Python tool that let’s the HackRF impersonate a WaveBird and send button presses and stick inputs to an unmodified GameCube.

This amount of work is usually reserved for those looking to create their own controllers from the ground up, so we appreciate the effort [Sam] has gone through to come up with something that can be used on stock hardware. His research could have very interesting applications in the world of “tool-assisted speedruns” or even automating mindless stat-grinding.

Filed under: classic hacks, Nintendo Hacks, Wireless Hacks

Hacking an AUX Port for a Google Home Mini

ศุกร์, 12/15/2017 - 04:00

Even if you don’t want to add an AUX audio output port to your Google Home Mini, you’ll still want to see a pair of videos from [SnekTek]. After all, you’ll eventually want to open it up, and putting it over some boiling water might not have been your first idea. You can see both videos, below.

However, he did want to add an AUX port. The biggest challenge was finding a place to put the connector. Even after identifying a likely spot, a bolt interfered with the case closing and so he removed it. The one bolt didn’t seem to bother the final result.

Electrically, he found that to keep the AUX out to about 1V, he needed a reduction in voltage. Two small resistors put right in the speaker line took care of that. Although, be sure to watch the second video if you plan to recreate this hack since the value of the resistors changed.

Truthfully, the AUX jack part isn’t nearly as interesting as opening the thing up, although we have to admit, we wouldn’t mind putting a BlueTooth adapter in that plug to stream to a big speaker that isn’t cast-enabled. However, we have noticed it is getting harder and harder to break into consumer electronics, and you never know when you’ll need to get into one of these to hack, repair, or cannibalize.

With the cheaper mini version of the Google smart device, we expect to see more hacks for it. We’ve seen some creative mash ups and, of course, you can always roll your own hardware.

Filed under: google hacks

This Coin Cell Can Move That Train!

ศุกร์, 12/15/2017 - 02:30

[Mike Rigsby] has moved a train with a coin cell. A CR2477 cell to be exact, which is to say one of the slightly more chunky examples, and the train in question isn’t the full size variety but a model railroad surrounding a Christmas tree, but nevertheless, the train moved.

A coin cell on its own will not move a model locomotive designed to run on twelve volts. So [Mark] used a boost converter to turn three volts into twelve. The coin cell has a high internal resistance, though, so first the coin cell was discharged into a couple of supercapacitors which would feed the boost converter. As his supercaps were charging, he meticulously logged the voltage over time, and found that the first one took 18 hours to charge while the second required 51 hours.

This is important and useful data for entrants to our Coin Cell Challenge, several of whom are also going for a supercap approach to provide a one-off power boost. We suspect though that he might have drawn a little more from the cell, had he selected a dedicated supercap charger circuit.

Coin Cell Challenge   Build something cool powered
by a coin cell, win prizes!


Filed under: Toy Hacks

Using Gmail with OAUTH2 in Linux and on an ESP8266

ศุกร์, 12/15/2017 - 01:00

One of the tasks I dread is configuring a web server to send email correctly via Gmail. The simplest way of sending emails is SMTP, and there are a number of scripts out there that provide a simple method to send mail that way with a minimum of configuration. There’s even PHP mail(), although it’s less than reliable.

Out of the box, Gmail requires OAUTH2 for authentication and to share user data, which has the major advantage of not requiring that you store your username and password in the application that requires access to your account. While they have an ‘allow less secure apps’ option that allows SMTP access for legacy products like Microsoft Outlook, it just doesn’t seem like the right way forward. Google documents how to interact with their API with OAUTH2, so why not just use that instead of putting my username and password in plaintext in a bunch of prototypes and test scripts?

Those are the thoughts that run through my head every time this comes up for a project, and each time I’ve somehow forgotten the steps to do it, also forgotten to write it down, and end up wasting quite a bit of time due to my own foolishness. As penance, I’ve decided to document the process and share it with all of you, and then also make it work on an ESP8266 board running the Arduino development environment.

Before we continue, now would be a good time for a non-technical refresher on how OAUTH works. The main differences between OAUTH and OAUTH2 are that the latter requires HTTPS, and the access tokens that allow an application to use specific services in a user account have an expiry.

To use Gmail with OAUTH2, we will need to start with five things: An application registered in the Google APIs, its client ID and client secret, a computer running LAMP (a by-the-hour VPS works just fine here), and a domain name that points to it.

Registering an application with Google API is easy. Go to the Google API console, log in, create a new project, and enter it. Enable the Gmail API; it should be suggested on the front page.

With the project created and the Gmail API enabled, the dashboard should look something like this

Then click on ‘credentials’ on the sidebar, create credentials, and finally ‘create OAUTH Client ID’. Before you can continue, you need to create a consent screen. The only entry you really need to fill out at this time is ‘Product Name Shown to Users’.

After saving that form, select ‘Web Application’ as your application type. Note the field called ‘Authorized redirect URIs’, we’ll return to it later. It’s important that it be correctly set for us to be able to receive a refresh token later on in this process.

For now, just press ‘Create’. A pop-up will display containing your Client ID and Client secret. You’ll need them soon, so best to copy/paste them into a local file on your computer for now.

Next, we will use those two pieces of data to request an access token and refresh token. We may as well accomplish two things at the same time here by installing the popular PHP email sender called PHPMailer on our web server. It includes a tool to request an OAUTH2 access/refresh token as well as being easily capable of sending a quick test email. To install it, we’ll use the Composer PHP dependency management tool:

$sudo apt-get install composer

Then we should navigate to our web-accessible directory, in my case /var/www/html, and install a few PHP scripts. Note that this should not be done as root, so create another user if needed and give them access to the directory:

$composer require phpmailer/phpmailer $composer require league/oauth2-client $composer require league/oauth2-google

Now enter the directory vendor/phpmailer/phpmailer. There will be a script called get_oauth_token.php. Move this script up three directories into the directory you just ran the ‘composer’ commands from. The location of this script as seen from the web needs to be entered into the ‘Authorized redirect URIs’ field of the Google API that we saw earlier. In this case it would have been https://mydomain.com/get_oauth_token.php. Public IP addresses will not work, this is why a domain name pointed to your web server is a requirement.

Now, open get_oauth_token.php in a text editor and paste in your Client ID and Client Secret where needed. Don’t try to run the script locally, it will fail. Open up a web browser on any computer, and navigate to the URL you entered as the ‘Authorized redirect URI’. Then select Google from the list of email services – at this point if it worked you will be asked to log in and then authorize the unverified application, under ‘Advanced’ under the warning prompt, at which point you will finally receive a refresh token. If you only want an access token for some reason you’ll have to edit the script to echo it back.

If that didn’t work, there are two common reasons: a wrong redirect URI or the script cannot find its dependencies. In the former case, the error message from Google will tell you the script URL as it sees it, and you can use that information to update the redirect URI in the Google API Console to fix the issue. For the latter, check your apache error log, probably located in /var/log/apache2/error.log, to see what dependency is not being found. You might see something like this:

PHP Warning: require(vendor/autoload.php): failed to open stream: No such file or directory in /var/www/html/mydomain/get_oauth_token.php on line 59, referer: http://mydomain.com/get_oauth_token.php

If you have received your refresh token, congratulations: the painful part is over. You can just go to the PHPMailer Github page and fill out their OAUTH2 example (gmail_xoauth.phps), and it ought to just work. If all you needed to do is send mail from a project on your VPS, you’re more or less ready to move on to more interesting parts of your project:

$email = 'someone@gmail.com'; $clientId = 'RANDOMCHARS-----duv1n2.apps.googleusercontent.com'; $clientSecret = 'RANDOMCHARS-----lGyjPcRtvP'; //Obtained by configuring and running get_oauth_token.php //after setting up an app in Google Developer Console. $refreshToken = 'RANDOMCHARS-----DWxgOvPT003r-yFUV49TQYag7_Aod7y0';

Remember to clean up any unnecessary scripts that contain your refresh token and other sensitive data before continuing.

ESP8266: We Don’t Need No Stinking Servers

Now what if we wanted to use these tokens to send email directly from project on a Raspberry Pi without needing a server in the middle? It turns out that once we have the client ID, client secret, and refresh token, we no longer require the server and domain name we’ve been using so far, and a mail-sending application, e.g. PHPMailer, can be installed on a computer anywhere with Internet access as long as it is configured with those values.

Things get a little more complicated when we try to do this on an ESP8266. OAUTH2 requires that we use SSL, and access tokens regularly expire and need to be refreshed. Thankfully, [jalmeroth] generously wrote a proof-of-concept and published it on GitHub. If provided with an access token, it can access your Gmail account and use it to send an email. It can also directly update/get data from Google Sheets, but I didn’t test this. However, if the access token was expired, it couldn’t detect that, although it did include working code to actually request a new token, but not parse it out and use it.

In an attempt to add to the functionality of that proof of concept, I forked the project and made a few changes. First, I changed to order of operations in the code to make it check if the current access token was valid before doing anything else. Second, Google API was responding ‘400 Bad Request’ if the access token was invalid, and everything but ‘200 OK’ responses were being filtered out by the code. Finally, I wrote a couple of JSON parsers that check the reason for the ‘400 Bad Request’ and extract and use the access token returned by Google API when a new one is requested.

It works, but it’s hardly reliable – not surprising considering I’ve never really used the Arduino platform before. Notably, the SHA1 fingerprint for Google API fails often. Checking from my local machine, the SHA1 fingerprint varies between two signatures there too. It would be fairly easy to check for either of them, or just keep trying, but I’d rather understand what’s going on first. (Is it just a CDN or something else?) Or perhaps I should rewrite the whole application in Lua where I’m more competent.

A fun little application built on the above was to place a button on my office that sends an email to my phone. I don’t want people to contact me at that email address frivolously, but do want to know immediately if someone is waiting outside my office. The big red button is for normal requests, but urgent requests require lockpicking. If it’s urgent it better also be interesting.

Finally, did you know that Hackaday provides an API for accessing hackaday.io? It uses the simpler OAUTH (not OAUTH2) authentication, so should be more straightforward than the above to implement on the ESP8266. Have any of you used it?

Filed under: Arduino Hacks, google hacks, how-to, Original Art

Friday Hack Chat: Eagle One Year Later

ศุกร์, 12/15/2017 - 00:01

Way back in June of 2016, Autodesk acquired Cadsoft, and with it EagleCAD, the popular PCB design software. There were plans for some features that should have been in Eagle two decades ago, and right now Autodesk is rolling out an impressive list of features that include UX improvements, integration with MCAD and Fusion360, and push and shove routing.

Six months into the new age of Eagle, Autodesk announced they would be changing their licensing models to a subscription service. Where you could pay less than $100 once and hold onto version 6.0 forever, now you’re required to pay $15 every month for your copy of Eagle. Yes, there’s still a free, educational version, but this change to a subscription model caused much consternation in the community when announced.

For this week’s Hack Chat, we’re going to be talking about Eagle, one year in. Our guest for this Hack Chat is Matt Berggren, director of Autodesk Circuits, hardware engineer, and technologist that has been working on bringing electronic design to everyone. We’ll be asking Matt all about Eagle, with questions including:

  • What new features are in the latest edition of Eagle?
  • What’s on the Eagle wishlist?
  • What technical challenges arise when designing new features?
  • Where can a beginner find resources for designing PCBs in Eagle?

Join the chat to hear about new features in Eagle, how things are holding up for Eagle under new ownership, and how exactly the new subscription model for Eagle is going. We’re looking for questions from the community, so if you have a question for Matt or the rest of the Eagle team, put it on the Hack Chat event page.

If you’re wondering about how Altium and KiCad are holding up, or have any questions about these PCB design tools, don’t worry: we’re going to have Hack Chats with these engineers in the new year.

Our Hack Chats are live community events on the Hackaday.io Hack Chat group messaging. This Hack Chat is going down on noon, PST, Friday, December 15th. Time Zones got you down? Here’s a handy count down timer!

Click that speech bubble to the left, and you’ll be taken directly to the Hack Chat group on Hackaday.io.

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

The Zombie Rises Again: Drone Registration Is Back

พฤ, 12/14/2017 - 23:00

It’s a trope of horror movies that demonic foes always return. No sooner has the bad guy been dissolved in a withering hail of holy water in the denoeument of the first movie, than some foolish child in a white dress at the start of the next is queuing up to re-animate it with a careless drop of blood or something. If parents in later installments of popular movie franchises would only keep an eye on their darn kids, it would save everybody a whole lot of time!

The relevant passage can be found in section 1092(d) of the National Defense Authorization Act, on page 329 of the mammoth PDF containing the full text, and reads as follows:

.—The rules adopted by the Administrator
of the Federal Aviation Administration in the matter of registration
and marking requirements for small unmanned aircraft (FAA-2015-
7396; published on December 16, 2015) that were vacated by the
United States Court of Appeals for the District of Columbia Circuit
in Taylor v. Huerta (No. 15-1495; decided on May 19, 2017) shall
be restored to effect on the date of enactment of this Act.

This appears to reverse the earlier decision of the court, but does not specify whether there has been any modification to the requirements to prevent their being struck down once more by the same angle of attack. In particular, it doesn’t change any of the language in the FAA Modernization Act of 2012, which specifically prevents the Agency from regulating hobby model aircraft, and was the basis of Taylor v. Huerta. Maybe they are just hoping that hobby flyers get fatigued?

We took a look at the registration system before it was struck down, and found its rules to be unusually simple to understand when compared to other aviation rulings, even if it seemed to have little basis in empirical evidence. It bears a resemblance to similar measures in other parts of the world, with its 250 g weight limit for unregistered machines. It will be interesting both from a legal standpoint to see whether any fresh challenges to this zombie law emerge in the courts, and from a technical standpoint to see what advances emerge from Shenzhen as the manufacturers pour all their expertise into a 250 g class of aircraft.

Thanks [ArduinoEnigma] for the tip.

Filed under: drone hacks, News

Truly Terrible Dimensioned Drawings

พฤ, 12/14/2017 - 22:01

I’m in the planning stages of a side project for Hackaday right now. It’s nothing too impressive, but this is a project that will involve a lot of electromechanical parts. This project is going to need a lot of panel mount 1/8″ jacks and sockets, vertical mount DIN 5 connectors, pots, switches, and other carefully crafted bits of metal. Mouser and Digikey are great for nearly every other type of electrical component, but when it comes to these sorts of electromechanical components, your best move is usually to look at AliExpress or DealExtreme, finding something close to what you need, and buying a few hundred. Is this the best move for a manufacturable product? No, but we’re only building a few hundred of these things.

I have been browsing my usual Internet haunts in the search for the right bits of stamped brass and injection molded plastic for this project, and have come to a remarkable conclusion. Engineers, apparently, have no idea how to dimension drawings. Drafting has been a core competency for engineers from the dawn of time until AutoCAD was invented, and now we’re finally reaping the reward: It’s now rare to find a usable dimensioned drawing on the Internet.

This post is going to be half rant, half explanation of what is wrong with a few of the dimensioned drawings I’ve found recently. Consider this an example of what not to do.  There is no reason for the state of engineering drawing to be this bad.

Example One: It Gets Worse The More You Look At It

This first example comes from Bitches Love My Switches, an unfortunately-named storefront, but one that does have a lot of neat switches and jacks with a warehouse on the East Coast with quick shipping. If you want some jellybean parts for guitar pedals and associated audiophilia, it’s a nice place to know. This store doesn’t manufacture their own switches, and with that comes the problem of datasheets and dimension drawings. These drawings were made by a random engineer somewhere, and this person has no training in dimensioned drawings.

Let’s work through a design problem using the dimension drawing shown above. This is a PCB-mounted, switch, that is meant to have a nut holding it down to a panel. Think of it as a PCB standoff, only it’s a switch. This switch can be used as a mechanical, structural part of an enclosure.

To design anything using this switch, you need to know the height of every part of this switch, from where it attaches to the PCB, to where the nut will screw on. You need to know the height of the switch body. This dimension is completely absent in this drawing, making the drawing absolutely useless. The dimension you need to design anything using this switch is absent. But this drawing gets worse.

What if you wanted to know the height of the ‘toggle’ that physically moves in this switch. It’s labeled in the drawing as 9.5 mm, but this dimension is useless at best, and wrong with even the most liberal interpretation. Why? Because the toggle pivots. The tip of this toggle moves in an arc, and the tip will be ‘longer’ in the middle of its swing than it is in either of its latched positions. A real dimensioned drawing would include the 9.5 mm dimension and the angle of the toggle in the latched position so you can figure out the actual maximum height of the switch.

Want to hate this drawing even more? Sure thing. What sized nut goes on the threaded portion? Exactly. This isn’t a swing at the store selling these switches, but it is indicative of some terrible practices across the entire electronics industry. Somehow or another, everyone forgot how to create useful dimensioned drawings.

Example Two: All Loudspeaker Manufacturers Meet at Bohemian Grove

The project I’m working on will also need a speaker. The general specs are a 3-4 inch diameter speaker that can handle five Watts. I’m not looking for quality here, but I am looking for something I can design an enclosure for before I order it.

A speaker is a remarkably simple device. There’s a coil and a magnet, two terminals, a paper cone, and a metal flange with four holes around the perimeter of this flange, offset ninety degrees from each other. Nearly every generic loudspeaker will follow this prototype, and if you’re building an enclosure for a speaker, there are really only three things you need to know: the diameter of the hole you need to cut out, the depth of the speaker, and how far apart the screw holes on the flange are. I only need three dimensions here. I’m a simple man. I’m also extremely disappointed.

Mounting information for Celestion’s AN2075 loudspeaker. Guess what’s missing?

Celestion is a very highly regarded manufacturer of loudspeakers. They’ve been around for ninety years, they created the first metal-dome tweeter, and produce what is said to be the standard in guitar amp speakers. If you’re in the loudspeaker industry, Celestion is where you want to be. Surely they can come up with datasheets and tech specs that would be useful, right? Think again. Their AN2075 loudspeaker lists the overall depth of the speaker, the cut-out diameter, and the overall size of the of the speaker. How far apart are the mounting holes? Screw you, that’s how far apart they are. This isn’t even ‘drafting’ or ‘engineering drawing’. This is just incomplete information.

One of the better drawings of speaker dimensions on AliExpress

Celestion is not alone. Take a look at AliExpress. If you’re looking for small, cheap speakers that can handle ten or fifteen Watts, you have thousands of choices. Virtually none of them will have the relevant information on their product pages. Yes, you’ll usually get the dimensions of the flange, and you might get how deep the speaker actually is. You will rarely find where to put the screw holes on your project enclosure.

I’m not one to believe conspiracies. People are just too self-interested to be part of a cabal of evil bent on distorting the truth or ruling people. It’s the media theory of Chomsky versus Žižek; self-interest rules all. People are too stupid to organize. This may be the best evidence yet that conspiracies exist. There must be a conspiracy between loudspeaker manufactures. None of them have dimensions of where the holes should go.

Example Three: Jacks

This project will also make use of DIN 5 connectors (but not as MIDI jacks), and these must be panel mount connectors. Nearly every DIN 5 connector you’ll see on Mouser or Digikey is a right angle connector. That is to say, you solder the connector to the board, and the DIN 5 connector comes out at a right angle to the PCB. This isn’t what I want — I want a connector sticking straight up out of a board. Yes, these connectors exist, but again we’re left with incomplete dimensioned drawings, like the one I found on AliExpress below:

First, take a look at the photograph of the part. It’s what you would expect for a DIN 5 connector. There are five pins, and an additional grounding pin for the shield of the connector, just like every other DIN 5 connector on the planet. Take a look at the drawing. It’s actually not bad, and even gives me a preferred PCB footprint for five of the pins. But what about that grounding pin? It is absent on the dimensioned drawing. If you buy a thousand of these and run them through an assembly line, you’ll quickly find you have to snip off all the grounding pins before populating them into boards. The data is just missing, and you’re a fool if you engineer something directly from the drawings. You should be able to engineer something from the drawings, and this panel mount DIN 5 connector is a terrible product.

Any University That Has Dropped Their Drafting Class Is Doing A Disservice To Their Students

Since time immemorial until the late 90s and early 2000s, engineering drawing and drafting was a required course for all engineers. This is the class with T-squares and triangles and a hidden emphasis on developing fine motor control through lettering. Only a week or two of this class was devoted to dimensioned drawings, but this week is vital to all engineers. Your drawings are useless unless someone else can use them, and you can’t do that without properly dimensioned drawings.

I don’t know why I keep running into truly terrible dimensioned drawings. This is a required skill for all engineers, regardless if they’re educated in China, England, or the US. Yet it’s nonexistent everywhere except for the McMaster Carr catalog.

If you’d like to learn about how to make dimensioned drawings, I’d suggest picking up [French]’s Engineering Drawing. Yes, the book is 100 years old, but what it teaches hasn’t changed in 200 years. This is how the draftsmen for the Apollo Lunar Module learned how to draw. Yes, lettering is hard if you don’t have the right pencils and have underdeveloped fine motor control, but we’re using computers now anyway. Read this book, learn how to properly dimension drawings, and stop annoying engineers who are trying to build stuff.

Filed under: Engineering, Featured, Original Art, Rants

ADSL Robustness Verified By Running Over Wet String

พฤ, 12/14/2017 - 19:00

A core part of the hacker mentality is the desire to test limits: trying out ideas to see if something interesting, informative, and/or entertaining comes out of it. Some employees of Andrews & Arnold (a UK network provider) applied this mentality towards connecting their ADSL test equipment to some unlikely materials. The verdict of experiment: yes, ADSL works over wet string.

ADSL itself is something of an ingenious hack, carrying data over decades-old telephone wires designed only for voice. ADSL accomplished this in part through robust error correction measures keeping the bytes flowing through lines that were not originally designed for ADSL frequencies. The flow of bytes may slow over bad lines, but they will keep moving.

How bad? In this case, a pair of strings dampened with salty water. But there are limits: the same type of string dampened with just plain water was not enough to carry ADSL.

The pictures of the test setup also spoke volumes. They ran the wet string across a space that looked much like every hacker workspace, salt water dripping on the industrial carpet. Experimenting and learning right where you are, using what you have on hand, are hallmarks of hacker resourcefulness. Fancy laboratory not required.

Thanks to [chris] and [Spencer] for the tips.

Filed under: Network Hacks

CNC’d MacBook Breathes Easy

พฤ, 12/14/2017 - 16:00

Sick of his 2011 Macbook kicking its fans into overdrive every time the temperatures started to climb, [Arthur] decided to go with the nuclear option and cut some ventilation holes into the bottom of the machine’s aluminum case. But it just so happens that he had the patience and proper tools for the job, and the final result looks good enough that you might wonder why Apple didn’t do this to begin with.

After disassembling the machine, [Arthur] used double-sided tape and a block of scrap wood to secure the Macbook’s case to the CNC, and cut out some very slick looking vents over where the internal CPU cooler sits. With the addition of some fine mesh he found on McMaster-Carr, foreign objects (and fingers) are prevented from getting into the Mac and messing up all that Cupertino engineering.

[Arthur] tells us that the internal temperature of his Macbook would hit as high as 102 °C (~215 °F) under load before his modification, which certainly doesn’t sound like something we’d want sitting in our laps. With the addition of his vents however, he’s now seeing an idle temperature of 45 °C to 60 °C, and a max of 82 °C.

In the end, [Arthur] is happy with the results of his modification, but he’d change a few things if he was to do it again. He’s somewhat concerned about the fact that the mesh he used for the grill isn’t non-conductive (he’s using shims of card stock internally to make sure it doesn’t touch anything inside), and he’d prefer the peace of mind of having used epoxy to secure it all together rather than super-glue. That said, it works and hasn’t fallen apart yet; basically the hallmarks of a successful hack.

It’s worth noting that [Arthur] is not the first person to struggle with the Macbook’s propensity for cooking itself alive. A few years back we covered another user who added vents to their Macbook, but not before they were forced to reflow the whole board because some of the solder joints gave up in the heat.

Filed under: cnc hacks, computer hacks, Mac Hacks

Building A Drone That (Almost) Follows You Home

พฤ, 12/14/2017 - 13:00

There’s a great deal of research happening around the topic of autonomous vehicles of all creeds and colours. [Ryan] decided this was an interesting field, and took on an autonomous drone as his final project at Cornell University.

The main idea was to create a drone that could autonomously follow a target which provided GPS data for the drone to follow. [Ryan] planned to implement this by having a smartphone provide GPS coordinates to the drone over WiFi, allowing the drone to track the user.

As this was  a university project, he had to take a very carefully considered approach to the build. Given likely constraints on both money and time, he identified that the crux of the project was to develop the autonomous part of the drone, not the drone itself. Thus, off-the-shelf parts were selected to swiftly put together a drone platform that would serve as a test bed for his autonomous brain.

The write up is in-depth and shares all the gritty details of getting the various subsystems of the drone talking together. He also shares issues that were faced with altitude control – without any sensors to determine altitude, it wasn’t possible to keep the drone at a level height. This unfortunately complicated things and meant that he didn’t get to complete the drone’s following algorithm. Such roadblocks are highly common in time-limited university projects, though their educational value cannot be overstated. Overall, while the project may not have met its final goals, it was obviously an excellent learning experience, and one which has taught him plenty about working with drones and the related electronics.

For another take on autonomous flight, check out this high-speed AI racing drone.

Filed under: drone hacks

Will Hack For Espresso

พฤ, 12/14/2017 - 10:00

[Avidan Ross] has an unyielding passion for coffee. Brewing a proper espresso is more than measuring fluid ounces, and to that end, his office’s current espresso machine was not making the cut. What’s a maker to do but enlist his skills to brew some high-tech coffee.

For a proper espresso, the mass of the grounds and the brewed output need to be precisely measured. So, the office La Marzocco GS3 has been transformed into a closed-loop espresso machine with a Particle Photon and an Acaia Lunar waterproof scale at its heart.

On the software side, to run the ‘smart brew’ function a make espresso button press is emulated, and the mass of the brewed espresso is constantly measured. Once the argument’s ‘target output mass’ is reached the firmware shuts off the machine. Brew time is then reported, allowing [Ross] or others to adjust the grind of the espresso beans to fine-tune to the recipe.

The next step is to phase out the human element of adjusting the grind — luckily there are some perfectly hackable solutions there. Fine espresso will fuel that endeavour in the meantime!

[Via Medium]

Filed under: home hacks, Microcontrollers