People keep warning that Skynet and the great robot uprising is not that far away, what with all this recent AI and machine-learning malarky getting all the attention lately. But we think going straight for a terminator robot army is not a very smart approach, not least due to a lack of subtlety. We think that it’s a much better bet to take over the world one home appliance at a time, and this AI Powered coffee maker might just well be part of that master plan.
[Mark Smith] has taken a standard semi-auto espresso maker and jazzed it up a bit, with a sweet bar graph nixie tube the only obvious addition, at least from the front of the unit. Inside, a Raspberry Pi Zero sits atop his own nixie tube hat and associated power supply. The whole assembly is dropped into a 3D printed case and lives snuggled up to the water pump.
The Pi is running a web application written with the excellent Flask framework, and also an additional control application written in python. This allows the user to connect to the machine via Ethernet and see its status. The smarts are in the form of a simple self-grading machine learning algorithm, that takes a time series as an input (in this case when you take your shots of espresso) and after a few weeks of data, is able to make a reasonable prediction as to when you might want it in the future. It then automatically heats up in time for you to use the machine, when you usually do, then cools back down to save energy. No more pointless wandering around to see if the machine is hot enough yet – as you can just check the web page and see from the comfort of your desk.
But that’s not all [Mark] has done. He also improved the temperature control of the water boiler, and added an interlock that prevents the machine from producing a shot until the water temperature is just so. Water level is indicated by the glorious bar graph nixie tube, which also serves a few other user indication duties when appropriate. All in all a pretty sweet build, but we do add a word of caution: If your toaster starts making an unreasonable number of offers of toasted teacakes, give it a wide berth.
If you write software, chances are you’ve come across Continuous Integration, or CI. You might never have heard of it – but you wonder what all the ticks, badges and mysterious status icons are on open-source repositories you find online. You might hear friends waxing lyrical about the merits of CI, or grumbling about how their pipeline has broken again.
PythonAnywhere gives you access to a python shell over a web browser, and also lets you run a web app that can be accessed via a custom sub-domain. Even though it does not have direct integration with GitHub, you can drop to the bash shell to and get access to a git client.
For this hack, [Aadi Bajpai] utilizes the webhooks from GitHub that are triggered when a push event is detected. A flask server running on PythonAnywhere is written such that once triggered by the get POST request, it locally executes a git pull from the repository. There a bit more work that allows adding a bit of security sauce to the recipe but it is a pretty elegant solution and can be used for other cases as well.
Setting up alert notifications has been demonstrated to be an interesting task, though integrating Discord or Slack for notifications adds a little more bragging rights.
Last year, we saw quite a bit of media attention paid to blockchain startups. They raised money from the public, then most of them vanished without a trace (or product). Ethics and legality of their fundraising model aside, a few of the ideas they presented might be worth revisiting one day.
One idea in particular that I’ve struggled with is the synthesis of IoT and blockchain technology. Usually when presented with a product or technology, I can comprehend how and/or why someone would use it – in this case I understand neither, and it’s been nagging at me from some quiet but irrepressible corner of my mind.
The typical IoT networks I’ve seen collect data using cheap and low-power devices, and transmit it to a central service without more effort spent on security than needed (and sometimes much less). On the other hand, blockchains tend to be an expensive way to store data, require a fair amount of local storage and processing power to fully interact with them, and generally involve the careful use of public-private key encryption.
In the world of Internet of Things, it’s easy enough to get something connected to the Internet. But what should you use to communicate with and control it? There are many standards and tools available, but the best choice is always to use the tools you have on hand. [Victor] found himself in this situation, and found that the best way to control an Internet-connected car was to use the Flask server he already had.
The remote controlled car was originally supposed to come with an Arduino, but the microcontroller was missing upon arrival. He had a Raspberry Pi around, and was able to set that up to replace the Arduino. He also took the opportunity to use the expanded functionality of the Pi compared to the Arduino and wrote a Flask server to control it, which is accessed as if you are communicating with a chat bot. Sending the words “go left/forward” to the Flask server will control the car accordingly, for example.
The chat bot itself contains some gems as well, and would be useful for any project that makes use of regular expressions. It also seems to be easily expandable. The project also uses voice commands, and does so by making extensive use of Mozilla’s voice recognition suite. If you want to get deep in the weeds of voice recognition on your own though, you can also explore TensorFlow at your leisure.
When it comes to choice of metals that can be melted in the home foundry, it’s a little like [Henry Ford]’s famous quip: you can melt any metal you want, as long as it’s aluminum. Not that there’s anything wrong with that; there’s a lot you can accomplish by casting aluminum. But imagine what you could accomplish by recycling cast iron instead.
It looks like [luckygen1001] knows a thing or two about slinging hot metal around. The video below shows a fairly expansive shop and some pretty unique tools he uses to recycle cast iron; we were especially impressed with the rig he uses to handle the glowing crucibles from a respectful distance. The cast iron comes from a cheap and abundant source: car disc brake rotors. Usually available free for the asking at the local brake shop, he scores them with an angle grinder and busts them into manageable chunks with a hammer before committing them to the flames. The furnace itself is quite a thing, running on a mixture of diesel and waste motor oil and sounding for all the world like a jet engine starting up. [luckygen1001] had to play with the melt, adding lumps of ferrosilicon alloy to get a cast iron with better machining properties than the original rotors. It’s an interesting lesson in metallurgy, as well as a graphic example of how not to make a flask for molding cast iron.
Many productive hackers bleed a dark ochre. The prevailing theory among a certain group of commenters is that they’re full of it, but it’s actually a healthy sign of a low blood content in the healthy hacker’s coffee stream. [Bharath] is among those who enjoy the caffeinated bean juice on a daily basis. However, he’d suffer from a terrible condition known as cold coffee. To combat this, he built an app-enabled, wirelessly chargeable, self-heating coffee mug.
We know that most hackers don’t start off planning to build objects with ridiculous feature lists, it just happens. Is there an alternate Murphy’s law for this? Any feature that can be added will? The project started off as some low ohm resistors attached to a rechargeable power bank. A insulated flask with a removable inner stainless steel lining was chosen. The resistors were fixed to the outside with a thermal epoxy.
However, how do we control the resistors? We don’t want to burn through our battery right away (which could end up more literally than one would like), so [Bharath] added a Linkit One microcontroller from Seeed Studio. With all this power at his disposal, it was natural to add Bluetooth, a temperature sensor, and app control to the cup.
After getting it all together, he realized that while the insides were perfectly isolated from the liquids held in the flask under normal use, the hole he’d have to cut to connect to the charging circuit would provide an unacceptable ingress point for water. To combat this he added the wireless charging functionality.
With his flask in hand, we’re sure the mood boost from not having to slog through the dregs of a cold container of coffee will produce a measureable improvement in productivity. Video after the break.