Controlling Robotics Visually

The world — and the Hackaday Prize — is filled with educational robots. These are small, wheeled robots loaded up with sensors, actuators, a few motor drivers, and some sort of system that is easy to program. The idea behind these educational robots is to give students an easy-to-use platform to test out code, learn inverse kinematics, and realize odometry is a lot harder than you think it is. Give these kids some time and patience, and you’ll have a fleet of Battlebots at the end of the semester, if the teacher is cool.

But there’s a problem with all educational robots. The programming. For someone just starting out in robotics club, being able to code isn’t a guarantee. You need an easy to use programming interface. This project for the Hackaday Prize gives all students a great visual programming interface. It’s basically like the first generation of Lego Mindstorms, only you don’t need a weird IR tower attached to a serial port.

Of course you can’t program a robot without a board, and this project brings it in spades. The brain for this platform is built on an ARM microcontroller, has Bluetooth, supports up to six DC motors, twelve analog inputs, PWM and serial ports, and all the ports are color-coded for kids who can’t read so good.

This is a visual programming environment, though, and with that, you get a fancy IDE filled with loops that wrap around commands, IO access that’s in easy to read blocks, and control software that gives students a dashboard filled with buttons and odometers and the video feed from the camera. It’s a great Hackaday Prize entry, and an excellent way to introduce kids to robotics.

Turning That Old Hoverboard Into A Learning Platform

[Isabelle Simova] is building Hoverbot, a flexible robotics platform using Ikea plastic trays, JavaScript running on a Raspberry Pi and parts scavenged from commonly available hoverboards.

Self-balancing scooters a.k.a. Hoverboards are a great source of parts for such a project. Their high torque, direct drive brushless motors can drive loads of 100 kg or more. In addition, you also get a matching motor controller board, a rechargeable battery and its charging circuit. Most hoverboard controllers use the STM32F103, so flashing them with your own firmware becomes easy using a ST-link V2 programmer.

The next set of parts you need to build your robot is sensors. Some are cheap and easily available, such as microphones, contact switches or LDRs, while others such as ultrasonic distance sensors or LiDAR’s may cost a lot more. One source of cheap sensors are car parking assist transducers. An aftermarket parking sensor kit usually consists of four transducers, a control box, cables and display. Using a logic analyzer, [Isabelle] shows how you can poke around the output port of the control box to reverse engineer the data stream and decipher the sensor data. Once the data structure is decoded, you can then use some SPI bit-banging and voltage translation to interface it with the Raspberry Pi. Using the Pi makes it easy to add a cheap web camera, microphone and speakers to the Hoverbot.

Ikea is a hackers favourite, and offers a wide variety of hacker friendly devices and supplies. Their catalog offers a wide selection of fine, Swedish engineered products which can be used as enclosures for building robots. [Isabelle] zeroed in on a deep, circular plastic tray from a storage table set, stiffened with some plywood reinforcement. The tray offers ample space to mount the two motors, two castor wheels, battery and the rest of the electronics. Most of the original hardware from the hoverboard comes handy while putting it all together.

The software glue that holds all this together is JavaScript. The event-driven architecture of Node.js makes it a very suitable framework to use for Hoverbot. [Isabelle] has built a basic application allowing remote control of the robot. It includes a dashboard which shows live video and audio streams from the robot, buttons for movement control, an input box for converting text to speech, ultrasonic sensor visualization, LED lighting control, message log and status display for the motors. This makes the dashboard a useful debugging tool and a starting point for building more interesting applications. Check the build log for all the juicy details. Which other products from the Ikea catalog can be used to build the Hoverbot? How about a robotic Chair?

Continue reading “Turning That Old Hoverboard Into A Learning Platform”

Online Logic Simulator Is Textual — No, Graphical

We have a bit of a love/hate relationship with tools in the web browser. For education or just a quick experiment, we love having circuit analysis and FPGA tools at our fingertips with no installation required. However, we get nervous about storing code or schematics we might like to keep private “in the cloud.” However, looking at [Lode Vandevenne’s] LogicEmu, we think it is squarely in the educational camp.

You can think of this as sort of Falstad for logic circuits (although don’t forget Falstad does logic, too). The interface is sort of graphical, and sort of text-based, too. When you open the site, you’ll see a welcome document. But it isn’t just a document, it has embedded logic circuits in it that work.

Continue reading “Online Logic Simulator Is Textual — No, Graphical”

Tiny Pinball Emulator Is Hugely Impressive

We were wondering what [Circuitbeard] has been up to lately. Turns out he’s been building a mini pinball cabinet to add to his arcade of self-built games.

[Circuitbeard] was forced to break out of his Raspi comfort zone this time. We’re glad he did because this is one impressive build. Finding the pinball emulation community lacking for Linux, he turned to the LattePanda, a tiny Windows 10 SBC with a built-in Arduino Leonardo. This was really the perfect board because he needed to support multiple displays with a minimum of fuss. That Leonardo comes in handy for converting button presses to key presses inside the Visual Pinball emulator.

The 3mm laser-cut plywood cabinet was designed entirely in Inkscape and sized around the two screens: a genuine 7″ LattePanda display for the playfield, and a 5″ HDMI for the back glass. The main box holds the Lattepanda, two Pimoroni mini speakers, and a fan to keep the board cool.

There’s a lot to like about this little cabinet thanks to [Circuitbeard]’s fantastic attention to detail, which you can see for yourself in the slew of pictures. Look closer at the coin drop—it’s really an illuminated button with a custom graphic. If you want to have a go at emulating this emulator, all the code is up on GitHub. Tilt past the break to watch some modern pinball wizardry in action, and then check out his mini Outrun machine.

If pinball emulators don’t score any points with you, here’s one that’s all wood and rubber bands.

Continue reading “Tiny Pinball Emulator Is Hugely Impressive”

IoT Chore Reminder For The Serially Forgetful

The secret to domestic bliss often lies in attention to detail, an area in which we can all do a little better. But if paper notes and smartphone reminders are not enough to help you remember to knock jobs off your list, perhaps this IoT task reminder will give you the edge you need to keep the peace at home.

As [Andreas Spiess] points out, his best intentions of scheduling recurring tasks in Google Calendar were not enough to keep him on on top of his share of chores around the house. He found that the notifications popping up on his phone were far too easy to swipe away in favor of other distractions, so he set about building a real-world reminder. His solution uses a WeMOS D1 Mini in a bright blue 3D-printed box with from one to four LED switches on the front. Each box is linked to his Google Calendar, and when a task comes due, its light turns on. Sprinkled about the house near the task, like the laundry room or near the recycling, [Andreas] can’t help but see the reminder, which only goes out when he cancels it by pressing the task button. Simple but effective, and full of potential for other uses too.

Of course, the same thing could be accomplished with a Magic Mirror build, which we’ve seen a lot of over the years. But there’s something about the simplicity of these devices and their proximity to the task that makes sense — sort of like the Amazon Dash concept. We might build a few of these too.

Continue reading “IoT Chore Reminder For The Serially Forgetful”

Road Apology/Gratitude Emitter Car LED Sign

Sometimes, when you’re driving, a simple wave when someone lets you in can go unnoticed and sometimes you make a mistake and a simple wave just isn’t enough. [Noapparentfunction] came up with a nice project to say ‘Thanks’ and ‘My Bad’ to his fellow drivers.

The display uses four Max 7219 LED matrix displays, so the total resolution is 32 by 8. [Noapparentfunction] came up with an inspired idea: using a glasses case to hold the LED matrices and Raspberry Pi. It’s easy to get into if necessary, stays closed, and provides a nice finished look. Having little knowledge of electronics and no programming skills, [Noapparentfunction] had to rely on cutting and pasting Python code as well as connecting a mess of wires together, but the end result works, and that’s what matters.

A network cable runs from the glasses case suction cupped to the rear window to another project box under the dashboard. There, the network cable is connected to two buttons and the power. No network information is passed, the cable is just a convenient collection of wires with which to send signals. Each of the buttons shows a different message on the display.

Depending on where you live, this might not be legal, and we’re sure many of our readers (as well as your author) could come up with some different messages to display. However, this is a cool idea and despite [Noapparentfunction]’s admitted limitations, is a nice looking finished product. Also, its name is Road Apology Gratitude Emitter. Here are some other car mod articles: This one adds some lighting to the foot well and glove compartment and this one on the heinousness of aftermarket car alarms.

ESP8266 Beacon Announces Your Arrival

It used to be people were happy enough to just have to push a button in their car and have the garage door open. But pushing a button means you have to use your hands, like it’s a baby toy or something. We’re living in the 21st century, surely there must be a better way! Well, if you’ve got a home automation system setup and a spare ESP8266 laying around, [aderusha] may have your solution with MQTTCarPresence.

The theory of operation here is very clever. The ESP8266 is powered via the in-dash USB port, which turns on and off with the engine. When the engine is started, the ESP8266 is powered up and immediately connects to the WiFi network and pushes an MQTT message to Home Assistant. When Home Assistant gets the notification that the ESP8266 has connected, it opens the garage door.

When [aderusha] drives out of the garage and away from the house, the ESP8266 loses connection to the network, and Home Assistant closes the door. The same principle works when he comes home: as the car approaches the house it connects to the network and the garage door opens, and when the engine is shut off in the garage, the door closes again.

The hardware side of the setup is really just a WeMos D1 mini Pro board, though he’s added an external antenna to make sure the signal gets picked up when the vehicle is rolling up. He’s also designed a very slick 3D printed case to keep it all together in a neat little package.

We’ve covered automated entry systems based on the ESP8266 before, though usually the ESP stays at home. Be sure to check out the awesome series [Elliot Williams] has on the wonders of MQTT if you’re looking to setup your own automation system.