In principle, the FTDI FT232 series of chips has a bit-bang mode that allows you to control the individual pins from a fairly simple API on your target computer, using their drivers and without installing anything on basically any platform. We wrote this feature up way back in 2009, and [Scott] was asking himself why he doesn’t see more hacks taking advantage of bit-bang mode.
Then he answered his own question the hard way, by spending hours “debugging” his code until he stumbled on the FTDI errata note (PDF), where they admit that bit-bang mode doesn’t get timings right at all on the FT232R and FT232RL parts. FTDI has made claims that they fixed the bug in subsequent chip revisions, but the community has not been able to confirm it. If you want to use bit-bang mode, which is plenty cool, steer clear of the FT232R chips — the ones found in the ever-popular FTDI cables and many adapter dongles.
The good news here is twofold. First, now you know. Second, bit-bang mode is tremendously useful and it works with other chips from the vendor. Particularly, the FT232H and FT230X chips work just fine, among others. And [Scott] got his command-line controlled digital VCO up and running. All’s well that ends well?
We’ll wrap up with questions for the comment section. Do other manufacturers’ cheap USB-serial chips have an easily accessible bit-bang mode? Are any of you using USB bit-bang anyway? If so, what for?
[Scott] created an LED candle in preparation for the big mac daddy storm (storms?) coming through. Like millions of other people in Florida, he was stuck at home with his roommates when an oncoming hurricane headed their way. Worrying about blundering about in the dark when the power inevitably went out, they set off to gather up all of the candles they had lying around. Realizing the monstrous pile of candles and matches looked more and more like a death wish, the decision was made to create a makeshift light out of what components they had on hand. Now, not having access to any outside sources for parts means that you are going to have a bare bones model.
That being said, this straightforward light only takes a couple of seconds to put together. Jury rig a couple of AA or AAA batteries up, then slap on a resistor, LED, and jumper to get that sucker running. Wrap electrical tape around the whole thing, or even try duct tape, whatever gets the job done. A little paper hat on top of it will diffuse the light and bada bing, bada boom, you’re all done. Generally though, soldering directly onto a battery is not a wise idea. So, if you want to get fancy, perhaps a better alternative is to have a battery casing as shown below.
[Scott] had a simple problem – he was tired of leaning over his work bench to change the volume on his speakers. He desired a system that would readily allow him to switch the speakers on and off from a more comfortable distance. Not one to settle for the more conventional solutions available, [Scott] whipped up a RADAR-activated switch for his speaker system.
The build relies on a surprisingly cost-effective RADAR module available off the shelf, running in the 5.8GHz spectrum. At under $10, it’s no big deal to throw one of these into a project that requires some basic distance sensing. [Scott] decided to keep things simple – instead of going with a full-fat microcontroller to control the speakers, a 74HC590 IC was used to create a latch. Each time the RADAR module senses an object in close proximity, it toggles the state of the latch. The latch then controls a transistor that switches the power for the speakers.
[Scott] is building a DIY yeast reactor for his aquarium. What’s a yeast reactor? [Scott] wants to pump carbon dioxide into his aquarium so his aquatic plants grow more. He’s doing this with a gallon of sugary, yeasty water bubbling into a tank of plants and fish. In other words, [Scott] is doing this whole thing completely backward and utilizing the wrong waste product of the yeast metabolism.
However, along the way to pumping carbon dioxide into his aquarium, [Scott] created a very high precision pressure sensor. It’s based on a breakout board featuring the MS5611 air pressure sensor. This has a 24-bit ADC on board, which translates into one ten-thousandths of a pound per square inch of pressure.
To integrate this pressure sensor into the aquarium/unbrewery setup, [Scott] created a pressure meter out of a syringe. With the plunger end of this syringe encased in epoxy and the pointy end still able to accept needles, [Scott] is able to easily plug this sensor into his yeast reactor. The data from the sensor is accessible over I2C, and a simple circuit with an ATmega328 and a character LCD displays the current pressure in the syringe.
We’ve seen these high-resolution pressure sensors used in drones and rockets as altimeters before, but never as a pressure gauge. This, though, is a cheap and novel solution for measuring pressures between a vacuum and a bit over one atmosphere.
The Bus Pirate is one of our favorite tool for quick-and-dirty debugging in the microcontroller world. Essentially it makes it easy to communicate with a wide variety of different chips via a serial terminal regardless of the type of bus that the microcontroller uses. Although it was intended as a time-saving prototyping device, there are a lot of real-world applications where a Bus Pirate can be employed full-time, as [Scott] shows us with his Bus Pirate data logger.
[Scott] needed to constantly measure temperature, and the parts he had on hand included an LM75A breakout board that has a temperature sensor on board. These boards communicate with I2C, so it was relatively straightforward to gather data from the serial terminal. From there, [Scott] uses a Python script to automate the process of gathering the data. The process he uses to set everything up using a Raspberry Pi is available on the project site, including the code that he used in the project.
[Scott] has already used this device for a variety of different projects around his house and it has already proven incredibly useful. If you don’t already have a Bus Pirate lying around there are a few other ways to gather temperature data, but if you have an extra one around or you were thinking about purchasing one, then [Scott]’s project is a great illustration of the versatility of this device.
There are a proliferation of cheap digital meter modules available online for pocket money prices. Current, voltage, frequency, or combinations thereof can all be yours for just a few dollars and a wait for shipping. Unfortunately though these meters are all self-contained units. They do not have a serial port or other interface through which you can log their readings.
He has made his code for the project available in his GitHub repository, we can see that this could be a valuable technique for use with other similar displays. In the video below the break he gives us a full run-down, as if his comprehensive write-up was not enough.
We all use 74 logic in our projects as general purpose logic interfacing glue. These chips have become as ubiquitous as a general-purpose op-amp, or even as passive components. In most cases we’re not demanding much of them, and power requirements aside an original 74 chip from the dawn of the series could probably do the same job that we’re putting a more modern variant to work on.
It is easy therefore to forget that 74 logic is a field that has seen continuous improvement and innovation reflecting the developments elsewhere in electronics, and the most modern 74 versions hide some impressively high specifications.
A good example comes via a project from [Scott, AJ4VD], a very simple frequency counter that uses a single 74 series chip at its business end, and counts to over 100MHz. The chip in question is a 74LV8154 dual 16-bit counter which he is using as a prescaler to deliver a rate more acceptable to an ATMega328 microcontroller that does the counting. As he points out, the accuracy of a frequency counter is only as good as its gate timing, and he ensures as accurate a seconds-worth of pulses as he can with a 1PPS signal derived from an inexpensive GPS receiver. The 328 makes its counting available to a host computer via a serial port, and can be easily read through a terminal. He’s built it dead-bug style on a piece of unetched PCB, on which the simplicity of the circuit is evident.
There was a time when a project like this one would have required multiple integrated circuits including a probably quite expensive purpose-built prescaler. Cheap glue logic has now advanced to a stage at which it can be done instead at commodity prices, and we like that.