Hackaday Prize Entry: An Open Source Industrial Camera

Over the last few years, connecting a camera to the Internet has gotten cheaper and cheaper. The advances that made this possible did not come through security cameras, but instead tiny cell phone camera modules, ARM boards, and embedded computing. Right now, if you want a livestream of your back yard, you’d probably get a Raspberry Pi and camera module. This will work for 90% of cases, but what if you want to livestream a slightly harsher environment? What if you want image processing right on the camera? What if you want this camera to have a rating for environmental protection?

[Apodiant]’s entry for the 2015 Hackaday Prize is solving the latter problem. It’s an Open Source Industrial Smart Camera with Ethernet, USB, and serial outputs, an ARM CPU for image processing, all tucked away in a sturdy aluminum enclosure.

The preliminary BOM for this camera is an iMX6 – a very capable microcontroller that can run Linux and OpenCV. The image sensor is a 1.2 megapixel unit [Apodiant] already has experience with, and the enclosure is an off the shelf deal for anyone who wants to build their own.

 

If this sort of setup sounds familiar, you’re right: there have been a few projects that have taken camera modules, added a powerful microcontroller, and run image processing on them. The latest in a long line of these projects is the OpenMV. That had a successful Kickstarter, and since [Apodiant] is going for the Hackaday Prize Best Product competition, it looks like a good fit.


The 2015 Hackaday Prize is sponsored by:

The Live Still Life

Here’s a project that brings together artist [Justus Bruns] and engineers [Rishi Bhatnagar] and [Michel Jansen] to collaborate on an interactive work of Art. The Live Still Life is a classic still life, streamed live from India to anywhere in the world. It is the first step towards the creation of an art factory, where hundreds of these works will be made, preserved and streamed.

The Live Still Life is a physical composition of fresh fruit and vegetables displayed on a table with flatware, cutlery and other still objects. This is located in a wooden box in Bangalore. Every minute a photo is taken and the image is streamed, live, accessible instantly from anywhere in the world. Les Oiseaux de Merde’s Indian curator is on call to replace the fruit the minute it starts to rot so as to maintain the integrity of the image. In this way, while the image remains the same, the fight against decay is always present. The live stream can be viewed at this link.

The hardware is quite minimal. An internet connected Raspberry Pi model B,  Raspberry Pi camera module, a desk lamp for illumination and a wooden enclosure to house it all including the artwork. Getting the camera to work was just a few lines of code in Python. Live streaming the camera pictures took quite a bit more work than they expected. The server was written using a module called Exprestify written on top of Express JS to facilitate easier RESTful functions. For something that looks straightforward, the team had to overcome several coding challenges, so if you’d like to dig in to the code, some of it is hosted on Github or you can ask [Rishi] since he still needs to clean it up quite a bit.

Hackaday Links: June 14, 2015

You know we’re running this gigantic contest to build hardware and send someone to space, right? We’re doing community voting right now. If you’re on Hackaday.io, head over there and pick the best project. We’re giving away t-shirts and $1000 gift cards to people who vote. The drawing for this round is next Friday.

MicroPython is a pretty interesting development in the area of interpreted languages running on microcontrollers. It’s Python, the BASIC of the modern era, and now it’s being funded by the ESA. Great news, there’s going to be a port to SPARC, and it looks like MicroPython is going to be in a few satellites.

[EloquentlyMawkishBunny]’s calculator stopped working on the morning of his AP Physics test. It was the ribbon cable for the display. What did he do? He grabbed some magnet wire and made it work. If I’m reading this right, he did this the day of his AP test. Wow.

[Will] has made a name for himself by building roller coasters in his backyard. He’s also worked on the ProtoPalette, and now he’s building a hackerspace in Concord, California.

[Josh] needed to drill some very large holes with his mill. He decided a hole saw was the easiest way to do this, but his hole saw has a hex shank. He ended up chopping the shank of a hole saw extension, basically turning it into a hex to round adapter.

Did you know the Arduino IDE on Raspbian is stuck at version 1.0.5? The newest version is 1.6.4, and there’s useful stuff like autosave in the IDE now. Amazing. [CRImier] got the latest Arduino IDE working on the Raspberry Pi 2. Yes, there’s an issue up but if for some reason you’re programming Arduinos on the Pi, you should probably do this yourself.

Oooohhhh, case modding. The Intel NUC is a pretty interesting platform for case modding; it’s small, and I shouldn’t have to remind anyone of all the cool case mods that were created when the Mini-ITX format gained popularity in the early ‘aughts. [Femke] got herself an Intel NUC, made a case, and the results are amazing. How’d she get that metal bowl? Metal spinning. Very cool.

Hacking A Wireless AC Power Outlet

It’s always nice to see hackers pick up stuff headed for the landfill and put it back in action with a quick repair and upgrade. [Septillion] found a wireless remote controlled AC outlet in the junk bin and decided to do just that. A nice spin-off of such hacks is that we end up learning a lot about how things work.

His initial tests showed that the AC outlet and its remote could be revived, so he set about exploring its guts. These remote AC outlets consist of an encoder chip on the remote and a corresponding decoder chip on the outlet, working at 433MHz.  Since the various brands in use have a slightly different logic, it needed some rework to make them compatible. The transmit remote was a quick fix – changing the DIP switch selected address bits from being pulled low to high and swapping the On and Off buttons to make it compatible with the other outlets.

Working on the AC outlet requires far more care and safety. The 230V AC is dropped down using a series capacitor, so the circuit is “hot” to touch. Working on it when it is powered up requires extreme caution. A quick fix would have been to make the changes to the address bits and the On/Off buttons to reflect the changes already made in the remote transmitter. Instead, he breadboarded a small circuit around the PIC12F629 microcontroller to take care of the data and address control. Besides, he wanted to be able to manually switch the AC outlet. The relay control from the decoder was routed via the microcontroller. This allowed either the decoder or the local manual switch from controlling the relay. Adding the PIC also allowed him to program in a few additional modes of operation, including one which doubled the number of outlets he could switch with one remote.

3D Miniature Chess Pieces Made With A Laser Cutter

When you think of laser cutters, you generally don’t think of 3d parts. Well, at least not without using something like glue, nuts and bolts, or tabs and slots to hold multiple parts together. [Steve Kranz] shows you how to make these very tiny 3D chess pieces by making 2 passes at right angles to thick acrylic. The first pass cuts one side’s profile, then the part is rotated 90 degrees and a second pass is cut, giving the part more of a “real” 3D look, rather than something cut out of a flat sheet. If you’re having a hard time imagining how it works, his pictures do a great job of explaining the process. He even added some engraving to give the chess pieces for a selective frosted look. We think it’s a cool idea, and well executed too!

But that got us to thinking (always dangerous) that we’ve seen rotary attachments for laser cutters, but they are mainly for etching cylindrical objects like champagne flutes and beer bottle. What if you added a rotating “3rd” axis to a laser cutter that could hold a block of material and rotate it while being cut? (Much like a traditional 4th Axis on a CNC machine). Would the material also need to be raised and lowered to keep the laser focused? Surely software that is aimed at 3D CNC would be needed, something like Mach3 perhaps. A quick Google search show that there are some industrial machines that more-or-less do 3D laser cutting, but if you, or someone you know of, has attached a 3rd axis to a desktop laser, let us know in the comments, we would love to see it.

(via Adafruit)

Crowdfunding Follies: Proof That Ohm’s Law Is Arcane Knowledge

This is a cell phone case that can recharge a cellphone using energy captured from its own radio. It’s been featured on dozens of tech blogs, wowed judges at TechCrunch Disrupt, and it’s a Kickstarter Staff Pick. It’s also proof that nearly everyone in the media who claims any knowledge of technology has no idea behind the foundational properties of technology.

What it is

The Nikola Phone Case from Nikola Labs is a very special phone case for the iPhone 6 and Samsung Galaxy S6. The claims behind this cell phone case state it will recharge your battery by capturing radio energy put out by the cell phone itself. This means capturing RF from the WiFi and cellular transmitters. This captured energy is then converted into something that can recharge the phone, is sent to the USB or Lightning port, and – theoretically – the cycle of electrons turning into photons begins again.

Why it’s crap

Astonishingly, this is not a perpetual motion machine, a device that is completely impractical, or an outright fraud. It’s deceptively correct when it comes to the physics of this device, and as always implementation is everything.

Inside each Nikola Phone Case is a small antenna, boost converter, and circuitry to capture the RF energy coming from the phone. This phone case will actually harvest RF energy, but it will never be able to extend the life of the phone’s battery. Nikola Labs claims their phone case will recover 30% of a battery’s life by harvesting RF energy and using that energy to recharge the phone. However, the energy for this RF energy harvesting scheme comes from the phone itself. The captured energy that would – ideally – end up at a cell phone tower or WiFi router will disappear into this cell phone case. This results in both a dramatic decrease in reception and most likely an increase in power draw due to the phone increasing its transmit power.

To Nikola Labs’ credit, the FAQ on their Kickstarter does address concerns that a phone’s transmitter and antenna may be affected:

The device may change the impedance and overall pattern slightly. We are performing detail characterization of these changes, if any.

Nikola Labs has not performed due diligence on their design. There is a method that will report the RSSI of the cellular radio in an Android phone. Any competent engineer would, upon first seeing this device, figure out if signal strength is affected. This can be done in a few dozen lines of Java. It can be done in under an hour by someone who has never programmed an Android device. Nikola Labs does not provide a comparison of the signal strength of a phone both with and without their case. This is evidence of incompetence, if not malice.

Simply by definition, any device that captures RF energy will ‘shadow’ the transmission. Just like putting a solar panel in front of a flashlight, energy will be captured, but the overall light output of the flashlight and solar panel system will decrease. Nikola Labs has an answer to that:

The device harvests the RF energy around the phone, which is usually absorbed by the hand holding the phone.

It is true that the human body will absorb RF coming out of a phone. WiFi works on the same frequencies as a microwave oven, and defrosting a piece of chicken in a microwave isn’t that much different from grabbing an antenna on a router. Lower powers and different geometries aside, you are right now absorbing microwaves from a WiFi router.

The best way of understanding why simply holding a phone isn’t a very big deal is coming at it from the direction of designing a smart phone. One of the biggest drivers behind the design of a cell phone is how long it will last on a single charge. You can design a phone with a powerful CPU and a huge screen, but the battery won’t last long. Likewise, the engineers that design cell phones will put the antennas in an out of the way place, where they won’t be absorbed by the human body. The Nikola Labs case destroys the engineering decisions inside each cell phone. Think about it; if power was wasted inside a cell phone, wouldn’t engineers at Apple and Samsung work to reduce that waste?

Why everything else is crap, too

There is simply no excuse why hundreds of people would give tens of thousands of dollars to a company that makes outrageous claims with zero evidence. One could attribute this to the public’s severe lack of understanding when dealing with electricity or radio. This, in my opinion, is far too kind.

Nikola Labs’ Kickstarter would not exist without the help of Kickstarter itself and members of the tech media. We first heard of Nikola Labs at TechCrunch Disrupt, where four judges could not find anything wrong with this technology. The presentation at Disrupt went on to be covered by Engadget and a flurry of other tech blogs. Now, dozens of other tech blogs have reported on this Kickstarter, and Kickstarter itself has named it a Staff Pick.

Yes, there are stupid people out there. There are people who will throw money at anything. There are also people who will Barnum up the place sell snake oil to rubes. The fact that Kickstarter would endorse something without a technical assessment defies belief. The only conceivable reason this could be a Staff Pick on Kickstarter is because Kickstarter believes it will be funded, thus earning them a percentage of gross.

This is the end of capitalism, folks. No longer do you need to innovate and make a better mouse trap. All you need to do is convince enough people that you’ve made a better mouse trap.

Neural Networks And MarI/O

Minecraft wizard, and record holder for the Super Mario World speedrun [SethBling] is experimenting with machine learning. He built a program that will get Mario through an entire level of Super Mario World – Donut Plains 1 – using neural networks and genetic algorithms.

A neural network simply takes an input, in this case a small graphic representing the sprites in the game it’s playing, sends that input through a series of artificial neurons, and turns that into commands for the controller. It’s an exceedingly simple neural network – the network that can get Mario through an entire level is less than a dozen neurons – but with enough training, even simple networks can accomplish very complex tasks.

To train the network, or weighting the connections between inputs, neurons, and outputs, [SethBling] is using an evolutionary algorithm. This algorithm first generates a few random neural networks, watches Mario’s progress across Donut Plains 1, and assigns a fitness value to each net. The best networks of each generation are combined, and the process continues for the next generation. It took 34 generations before MarI/O could finish the level without dying.

A few members of the Internet’s peanut gallery have pointed to a paper/YouTube video by [Tom Murphy] that generalized a completely different technique to play a whole bunch of different NES games. While both [SethBling]’s and [Tom Murphy]’s algorithms use certain variables to determine its own success, [Tom Murphy]’s technique works nearly automatically; it will play about as well as the training data it is given. [SethBling]’s algorithm requires no training data – that’s the entire point of using a genetic algorithm.

Continue reading “Neural Networks And MarI/O”