Successfully connecting things without physical wires has a profound effect on the maker brain. Machines talking to each other without any cables is as amazing today as it was a decade ago. When Bluetooth came out, it was a breakthrough since it offered a wireless way to connect cellphones to a PC. But Bluetooth is a complicated, high-bandwidth power hog, and it didn’t make sense for battery-powered devices with less demanding throughput requirements to pay the energy price. Enter Bluetooth LE (BLE), with power requirements modest enough to enable a multitude of applications including low power sensor nodes and beacons.
Over the years, a number of gadgets with BLE have popped up such as the LightBlue Bean, BLE Beacons as well as quadcopters like the FlexBot that rely on BLE for communication. Android or iOS apps are the predominant method of talking to these wonderful gadgets though there are alternatives.
This is the first in a two part series on building with BLE devices. First, I’ll survey some BLE devices and how to get started with BLE from the Linux command line. Later, we will go into describing the process of making a NodeJS cross-platform app that will leverage the BLE capabilities and connect it to the Internet.
Lets get started.
Continue reading “Beginning BLE Experiments And Making Everything Better”
GaN or Gallium Nitride Transistors have been in the news for their high-frequency and high-efficiency applications. Anyone interested in the Power Converter domain will love this open-source project by Siemens. The offering is called SDI TAPAS and it is a multipurpose GaN FET based board with a TMS320F28x controller onboard.
A quick look at the schematic reveals a lot of stuff going on like current and voltage sense chips along with a neatly designed GaN power stage with by-the-book drivers. There is a plethora of connectors on-board including one for the Raspberry Pi which is an added bonus. The git repository comes with sample code to get you off the ground, with examples running BLDC motors as well as connect it to Siemens MindSphere Cloud Platform.
This platform can be used in a number of functions in addition to motor control, such as battery charging, solar energy harvesting, and wireless charging. There is a presentation(PDF) that is available for download, and if you are looking for use cases there are a number of user build projects on their community site. The schematic and board designs can be used to make your own, or you could ask them for a sample board and they might give away more on their community site.
For those starting out, you might appreciate this tutorial on Buck Converter Efficiency to get a feel for the hardware that goes into such experiments.
The geared DC motor has become the bread-and-butter of the modern-day beginner project. Unfortunately, with the advent of vast online catalogs peddling a wide assortment of these mechanical marvels, validating the claim that one DC motor will outperform the others is a challenge.
Such is the dilemma that our own [Gerrit Coetzee] faced as he set out to buy these geared motors in bulk. In his initial teardown, he quickly compares the change in design, from the original which possess the two-part clutch that extends on overloading, to the clones with the feature disabled altogether.
He then goes on to research methods of measuring the motor’s output where he discovers the Prony Brake which leads to the Rope Brake Dynamometer. This is where things get interesting and [Gerrit Coetzee] goes on to hack his own version of the machine. The idea is to have a rope wound to the wheel that is powered by the motor. With one end of the cord attached to a spring scale and the other end to a suspended weight, the motor speed affects the force on the spring scale. This change in force measured by the scale can be used to calculate the power output by the motor.
[Gerrit Coetzee] goes on to replace the weight with springs and the scale with an electronic load cell while using a stepper motor to stretch the cord thereby adding the requisite tension to the string. We thought this was a very elegant solution where the entire experiment could be controlled electronically.
This is a work in progress through the writeup is an excellent example of how to tailor a traditional experiment to the modern times. We have seen similar investigations for larger salvaged motors and dynamometers with lots of sensors.
The first program anyone writes for a microcontroller is the blinking LED which involves toggling a general-purpose input/output (GPIO) on and off. Consequently, the same GPIO can be used to read digital bits as well. A traditional microcontroller like the 8051 is available in DIP packages ranging from 20 pins to 40 pins. Some trade the number of GPIOs for compactness while other devices offer a larger number of GPIOs at the cost of complexity in fitting the part into your design. In this article, we take a quick look at applications that require a larger number of GPIOs and traditional solutions for the problem.
A GPIO is a generic pin on an integrated circuit or computer board whose behavior, including whether it is an input or output pin, is controllable by the user at runtime. See the internal diagram of the GPIO circuit for the ATmega328 for reference.
Simply put, each GPIO has a latch connected to a drive circuit with transistors for the output part and another latch for the input part. In the case of the ATmega328, there is a direction register as well, whereas, in the case of the 8051, the output register serves as the direction register where writing a 1 to it sets it in output mode.
The important thing to note here is that since all the circuits are on the same piece of silicon, the operations are relatively fast. Having all the latches and registers on the same bus means it takes just one instruction to write or read a byte from any GPIO register.
Continue reading “General Purpose I/O: How to get more”
Revisiting old projects is always fun and this Nixie Clock by [pa3fwm] is just a classic. Instead of using transistors or microcontrollers, it uses neon lamps to clock and drive the Nixie Displays. The neon lamps themselves are the logic elements. Seriously, this masterpiece just oozes geekiness.
Inspired by the book “Electronic Counting Circuits” by J.B. Dance(ZIP), published in 1967, we covered the initial build a few years back. The fundamental concept of operation is similar to that of Neon Ring Counters. [Luc Small] has a write-up explaining the construction of such a device and some math associated with it. In this project, [pa3fwm] uses modern day neons that you find in indicators, so his circuit is also updated to compensate for the smaller difference in striking and maintaining voltages.
The original project was done in 2007 and has since undergone a few upgrades. [Pa3fwm] has modified the construction to make it wall mounted. Even though it’s not a precise timekeeper, the project itself is a keeper from its time. Check out the video below for a demonstration.
Feel inspired yet? Take a peek at the White Rabbit Nixie Clock and you are looking for a low voltage solution to powering Nixies then check out the 5-volt Nixie Power supply.
Continue reading “Neon Lamps Make For The Coolest Of Nixie Clocks”
Rust Programming Langauge has grown by leaps and bounds since it was announced in 2010 by Mozilla. It has since become a very popular language owing to features such as memory safety and its ownership system. And now, news has arrived of an Embedded Devices Working Group for Rust aiming at improving support for microcontrollers.
Rust is quite similar to C++ in terms of syntax, however Rust does not allow for null or dangling pointers which makes for more reliable code in the hands of a newbie. With this new initiative, embedded development across different microcontroller architectures could see a more consistent and standardized experience which will result in code portability out of the box. The proposed improvements include IDE and CLI tools for development and setup code generation. There is also talk of RTOS implementations and protocol stack integration which would take community involvement to a whole new level.
This is something to be really excited about because Rust has the potential to be an alternative to C++ for embedded development as rust code runs with a very minimal runtime. Before Arduino many were afraid of the outcome of a simple piece of code but with rust, it would be possible to write memory-safe code without a significant performance hit. With a little community support, Rust could be a more efficient alternative. We have seen some Rust based efforts on ARM controllers and have covered the basics of Rust programming in the past if you want to get started. Good times ahead for hardware hackers.
The era of the vintage television was a great one, and one of the transitional by-products was the Sony Watchman. It was a portable TV which Sony started selling in 1982, and the amazing thing about it was that it had an actual 4-inch cathode ray tube or CRT. [Sideburn] just posted a video in which he hijacks the internals of a Watchman to make it into a portable game of Pong.
The hack begins with removing the TV tuner module inside to make some room for the new residents. Next comes the M51364P which is VIF video decoder chip, and for which surprisingly there is not a lot of info on the web. They were able to find a part of the schematic, which though it was in Russian may still be useful for enthusiasts. Removing the VIF revealed the audio and video pins that needed the appropriate signals for the hack to be successful. In an age of multilayer boards it is amazing how a two-layer PCB makes life so easier for the tinkerer.
For the new brains an Arduino Nano clone was selected, and instead of adding modern buttons the existing volume and band select switches were convinced to be the paddle control and play/pause button. Getting everything to fit was easy with the absence of the tuner module, and voila! New(ish) hardware. For the firmware, [Sideburn] turns to Hackvision firmware which has a host of games such as Space Invaders, Asteroids, and even Tetris.
We covered Hackvision a few years ago as a hardware/firmware bundle, and if you are more into CRTs then check out the Arduino driven 6845 CRT controller.
Continue reading “Hijacking A Sony Watchman For Pong”