The Arduino IDE Finally Grows Up

While the Arduino has a very vocal fan club, there are always a few people less than thrilled with the ubiquitous ecosystem. While fans may just dismiss it as sour grapes, there are a few legitimate complaints you can fairly level at the stock setup. To address at least some of those concerns, Arduino is rolling out the Arduino Pro IDE and while it doesn’t completely address every shortcoming, it is worth a look and may grow to quiet down some of the other criticisms, given time.

For the record, we think the most meaningful critiques fall into three categories: 1) the primitive development environment, 2) the convoluted build system, and 3) the lack of debugging. Of course, there are third party answers for all of these problems, but now the Pro IDE at least answers the first one. As far as we can tell, the IDE hides the build process just like the original IDE. Debugging, though, will have to wait for a later build.

Continue reading “The Arduino IDE Finally Grows Up”

How A Secret Gaming Scene Emerged In Communist East Germany

During the late 1980s, a gaming scene emerged in East Germany just before the fall of communism. Teenagers gathered in buildings like the “House of Young Talents” (HdjT), originally Palais Podewils, to watch and play Commodore 64 games. There were 20 similar clubs in Berlin alone, sometimes with more than 70 people crowded into a single room. Above all, the computers they were in possession of were all made in the West.

At a point in time when loyalties were frequently questioned, the club of self-proclaimed “freaks” soon attracted the attention of the Stasi, GDR (East Germany) intelligence agents who kept close tabs on the group. As one Stasi agent warned:

Given that there are also members within the interest groups or computer clubs with a verifiably negative attitude toward the socialist state and social order, there is a potential danger that the interest groups or computer clubs will go in a negative direction.

Domestically produced computers – the KC 85 from VEB Mikroelektronik Wilhelm Pieck Mühlhausen and the KC 87 from VEB Robotron – did not have the quality of C128 and C64s from Commodore. Surprisingly, even while microelectronics remained on the list of embargoed products imported to East Germany, C64s managed to make their way into the state. The GDR customs officials didn’t have any problem with Western imported hardware – what they were worried about was the software.

By the end of the 80s, modern data traffic over telephone lines had arrived in East Germany, causing fear that software would soon be disseminated without the need of a physical medium. For the gamers of GDR, however, many didn’t even have access to a phone line. They just wanted to go to computer clubs to swap software. Since computer games from the West were only available in government-run Intershop stores and not in normal shops, teenagers had to rely on the computer clubs to access these games. Games like Frogger and Rambo would be copied to cheaper cassette tapes – it wouldn’t even be violating the saw law since software was not protected by copyright within the country.

A few politically charged games – “Raid Over Moscow” and “Kremlin” – were forbidden to ensure that the HdjT wouldn’t be shut down. Towards the end of the GDR, the Stasi desperately tried to gain control of games “relating to the increasing activities of the political opponent”, but by this point the political situation was already heading towards the fall of the Wall. [Stefan Paubel], founder of the HdjT reflected that he was disappointed the Stasi didn’t try harder to report on the computer clubs.

They had everything critical in the reports: Swapping software, a complete list of all the games glorifying war and computers from the West.

It appeared that microelectronics were sacred to the GDR, since officials were trying to get more young people to engage with computers. The regime’s concern for their reputation led them to prioritize other forms of surveillance than technology. For a while after the fall of the Berlin Wall, the computer club continued to exist. It wasn’t until August 1990, two months before reunification, that the remaining members decided to dissolve the club.

[Thanks to Frank for the tip!]

Finding USB Bugs The Hard Way

Sometimes debugging just doesn’t go the way you want it to. When USB problems arise, you can usually use a protocol analyzer to find the issue causing trouble. For [Paul Stoffregen], it was only the first step in a long process to find the culprit.

Procotol Analyzer

The complaint that came up was from a customer whose 2 port USB hub wasn’t working on their Teensy 3.6. The hub had been tested on Linux, Mac, and Windows, so it made sense to test what was different about the Teensy. Furthermore, all other USB hubs worked on the Teensy. As it turns out, these weren’t the most helpful assumptions to make when finding the bug.

Any protocol analyzer can be used, for instance the Beagle480. The way it works is by passing through USB communication, making a copy of the communication coming in and out, and sending it to the PC.

 

Normally, the analyzer has a small buffer memory and must sustain fast data flow. Unfortunately, this can occasionally cause software lockup. From what could be gathered from the verbose printing, USB descriptors were found for the hub. As it turns out, the faulty hub was a Multi-TT type hub, while most others are single TT (transaction translator).

Fixing Software Lockup

Since it was necessary to get the rest of the descriptor data, fixing the software lockup was the next step. Writing in a panic function – a breakpoint of sorts – into the code allowed the USB host’s power to terminate, and stepping through the program revealed that while the 2 port hub was initially being read, some issue arose afterwards.

As it turns out, the issue relied on USB split transactions, used only between USB hosts and hubs. Communication happens by tokens, which begins with a SPLIT-START token.

 

As it turns out, the issue was that the tokens weren’t being sent in the correct order. The other hubs seemed to be handle this nevertheless. By applying a fix to the C++ code of the bad hub, which had previously not been implementing the data structure for accessing register properly, the hub was able to work again.The hub appeared to be rejecting bad token, which was causing the issue in the first place.

All in all, while I’m sure this had to be a head scratching experience, at least it gives us some insight into the low-level design of USB communication.

Turn Your Old-school CRT Into A YouTube Media Player

Ever wish you could enjoy modern conveniences like YouTube in a retro world of CRTs and late 20th century graphics?

[Johannes Spreitzer] happened to find an old VIENNASTAR CRT (cathode-ray tube television) made by the Austrian brand Kapsh at a flea market. The CRT dates back to 1977 and uses just RF input, making it useless as a modern television set since most TV stations nowadays broadcast primarily in digital.

However, HDMI-to-RF transmitters do exist, making it possible to convert HDMI signals to RF or coaxial cable output to replace an antenna signal. What [Spreitzer] did next was to plug in a Chromcast and essentially convert the CRT into an old-school monitor. You can see some of the trippy graphics in the video below – the video samples shown fit the retro aesthetic, but I’m sure there’s video combinations that would seem pretty out of place.

HDMI-to-RF adapters are pretty easy to pick up at a hardware store, and they allow you to project videos onto specific channels on a CRT. Needless to say, they don’t work the other way around, although since there are still televisions that only pick up RF broadcasts, coaxial to HDMI adapters do exist.

Continue reading “Turn Your Old-school CRT Into A YouTube Media Player”

Hackaday Links Column Banner

Hackaday Links: October 20, 2019

It’s Nobel season again, with announcements of the prizes in literature, economics, medicine, physics, and chemistry going to worthies the world over. The wording of the Nobel citations are usually a vast oversimplification of decades of research and end up being a scientific word salad. But this year’s chemistry Nobel citation couldn’t be simpler: “For the development of lithium-ion batteries”. John Goodenough, Stanley Whittingham, and Akira Yoshino share the prize for separate work stretching back to the oil embargo of the early 1970s, when Goodenough invented the first lithium cathode. Wittingham made the major discovery in 1980 that adding cobalt improved the lithium cathode immensely, and Yoshino turned both discoveries into the world’s first practical lithium-ion battery in 1985. Normally, Nobel-worthy achievements are somewhat esoteric and cover a broad area of discovery that few ordinary people can relate to, but this is one that most of us literally carry around every day.

What’s going on with Lulzbot? Nothing good, if the reports of mass layoffs and employee lawsuits are to be believed. Aleph Objects, the Colorado company that manufactures the Lulzbot 3D printer, announced that they would be closing down the business and selling off the remaining inventory of products by the end of October. There was a reported mass layoff on October 11, with 90 of its 113 employees getting a pink slip. One of the employees filed a class-action suit in federal court, alleging that Aleph failed to give 60 days notice of terminations, which a company with more than 100 employees is required to do under federal law. As for the reason for the closure, nobody in the company’s leadership is commenting aside from the usual “streamlining operations” talk. Could it be that the flood of cheap 3D printers from China has commoditized the market, making it too hard for any manufacturer to stand out on features? If so, we may see other printer makers go under too.

For all the reported hardships of life aboard the International Space Station – the problems with zero-gravity personal hygiene, the lack of privacy, and an aroma that ranges from machine-shop to sweaty gym sock – the reward must be those few moments when an astronaut gets to go into the cupola at night and watch the Earth slide by. They all snap pictures, of course, but surprisingly few of them are cataloged or cross-referenced to the position of the ISS. So there’s a huge backlog of beautiful but unknown cities around the planet that. Lost at Night aims to change that by enlisting the pattern-matching abilities of volunteers to compare problem images with known images of the night lights of cities around the world. If nothing else, it’s a good way to get a glimpse at what the astronauts get to see.

Which Pi is the best Pi when it comes to machine learning? That depends on a lot of things, and Evan at Edje Electronics has done some good work comparing the Pi 3 and Pi 4 in a machine vision application. The SSD-MobileNet model was compiled to run on TensorFlow, TF Lite, or the Coral USB accelerator, using both a Pi 3 and a Pi 4. Evan drove around with each rig as a dashcam, capturing typical street scenes and measuring the frame rate from each setup. It’s perhaps no surprise that the Pi 4 and Coral setup won the day, but the degree to which it won was unexpected. It blew everything else away with 34.4 fps; the other five setups ranged from 1.37 to 12.9 fps. Interesting results, and good to keep in mind for your next machine vision project.

Have you accounted for shrinkage? No, not that shrinkage – shrinkage in your 3D-printed parts. James Clough ran into shrinkage issues with a part that needed to match up to a PCB he made. It didn’t, and he shared a thorough analysis of the problem and its solution. While we haven’t run into this problem yet, we can see how it happened – pretty much everything, including PLA, shrinks as it cools. He simply scaled up the model slightly before printing, which is a good tip to keep in mind.

And finally, if you’ve ever tried to break a bundle of spaghetti in half before dropping it in boiling water, you likely know the heartbreak of multiple breakage – many of the strands will fracture into three or more pieces, with the shorter bits shooting away like so much kitchen shrapnel. Because the world apparently has no big problems left to solve, a group of scientists has now figured out how to break spaghetti into only two pieces. Oh sure, they mask it in paper with the lofty title “Controlling fracture cascades through twisting and quenching”, but what it boils down to is applying an axial twist to the spaghetti before bending. That reduces the amount of bending needed to break the pasta, which reduces the shock that propagates along the strand and causes multiple breaks. They even built a machine to do just that, but since it only breaks a strand at a time, clearly there’s room for improvement. So get hacking!

Navigating The Dark Side: Controlling Robots With Zero Radio Communication

While autonomous robots have been the subject of some projects in the past, this particular project takes a swing at building a robot that can teach children about controls and robotics.

The idea is to mimic a space mission on the dark side of the moon, where radio contact is nearly impossible. The students learn to program and debug embedded devices and sensors, even before some of them have learned the alphabet!

The material for the challenge allows the microcontroller to be programmed in a simple Arduino program (Blink) as well as lower level languages like C++ or Java. The main hardware consists of an Arduino Uno R3-based rover controlled over WiFi by an ESP8266. The sensor data from the robot is gathered from an ultrasound distance sensor an a camera, as well as a SIM7000E GSM+GPS. Commands are polled from a server, sent via a web page and REST interface.

The rover responds to commands for directions, takes pictures, and scans its distance remotely. Some custom libraries are written for the serial communication and camera to account for spotty communication. The latest challenge expansion is a probe that pays attention to battery life and power consumption, challenging students to account for power usage during the robot’s lifetime.

Since the project’s conception, the rovers have already been used in schools, and we’re excited to see a new approach for younger students to learn controls and programming.

Pneumatic Zombie Will Blow Away Trick-or-Treaters

What are you doing for Halloween this year? Just gonna set the candy bowl out on the porch and call it good? That’s a risky one, ’cause if one group of mischievous preteens cleans you out, you might get TP’d by the next one. Best to keep Halloween a tad on the scary side and keep those ghouls in line. Candy is a privilege, not a right.

Halloween is a big deal in [trimbandit]’s little burg, and he builds a new attraction for the front yard every year. This year, it’s the dawn of the dead — a fresh zombie rising jerkily from the grave to say hello, world. He moves left, he moves right, he writhes and wrestles, wedged between worlds.

His life force comes from a pneumatic system designed for props. The cylinders connect to a controller with built-in relays that makes programming frightfully easy. Then it was just a matter of adding a foam head, skinning it with a scary mask, and fitting him for a suit from Goodwill. Drag yourself and your candy bucket past the break for a fun-size demo video and a couple of bonus goodies.

We bet [trimbandit] is already wondering how to step up his game for next year. He seems to have conquered the ground, so why not take to the skies for fright and delight?

Continue reading “Pneumatic Zombie Will Blow Away Trick-or-Treaters”