LoRa-Based Plant Monitoring

Croatian engineers [Slaven Damjanovic] and [Marko Čalić] have developed a wireless system for farmers to monitor plant conditions and weather along their agricultural fields. The system uses an RFM95W module for LoRa communication, and devices are designed to be plug-and-play, battery-powered, and have long-range communication (up to 10km from the gateway).

It uses an ATMega328 microprocessor, and includes sensors for measuring soil moisture (FC28 sensor), leaf moisture (FC37 sensor), pressure (BME280 sensor), and air temperature and humidity (DHT22 or SHT71 sensor). The data is sent to a multichannel The Things Network  gateway that forwards the information to an external database, which then displays the data through a series of graphs and tables.

The software for sending messages to the gateway is based on the LoRa MAC in C (LMIC) and LowPower libraries and was developed by [ph2lb].

Continue reading “LoRa-Based Plant Monitoring”

What’s Your Fidget Spinner Say?

The persistence of vision (POV) optical illusion is pretty common in cheap toys nowadays, but how cool would it be to have your own programmable POV message board? German electronics grad student [Matej] has luckily created an open source fidget spinner with a fully customizable POV display that lets you share whatever thoughts you’d like fellow fidget spinning friends to know.

The displayed graphics don’t rely on rotation velocity, thanks to a solution that tracks the rotation angle. Unlike over POV devices, the POV fidget spinner displays the same graphics at higher and lower rotational speeds, which is useful considering the fidget spinner doesn’t automatically spin at the same rotational speed for every user. It also doesn’t require a constant speed for the image to be displayed correctly, unlike POV fans or clocks.

Continue reading “What’s Your Fidget Spinner Say?”

Punch Through Switches Gears, Shucks Beans

Do you own a LightBlue Bean or Bean+ from Punch Through? If you don’t have one now, you probably never will, as the company has recently announced they’re no longer selling or supporting the Bluetooth Low Energy microcontrollers. The company says that after selling more than 100,000 Bean devices, the challenge of keeping up with a constantly evolving software ecosystem became too difficult, and they are instead going to focus their efforts on advising other companies on how to best develop Bluetooth products.

Frankly, that sounds a bit like getting advice on how to build a fully armed and operational battle station from the Empire, but who are we to judge. While the Bean family of devices clearly wasn’t able to go the distance, Punch Through at least got them out the door and supported them for longer than many might have expected given the increased competition in the BLE market. It’s not hard to do the math: the LightBlue Bean retailed for around $35 USD, and today you can get a BLE-capable ESP32 for five bucks.

So what happens to all those Beans out in the wild? Normally, the parent company dropping support for a microcontroller wouldn’t be that big of a deal, but this time around we have the “Bean Loader” to contend with. This piece of software is used to push code to the device over Bluetooth, and it’s possible that the constant march of operating system upgrades (especially on mobile devices) will eventually break it. Long story short, there’s nothing to worry about in the short term. But down the road, these Beans might be baked.

Luckily, Punch Through did provide some pretty extensive documentation for the Beans. If there’s significant demand, we imagine the community will do their best to take over development of whatever ancillary software is required to keep the hardware usable for the foreseeable future. Speaking of which, the schematics and PCB layouts for both the Bean and Bean+ have been released under the Creative Commons Attribution 4.0 International license, so it’s not outside the realm of possibility that somebody else might put them back into production.

[Thanks to Chris for the tip.]

Speeding Up Drawing To MCU-Connected Serial Displays

Writing image data to serially connected (SPI/I2C) displays from a microcontroller is easy enough these days, courtesy of standards defined by the MIPI Alliance, yet there are some gotchas in it which may catch someone using it unaware. [Larry Bank] wrote up a good summary of how one can get maximum performance out of such a display link.

At the core is the distinction between pixel data and command transmissions. The change from command to pixel data mode requires signaling, which takes precious clock cycles away from transferring pixel data between the MCU and display. The common MIPI DCS instruction set allows for a big reduction in needed data transfers by allowing parts of the display to be addressed instead of requiring a full refresh. Yet by not properly segmenting command and data transfers, one ends up unnecessarily slowing down the process.

The result is that one can run something like a Pac-Man emulator on an AVR MCU with a sluggish 320×480 SPI LCD at 60 FPS, as one can see in the video that is embedded after the break. Check the article for another demo video as well.

Continue reading “Speeding Up Drawing To MCU-Connected Serial Displays”

RGB Lamp With Micro:Bit Powered Gesture Control

The Micro:bit is a very neat piece of hardware that, frankly, we don’t see enough of. Which made us all the more interested when [Manoj Nathwani] wrote in to tell us about the gorgeous 3D printed RGB LED lamp he created that uses the BBC-endorsed microcontroller to perform basic gesture detection. Purists will likely point out that an Arduino Pro Mini is tagging along to handle interfacing with the LEDs, but it’s still a good example of how quick you can get a project up and running with MicroPython on the Micro:bit.

[Manoj] used eight NeoPixel Sticks, a NeoPixel Ring, and a few scraps of perfboard to construct a three dimensional “bulb” to fill the void inside the printed diffuser. They’re chained together so all the elements appear as a single addressable strip, which made the rest of the project a bit easier to implement. It might not be pretty, but it gets the job done and it’s not like you’ll ever see it again once installed in the lamp anyway.

The Micro:bit and Arduino co-pilot live in the base of the lamp, and the single USB cable to provide power (and the ability to update the device’s firmware) is run out the bottom to give the whole thing a clean and professional look. For those wondering why the Arduino has tagged along, [Manoj] says he couldn’t get the NeoPixel libraries to play nicely with the Micro:bit so he’s using the Arduino essentially as a mediator.

Right now the only gesture that’s detected on the Micro:bit is a simple shake, which tells the Arduino to toggle the light show on and off. But in the future, [Manoj] plans to implement more complex gestures which will trigger different animations. As he explains in the blog post, gesture recognition with the Micro:bit is incredibly simple, so it should be easy to come up with a bunch of unique ways to interface with the lamp.

Color changing LED lamps are a favorite project of hackers, and we’ve seen examples built with everything from glass and copper to laser-cut pieces of wood and veneer. While you might prefer to skip the gesture control for an ESP8266 and UDP, we think this project is another strong entry into this popular genre.

Trill: Easy Positional Touch Sensors For Your Projects

Creating capacitive touch-sensitive buttons is easy these days; many microcontrollers have cap-sense hardware built-in. This will work for simple on/off control, but what if you want a linear, position-sensitive input, like you’d find on a computer touchpad or your smartphone screen? Not so easy — at least until now. Trill is a family of capacitive touch sensors you can add to your projects as a linear slider, a square touchpad, or by creating your own touch surface.

Trill was created by the same team that designed Bela, an embedded platform for low-latency interactive applications, especially with audio. The new trio of Trill sensors rely on capacitive sensing to track finger movement, and communicate over I2C with your microcontroller or development board of choice. The Trill I2C library targets Arduino and Bela, but should be easy to port to any I2C host.

The hardware and software are both open-source — or will be as the Kickstarter that launched this morning has already met its goal. The firmware for the Cypress CY8C20636A (PDF) controller that powers these sensors will be released CC-BY-NC-SA. But, starting with the controller itself sounds like a lot of work that Trill has already done for you, so let’s have a look at what we know so far, along with a healthy dose of speculation.

Continue reading “Trill: Easy Positional Touch Sensors For Your Projects”

Particle Mesh Powers The Internet Of Fans

With the winter months not far off, [Ben Brooks] was looking for a way to help circulate the heat from his wood-burning fireplace throughout his home. Rather than go with a commercial solution, he decided to come up with his own automated air circulation system powered by the mesh networking capabilities of one of his favorite pieces of tech, the Particle Photon.

Particle Xeon remote sensor

The idea here is pretty simple: use a remote temperature sensor to tell a fan located behind the fireplace when it’s time to kick on and start sharing some of that warmth with the rest of the house. But as usual, it ended up being a bit trickier than anticipated. For one, when [Ben] took a close look at the Vornado 660 fan he planned on using, he realized that its speed controller was “smart” enough that simply putting a relay on the AC line wouldn’t allow him to turn it on and off.

So he had to do some reverse engineering to figure out how the Sonix SN8P2501B microcontroller on the board was controlling the fan, and then wire the Photon directly to the pins on the chip that corresponded with the various physical controls. This allows the Photon to not only “push” the buttons to trigger the different speeds, but also read the controls to see if a human is trying to override the current setting.

For the remote side [Ben] is using a Particle Xenon, which is specifically designed for Internet of Things endpoints and sensor applications. Combined with a TMP36 temperature sensor and 3.7 V 500 mAh battery, this allowed him to easily put together a wireless remote thermometer that will publish the current temperature to the Photon’s mesh network at regular intervals.

This isn’t the first time we’ve seen the Particle Photon used to augment an unassuming piece of hardware. We’ve previously seen one get grafted into a coffee maker, and if you can believe it, somebody even stuck one inside an umbrella to create a mobile weather station.