Could there be a worse fate for a guy with a Swiss accent than to be subjected to a clock that’s seconds or even – horrors! – minutes off the correct time? Indeed not, which is why [The Guy With the Swiss Accent] went to great lengths to keep his IKEA radio-controlled clock on track.
For those who haven’t seen any of [Andreas Spiess]’ YouTube videos, you’ll know that he pokes a bit of fun at Swiss stereotypes such as precision and punctuality. But really, having a clock that’s supposed to synchronize to one of the many longwave radio atomic clocks sprinkled around the globe and yet fails to do so is irksome to even the least chrono-obsessive personality. His IKEA clock is supposed to read signals from station DCF77 in Germany, but even the sensitive receivers in such clocks can be defeated by subterranean locales such as [Andreas]’ shop. His solution was to provide a local version of DCF77 using a Raspberry Pi and code that sends modulated time signals to a GPIO pin. The pin is connected to a ferrite rod antenna, which of course means that the Pi is being turned into a radio transmitter and hence is probably violating the law. But as [Andreas] points out, if the power is kept low enough, the emissions will only ever be received by nearby clocks.
With his clock now safely synced to an NTP server via the tiny radio station, [Andreas] can get back to work on his other projects, such as work-hardening copper wire for antennas with a Harley, or a nuclear apocalypse-Tweeting Geiger counter.
Continue reading “Keeping Clocks On Time, The Swiss Way”
There are so many important design decisions behind a robot: battery, means of locomotion, and position sensing, to name a few. But at a library in Helsinki, one of the most surprising design features for a librarian’s assistant robot was googly eyes. A company called Futurice built a robot for the Oodi library and found that googly eyes were a very important component.
The eyes are not to help the robot see, because of course they aren’t functional — at least not in that way. However without the eyes, robot designers found that people had trouble relating to the service robot. In addition, the robot needed emotions that it could show using the eyes and various sounds along with motion. This was inspired, apparently, by Disney’s rules for animation. In particular, the eyes would fit the rule of “exaggeration.” The robot could look bored when it had no task, excited when it was helping people, and unhappy when people were not being cooperative.
Continue reading “Your Next Robot Needs Googly Eyes, And Other Lessons From Disney”
There’s something enchanting about the soft glow of a properly diffused LED, and this is only improved by greater numbers of LEDs. [Manoj Nathwani] was well aware of this, setting out to build a large display using ping-pong balls for their desirable optical qualities.Unfortunately, not everything went to plan, but sometimes that’s not all bad.
The matrix, built back in 2016 for EMF Camp, was sized at 32×18 elements, for a total of 576 pixels. This was achieved with the use of 12 WS2811 LED strips, with the lights set out on a 50mm grid. Cheap knock-off pingpong balls were used for their low cost, and they proved to be excellent diffusers for the LEDs.
With everything wired up to a NodeMCU, basic testing showed the system to be functioning well. However, once the full matrix was assembled in the field, things started to fall over. Basic commands would work for the first 200 LEDs or so, and then the entire matrix would begin to glitch out and display random colors. Unable to fix the problem in the field, [Manoj] elected to simply run the display as-is. Despite the problems, passers-by found the random animations to be rather beautiful anyway, particularly at night.
After the event, [Manoj] determined the issue was due to the excessive length of the data line, which in the final build was 48 meters long. While the problem may be rectified when [Manoj] revisits the project, the audience seemed to appreciate the first revision anyway.
LED displays will be a hacker staple until the heat death of the universe. Ping pong balls will also likely retain their position as a favorite diffuser. If you’ve got a great LED build of your very own, be sure to hit up the tips line!
The ballistics of humble potato is a time-honoured research topic for everyone who likes things that go bang. The focus of such work is usually on the launcher itself, with the projectiles being little more than an afterthought. [drenehtsral] decided that the wares of the local organic ammunition supplier were not good enough for him and his minions, so he designed and then 3D printed some rifled potato cannon slugs.
The design was done using OpenSCAD, has a number of adjustable parameters like infill and rifling. We doubt that the rifling introduces any spin, since it is being fired from a smooth bore barrel, but as always 3D printing brings the capability to quickly test different ideas. A quick search on Thingiverse shows a number of 3D printed spuds, so [drenehtsral] is not the first give it a go. However, this did bring to our attention that the field of spud gun projectiles is begging to be explored.
There is enough space inside a projectile to fit an IMU and logging electronics, which would give some very nice empirical data (providing you can recover it of course) on spin, acceleration, and trajectory that can be used to further improve designs. Spring loaded stabilising fins would be cool, and maybe someone can even manage to implement some form of guidance? The possibilities are endless! If you’re up for the challenge, please document your work it and let us know.
As you would expect we have no shortage of potato cannon themed content, ranging from cartridge firing and bolt action versions to antenna launchers and Arduino-powered fire control systems.
Like many hackers, [Tom Szolyga] has soft spot for the venerable Z80. The number of instructions and registers made it relatively easy to program in ASM, and he still has fond memories of the refreshingly straightforward CP/M operating system he used to run on them back in the day. In fact, he loves Z80 computers so much he decided to build one that he could carry around in his pocket.
The result is the Minty Z80, so-called because it lives inside a tin formerly inhabited by every hacker’s favorite curiously strong mint. But the goal of this build wasn’t just to make it small, but also make it convenient to work with. [Tom] is using a ATmega32A to help interface the Z84C0008 microprocessor with the modern world, which allows for niceties such as support for a micro SD card. There’s no onboard USB-to-serial capability, but with an external adapter connected to the Minty’s header, it’s easy to use log into this microcosm of classic computing with a terminal emulator running on a computer or mobile device.
[Tom] has provided the schematics and Bill of Materials for the Minty Z80 on the project’s Hackaday.io page, but as of the latest update, he’s holding off on releasing the board files until he’s sure that all the bugs have been worked out. There’s no word yet if he found any show stoppers in the first iteration of the board design, but he’s posted a picture of the fully assembled miniature retrocomputer in all its glory which seems like a good sign.
The design of the Minty Z80 is similar to that of the Z80-MBC2 by [Just4Fun], but on an even smaller scale. It’s encouraging to see several projects leveraging modern design and components to prevent classic computing from becoming little more than a distant memory.
At first glance, it might not seem to make sense to write shell scripts in C/C++. After all, the whole point to a shell script is to knock out something quick and dirty. However, there are cases where you might want to write a quick C program to do something that would be hard to do in a traditional scripting language, perhaps you have a library that makes the job easier, or maybe you just know C and can knock it out faster.
While it is true that C generates executables, so there’s no need for a script, usually, the setup to build an executable is not what you want to spend your time on when you are just trying to get something done. In addition, scripts are largely portable. But sending an executable to someone else is fairly risky — but your in luck because C shell scripts can be shared as… well, as scripts. One option is to use a C interpreter like Cling. This is especially common when you are using something like Jupyter notebook. However, it is another piece of software you need on the user’s system. It would be nice to not depend on anything other than the system C compiler which is most likely gcc.
Luckily, there are a few ways to do this and none of them are especially hard. Even if you don’t want to actually script in C, understanding how to get there can be illustrative.
Continue reading “Linux Fu: Shell Scripts In C, C++, And Others”
As far as controlling robots goes, makers today are spoilt for choice. WiFi and Bluetooth enabled microcontrollers are a dime a dozen, and integration with smartphone apps is a cinch. Despite this, the old methods still hold sway, as [Igor Fonseca] demonstrates with a simple Arduino bot.
It’s a classic build, using a tracked chassis with a pair of motors providing propulsion and skid steering. The motors are controlled by an L298N H-bridge board, with power courtesy of a trio of 18650 batteries. An Arduino Uno acts as the brains of the operation. Control is via a Playstation 2 controller, in this case a 2.4 GHz third party version. This allows the robot to be controlled wirelessly, with the decoding handled by [Bill Porter]’s useful Arduino library.
It’s a cheap approach to building a remote-controlled bot, and one that would be a great way to teach interested children about how to work with embedded systems. We’ve featured a similar build before, too. Video after the break.
Continue reading “Arduino Bot Rocks A PS2 Controller”