Paint The Rainbow With This Skittle-Dropping Pixel Art Robot

We hackers just can’t get enough of sorters for confections like Skittles and M&Ms, the latter clearly being the superior candy in terms of both sorting and snackability. Sorting isn’t just about taking a hopper of every color and making neat monochromatic piles, though. [JohnO3] noticed that all those colorful candies would make dandy pixel art, so he built a bot to build up images a Skittle at a time.

Dubbed the “Pixel8R” after the eight colors in a regulation bag of Skittles, the machine is a largish affair with hoppers for each color up top and a “canvas” below with Skittle-sized channels and a clear acrylic cover. The hoppers each have a rotating disc with a hole to meter a single Skittle at a time into a funnel which is connected to a tube that moves along the top of the canvas one column at a time. [JohnO3] has developed a software toolchain to go from image files to Skittles using GIMP and a Python script, and the image builds up a row at a time until 2,760 Skittle-pixels have been placed.

The downside: sorting the Skittles into the hoppers. [JohnO3] does this manually now, but we’d love to see a sorter like this one sitting up above the hoppers. Or, he could switch to M&Ms and order single color bags. But where’s the fun in that?

[via r/arduino]

Making An Update Server For PythonAnywhere And GitHub

Cloud based IDEs and development tools have grown over the years, though most have limitations in their free tiers and may not be fully compatible with other services such as GitHub. [Aadi Bajpai] loved using PythonAnywhere and to collaborate using GitHub, so he made a update server that automatically updates the running code once you make a push to Github

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.

The PewPew Console Is Coming To EuroPython 2019

EuroPython is a community-run developer conference, which began back in Belgium in 2002. In 2019, it’s happening in Basel, Switzerland from July 8 to 14, and there’s a special surprise in store for attendees this year. Conference attendees with be provided with a PewPew console for their hacking pleasure!

An earlier version of the PewPew handheld. There have been many and varied revisions of the hardware.

We’ve featured the project before on these hallowed pages; the earlier PewPew Featherwing console was a finalist in the 2017 Hackaday Prize Best Product Competition. At EuroPython, attendees will get to tinker with a special conference edition, which is the latest version of a long line of development versions. It runs the same microcontroller – ATSAMD21E18A – as the Adafruit Trinket M0, and is programmable with CircuitPython. The conference edition comes with a large 60 mm x 60 mm LED matrix, as well as an orange PCB with blue buttons to match the color scheme of the event.

We wager that conference attendees will enjoy hacking on the handheld console, and it makes a great platform for anyone who is new to embedded development with the Python language. Similar to badges, it makes a great pack-in for patrons, and the conference should be all the more enjoyable for it!

The Feather “FAUXBERRY” Is Now A Real Thing

Last month we featured an interesting project from Hackaday.io that was essentially trying to recreate the iconic Blackberry form factor for use with Adafruit’s line of Feather development boards. This would let you drop in modules for everything from LTE to packet radio, opening up a nearly limitless possibilities for handheld hacking. The only problem was, it didn’t actually exist yet.

But recently creator [arturo182] wrote in to tell us that not only had all the parts arrived, but that he’d completed assembly of the first prototype. He even put together a video about the current status of the device, which you can see after the break. The short version is: it works, and it looks fantastic.

For those who might not have seen this project the first time around, the front features a 2.6 inch 320×240 touch screen display, four general purpose buttons, a RGB NeoPixel LED for visual status display, a five way joystick, and what’s arguably the star of the show, a QWERTY keyboard originally designed for the Blackberry Q10. Around the back it has an SD card slot, a socket for the Feather module of your choice, and some handy GPIO expansion pads you can attach your own hardware onto.

[arturo182] says he’s looking at a couple cosmetic changes, but on the whole, everything works and he considers the PCB essentially done. He’ll soon be sending out a handful of test units to individuals who’ve expressed interest in helping him develop the project and then…well, he’s not really sure what’s going to happen then. Some kind of commercial release seems like the logical conclusion given the interest he’s already seen in the project, but he hasn’t quite worked out whether that will be a kit or as assembled devices.

Until then, anyone who’s looking for a pocket sized device that will let them bang out some Python with a physical keyboard will have to stick with their TI-83s.

Continue reading “The Feather “FAUXBERRY” Is Now A Real Thing”

Reverse Engineering Dropbox

These days everyone talks about data “in the cloud.” However, before that phrase was fashionable, there were a few pioneers and one of the most famous of these is Dropbox — a service that let you store files on a remote server that dates back to 2007. [Vincent Berg] first noticed some odd network traffic on a hotel network, and figured out that it was a feature of Dropbox that allows computers on the same network to update each other. This led him to start investigating the undocumented Dropbox protocol and reverse engineering the Linux client.

We won’t ask why [Vincent] was poking around the hotel network to start with. However, a cursory glance at the Dropbox client gave away that it was using Python. The byte-compiled classes were — at the time — in a ZIP file added to the executable (which was nothing but a modified copy of Python). The files were encrypted, but [Vincent] used a clever technique. He built a shared object using normal Python and put a backdoor in it that gave him access to the Dropbox Python interpreter.

Continue reading “Reverse Engineering Dropbox”

Luxmeter Meets Linux

Over the past 30 years the price of hardware has slowly but surely come down, and it’s now possible to buy all manner of widgets and gizmos online for less than the price of a fancy Italian dinner. By and large this is a good thing, but it’s not uncommon to find that your new tools are let down by the software side of things. Of course, you can always develop your own solution – and in [ThePhil]’s case, that’s exactly what he did.

The hardware in question was a PCE-174 luxmeter, which came with an uncooperative Windows application as standard. This simply wouldn’t do, so [ThePhil] set about developing a Linux version in Python. This was achieved through the aid of documentation, not of the PCE-174, but its sibling from another corporation – the Extech HD450. The two meters were similar enough that the Extech’s better documentation was able to fill in the gaps of [ThePhil]’s understanding.

[ThePhil] has diligently implemented the full feature set of the PCE-174, and has documented the project well. There are even notes on the version numbers of various dependencies, which will surely be a great help if someone’s trying to run the code five years down the track.

It’s a great lesson that one need not be at the mercy of the software one is given. For a great many cases, it’s possible to roll your own solutions that are robust and get the job done. This approach can be taken to great lengths – you can go so far as replacing an entire camera firmware, if you so wish.

 

TI-83 Gets CircuitPython Upgrade

Graphing calculators are an interesting niche market these days. They’re relatively underpowered, and usually come with cheap, low resolution screens to boot. They remain viable almost solely due to their use in education and the fact that their limited connectivity makes them suitable for use in exams. The market is starting to hot up, though – and TI have recently been doing some interesting work with Python on their TI-83.

Rumor has it that TI have been unable to get Python to run viably directly on the TI-83 Premium CE. This led to the development of the TI-Python peripheral, which plugs into the calculator’s expansion port. This allows users to program in Python, with the TI-Python doing the work and the calculator essentially acting as a thin client. The chip inside is an Atmel SAMD21E18A-U, and is apparently running Adafruit’s CircuitPython platform.

This discovery led to further digging, of course. With some hacking, the TI-Python can instead be replaced with other boards based on Atmel SAMD21 chips. For those of you that aren’t in Atmel’s sales team, that means it’s possible to use things like the Adafruit Trinket M0 and the Arduino Zero instead, when flashed with the appropriate CircuitPython firmware. It’s a tricky business, involving USB IDs and some other hacks, but it’s nothing that can’t be achieved in a few hours or so.

This is a hack in its early days, so it’s currently more about building a platform at this stage rather then building fully-fledged projects just yet. We’re fully expecting to see Twitter clients and multiplayer games hit the TI-83 platform before long, of course. When you’ve done it, chuck us a link on the tip line.

[Thanks to PT for the tip!]