While most embedded development is still done in C and/or assembly, some people are working with more modern languages. The team over at Gobot has successfully managed to get Go running on the Intel Edison.
The Go programming language, which has been around for about five years, compiles to machine code like C. It has a number of modern features including concurrency, garbage collection, and packages.
We’ve looked at the Edison on Hackaday before, and even took a detailed look at the hardware. It features a Quark SoC, Bluetooth, and WiFi, which makes it well suited for connected devices.
Getting Go to work on the Edison hardware wasn’t particularly difficult, since it supports the Pentium instruction set and MMX. However, a library was needed to interface with the Edison’s peripherals. The Gobot team whipped up gobot-intel-iot, which makes it easy to work with GPIO, I2C, and PWM.
After the break, the team demos PWM on the Edison using Go.
Continue reading “Running Golang on the Intel Edison”
For his entry to The Hackady Prize, [Sean] is building a haptic vest for gamers and the visually impaired. It’s exactly what you think it is: a vest with proximity sensors and motors that wrap around the wearer, providing haptic feedback of nearby obstacles. Actually building a vest with a few dozen motors is a bit of a challenge, and that’s why this project is in the running for The Hackaday Prize.
Each of the 48 motors are individually controllable with PWM. In any other project, this would require a few dozen microcontrollers or one with a whole lot of pins. [Sean], however, is using LED drivers. They do exactly what [Sean] needs them to do – an easy to interface way of a whole bunch of PWM lines – and they do it cheaper than any other solution.
For detecting objects surrounding the vest, [Sean] is using the depth sensor on a 1st gen Microsoft Kinect. In testing, [Sean] blindfolded a volunteer and had a few friends move around with cardboard ‘obstacles.’ The volunteer successfully avoided all the obstacles, as seen in the video below.
The project featured in this post is a quarterfinalist in The Hackaday Prize.
Continue reading “THP Semifinalist: A Haptic Vest With 48 Vibration Motors”
Whether you want to keep your fish happy or just need a good light show, this aquarium light fits the bill. It is the second iteration, but [William] calls it v1. That’s because v0 — which used a few loops of LED strips — never really met his requirements.
This build uses just six LEDs, each a 30 Watt RGB monster! To source about 350 mA for each, and to control brightness with 18-channels of pulse width modulation, he had to plan very carefully. This meant a proper aluminum project box and a beefy, fan-cooled power supply.
The driver board is his own design, and he etched a huge board to hold all of the components. Everything is driven by an Arduino Mega, which has 16 hardware PWM channels; two short of what he needed. Because of this he had to spend a bit of time figuring out how best to bit-bang the signals. But he’s putting them to good use, with fish-pleasing modes like “sunset” or the “passing rainbow” pattern which is shown in the image above.
If you need something a little less traditional why not house your fish in a computer case, complete with LED marquee for displaying data.
[Yannick] got a hold of a 100W LED diode recently, and like any self-respecting hacker, he just had to turn it into a ridiculously over powered flash light.
The tricky thing about these diodes is that they need a high amount of DC voltage, anywhere from 32-48V typically. [Yannick’s] using a 12V sealed lead acid battery coupled with a 600W constant current boost converter which ups it to 32V at around 3.2A. He also managed to find a giant aluminum heat-sink to keep the diode from getting too hot. A 120mm fan helps to keep the heat sink nice and cool, which allows the light to be run constantly without fear of burning it out. But just in case he also has an Arduino monitoring the temperatures — oh and it provides PWM control to adjust the brightness of the light!
To focus the flashlight he bought a proper lens and reflector which can be mounted directly to the diode. At full power the LED puts out around 8500lm, which is brighter than almost all consumer projectors available — or even the high beams of a car!
Continue reading “Monster 100W LED Flashlight Produces a Whopping 8500lm!”
A few years ago, [Pat] sent in a really nice gear position indicator for his Suzuki V-Strom. With a single seven-segment display , a small microcontorller, and wires tied right into the bike’s ECM, it’s more than enough to do its job, and is much cheaper than aftermarket gear indicators. A simple, elegant solution that does one job well. How could this possibly be any better?
‘Better’ is a relative term, and depending on what you’re optimizing for, a more complex solution can easily be superior. [Pat] figured tripling the value of his motorcycle is a worthwhile goal, so he replaced that seven-segment display with an oscilloscope. It’s the world’s only oscilloscope based motorcycle gear position indicator, and now [Pat] needs a really, really long extension cord.
Like the earlier, more practical version, This build reads the voltage off the bike’s ECM to determine what gear the bike is in. The current gear is then displayed on a Tek MDO3000 with two PWM pins on a microcontroller. Practical? No, but it does look cool. Video below.
Continue reading “A Most Impractical Gear Position Indicator”
Having the right tool for the job makes all the difference, especially for the types of projects we feature here at Hackaday. [Jan_Henrik’s] must agree with this sentiment, one of his latest projects involves building a tool to generate a PWM signal and test servos using an Attiny25/45/85.
Tools come in all kinds of different shapes and sizes. Even if it might not be as widely used as [Jan_Henrik’s] earlier work that combines an oscilloscope and signal generator, having a tool that you can rely upon to test servos and generate a PWM can be very useful. This well written Instructable provides all the details you need to build your own, including the schematic and the necessary code (available on GitHub). The final PWM generator looks great. For simple projects, sometimes a protoboard is all you need. It would be very cool to see a custom PCB made for this project in the future.
What tools have you build recently? Indeed, there is a tool for every problem. Think outside the (tool) box and let us know what you have made!
When you think of a robotic arm, you’re probably thinking about digital control, microcontrollers, motor drivers, and possibly a feedback loop. Anyone who was lucky enough to have an Armatron knows this isn’t the case, but you’d still be surprised at how minimal a robotic arm can be.
[viswesh713] built a servo-powered robotic arm without a microcontroller, and with some interpretations, no digital control at all. Servos are controlled by PWM signals, with a 1 ms pulse rotating the shaft one way and a 2 ms pulse rotating the shaft the other way. What’s a cheap, popular chip that can easily be configured as a timer? Yep, the venerable 555.
The robotic arm is actually configured more like a Waldo with a master slave configuration. [viswesh] built a second arm with pots at the hinges, with the resistance of the pots controlling the signal output from a 556 dual timer chip. It’s extremely clever, at least until you realize this is how very early robotic actuators were controlled. Still, an impressive display of what can be done with a simple 555. Videos below.
Continue reading “The Un-Digital Robotic Arm”