Open Robots With Open Roberta

Kids, and Hackaday editors, love robots! The Open Roberta project (OR) takes advantage of this to teach kids about programming. And while the main focus is building a robot programming language that works for teaching grade-school and high-school kids, it’s also a part of a large open source robotics ecosystem that brings a lot more to the table than you might think. We talked with some folks at Google, one of the projects’ sponsors, about where the project is and where it’s going.

csm_Roberta_9e1215fc57Building a robot can be very simple — assembling pre-configured parts or building something small, quick, and cute — or it can be an endeavour that takes years of sweat and tears. Either way, the skills involved in building the ‘bot aren’t necessarily the same as those it takes to program the firmware that drives it, and then eventually the higher-level software that makes it functional and easy to drive.

OR, as an educational project, makes it very, very easy for kids to start off programming robots, but it’s expandable as the user gets more experienced. And since everything is open source, it’s part of a whole ecosystem that makes it even more valuable. We think it’s worth a look (along with something significantly more complex like ROS) if you’re playing around with robotics.

System Architecture

openRoberta.dotOpen Roberta is the user-facing middleware in a chain of software and firmware bits that make a robot work in a classroom environment. For the students, everything runs inside a browser. OR provides a webserver, robot programming interface and language, and then converts the output of the students’ programs to something that can be used with the robots’ firmware. The robots that are used in classrooms are mostly based on the Lego Mindstorms EV3 platform because it’s easy to put something together in short order. (But if you don’t have an EV3, don’t despair and read on!)

The emphasis is on ease of entry for the students and the teachers supervising the class. Everything runs in a browser, so there’s nothing to install on the client side. The students connect to a server that directs the robots, communicating with the robots’ own operating system, and uploading the students’ programs.

Continue reading “Open Robots With Open Roberta”

Looking Mains Voltage In The Eye And Surviving

It is often a surprise to see how other people react to mains electricity when they encounter it in a piece of equipment. As engineers who have dealt with it both personally and professionally for many years it is easy to forget that not everyone has had that experience. On one hand we wince at those who dive in with no fear of the consequences, on the other we are constantly surprised at the number of people who treat any item with more than a few volts in it as though it was contaminated with radioactive anthrax and are scared to even think about opening it up.

We recently had a chat among the Hackaday writers about how we could approach this subject. The easy way out is to be all Elf-and-Safety and join the radioactive anthrax crowd. But the conclusion we came to was that this site is a resource for hackers and makers. Some of you are going to lift the lid on boxes containing significant voltages no matter what, so we thought we’d help you do it safely rather than just listen for the distant screams.

So here follows the first in a series on how to approach electronic devices containing high voltages, and live to tell the tale. By “high voltages” we mean anything up to mains voltages, and those directly derived from them such as the few hundred volts rectified DC you’ll find in a switch-mode PSU. For multi-kilovolt EHT you’ll have to wait for another article, because that is an entire subject in itself. We’ll mention these higher voltages in passing, but their detail is best left for a Hackaday colleague with more pertinent experience.

Continue reading “Looking Mains Voltage In The Eye And Surviving”

Analog To Digital Converter (ADC): A True Understanding

Back in the day where the microprocessor was our standard building block, we tended to concentrate on computation and processing of data and not so much on I/O. Simply put there were a lot of things we had to get working just so we could then read the state of an I/O port or a counter.

Nowadays the microcontroller has taken care of most of the system level needs with the luxury of built in RAM memory and the ability to upload our code. That leaves us able to concentrate on the major role of a microcontroller: to interpret something about the environment, make decisions, and often output the result to energize a motor, LED, or some other twiddly bits.

Often the usefulness of a small microcontroller project depends on being able to interpret external signals in the form of voltage or less often, current. For example the output of a photocell, or a temperature sensor may use an analog voltage to indicate brightness or the temperature. Enter the Analog to Digital Converter (ADC) with the ability to convert an external signal to a processor readable value.

Continue reading “Analog To Digital Converter (ADC): A True Understanding”

Getting Ugly, Dead Bugs, And Going To Manhattan

Back in the 1980s I was a budding electronics geek working in a TV repair shop. I spent most of my time lugging TVs to and from customers, but I did get a little bench time in. By then new TVs were entirely solid-state and built on single PC boards, but every once in a while we’d get an old-timer in with a classic hand-wired tube chassis. I recall turning them over, seeing all the caps and resistors soldered between terminal strips bolted to the aluminum chassis and wondering how it could all possibly work. It all looked so chaotic and unkempt compared to the sleek traces and neat machine-inserted components on a spanking new 19″ Zenith with the System 3 chassis. In a word, the old chassis was just – ugly.

Looking back, I probably shouldn’t have been so judgmental. Despite the decades of progress in PCB design and the democratization of board production thanks to KiCad, OSH Park, and the like, it turns out there’s a lot to be said for ugly methods of circuit construction.

Continue reading “Getting Ugly, Dead Bugs, And Going To Manhattan”

The Dark Arts: Anonymity

Love him or hate him, Edward Snowden knew a thing or two about anonymity. In June of 2013, he blew the whistle on the NSA’s out-of-control programs that can target virtually anyone plugged into the digital age. The former CIA employee was working as a contractor for the NSA, where he had access to highly classified documents for many of these general populace surveillance programs. He eventually took off to Hong Kong and released the documents to a handful of reporters. One of these documents was a power point presentation of the NSA complaining about how the TAILS operating system was a major thorn in their side. Naturally, Snowden insisted that the reporters and himself only communicate via the TAILS O/S. He used PGP, which is an encryption method with the highly sophisticated title of “Pretty Good Privacy”, and asked not to be quoted at length for fear of identification via stylometry.

In this article, we’re going to go over the basics of anonymity, and introduce you to methods of staying anonymous while online.

Continue reading “The Dark Arts: Anonymity”

Up-Close And Personal With Laser Cuts

Plenty of materials take the heated edge of a laser beam quite well, but many others don’t. Some release toxic fumes; others catch fire easily. For all the materials that don’t cut well (PVC and FR4, we’re looking at you!) and for those that do (hello, acrylic and Delrin) they’re each reacting to the heat of the laser beam in different ways. Lucky for us, these ways are well-characterized. So let’s take a look at how a laser cutter actually cuts through materials.

Continue reading “Up-Close And Personal With Laser Cuts”

Embed With Elliot: Interrupts, The Bad

We love interrupts in our microcontroller projects. If you aren’t already convinced, go read the first installment in this series where we covered the best aspects of interrupts.

But everything is not sunshine and daffodils. Interrupts take place outside of the normal program flow, and indeed preempt it. The microcontroller will put down whatever code it’s running and go off to run your ISR every time the triggering event happens. That power is great when you need it, but recall with Spider-Man’s mantra: With great power comes great responsibility. It’s your responsibility to design for the implicit high priority of ISRs, and to make sure that your main code can still get its work done in between interrupt calls.

Put another way, adding interrupts in your microcontroller code introduces issues of scheduling and prioritization that you didn’t have to deal with before. Let’s have a look at that aspect now, and we’ll put off the truly gruesome side-effects of using interrupts until next time.

Continue reading “Embed With Elliot: Interrupts, The Bad”