A BluePill For Arduino Dependence

Arduinos are helpful but some applications require more than what Arduinos can provide. However, it’s not always easy to make the switch from a developed ecosystem into the abyss that is hardware engineering. [Vadim] noticed this, which prompted him to write a guide to shepherd people on their quest for an Arduino-free environment, one BluePill at a time.

With an extended metaphor comparing Arduino use and physical addiction, [Vadim’s] writing is a joy to read. He chose to focus on the BluePill (aka the next Arduino Killer™) which is a $1.75 ARM board with the form factor of an Arduino Nano. After describing where to get the board and it’s an accompanying programmer, [Vadim] introduces PlatformIO, an alternative to the Arduino IDE. But wait! Before the Arduino die-hards leave, take note that PlatformIO can use all of the “Arduino Language,” so your digitalWrites and analogReads are safe (for now). Like any getting started guide, [Vadim] includes the obligatory blinking an LED program. And, in the end, [Vadim] sets his readers up to be comfortable in the middle ground between Arduino Land and the Wild West.

The debate for/against Arduino has been simmering for quite some time, but most agree that Arduino is a good place to start: it’s simpler and easier than jumping head first. However, at some point, many want to remove their “crippling Arduino dependency” (in the words of [Vadim]) and move on to bigger and better things. If you’re at this point, or still cling to your Uno, swing on over and give Vadim’s post a read. If you’re already in the trenches, head on over and read our posts about the BluePill and PlatformIO which are great complements for [Vadim’s].

Fight Mold And Mildew With An IoT Bathroom Fan

Delicious sheets of wallboard coated with yummy latex paints, all kept warm and moist by a daily deluge of showers and habitually forgetting to turn on the bathroom exhaust fan. You want mildew? Because that’s how you get mildew.

Fed up with the fuzzy little black spots on the ceiling, [Innovative Tom] decided to make bathroom ventilation a bit easier with this humidity-sensing IoT control for his bathroom exhaust fan. Truthfully, his build accomplishes little more than a $15 timer switch for the fan would, with one critical difference — it turns the fan on automatically when the DHT11 sensor tells the WeMos board that the relative humidity has gone over 60%. A relay shield kicks the fan on until the humidity falls below a set point. A Blynk app lets him monitor conditions in the bathroom and override the automatic fan, which is handy for when you need it for white noise generation more than exhaust. The best part of the project is the ample documentation and complete BOM in the description of the video below, making this an excellent beginner’s project.

No bathroom fan? Not a problem — this standalone humidity-sensing fan can help. Or perhaps you have other bathroom ventilation needs that this methane-sensing fan could help with?

Continue reading “Fight Mold And Mildew With An IoT Bathroom Fan”

Dumb STB Gets Smart

[Vincent Deconinck] gave a fresh lease of life to an old set top box by adding a few Euro’s worth of hardware and some software smarts. The device in question is an old VOOcorder – a Cisco set-top box provided by VOO, his cable service provider in Belgium.

The VOOcorder doesn’t have any WiFi hardware or browser / app based interfaces. It’s a simple device controlled either via an IR remote or front panel buttons. [Vincent] added an ESP8266 and hooked it up to the IR receiver on the set-top box. He also set it up as an SPI slave to the front panel VFD display controller and connected it to the debug serial interface of the VOOcorder as well. The software, on the other hand, required a lot more work consisting of code running on the ESP itself, several HTML pages and JavaScript code for the browser front end, and a few scripts running in the background.

The result was bidirectional interactivity from within a browser, allowing him to send commands and receive status information as well as providing a user-friendly search interface. Further, his browser interface was integrated with information from the service providers website letting him do scheduling and recording of programs. The stuff that interested us is how he sniffed out the IR signals, figured out the SPI protocol used by the front panel controller, and implemented SPI-slave mode for the ESP8266. [Vincent] was surprised that such a cheap device could handle three distinct web servers while parsing two message streams without a hitch.

It’s a great hack showing us how to use super cheap electronics to upgrade and modernize old hardware. Check out the two videos after the break – showing a demo of the hack in action, and a walk through of the hardware modifications.

Continue reading “Dumb STB Gets Smart”

Linux Graphics Programming

There was a time when embedded system developers didn’t need to worry about graphics. When you have a PIC processor and two-line LCD, there isn’t much to learn. But if you are deploying Linux-based systems today, graphics are a real possibility. There are many options for doing Linux graphics including Wayland, X11, and frame buffers. Confused? This tutorial can help. The sections on Wayland and Mir are under construction, but that’s probably not what you are going to be using on a typical hacker project for the foreseeable future, anyway.

Of course, even inside those broad categories, you have multiple choices. If you are doing X11, for example, you can go low-level or pick any of a number of high-level libraries.

Continue reading “Linux Graphics Programming”

New Part Day: Pluggable ESP Modules

Almost exactly four years ago, we came across a really neat module for sale on SeeedStudios. It was a $5 WiFi chip, able to connect your microcontroller project to the Internet with just a handful of wires and a few AT commands. This was the ESP8266, and it has since spawned an entire ecosystem of connected devices.

Now, there’s a new version of the ESP8266 that simply showed up on the Seeed website. Officially, it’s called the, ‘ESP8285 01M Wi-Fi SoC Module’, but you might as well start calling it ‘the Pluggable ESP module’. It’s the smallest ESP8266 module yet at 18mm square, and this one is designed to be plugged into a card-edge connector. It’s eighteen pins of wonder and 1MB of Flash, all ready to be stuffed into the next Internet of Things Thing.

The documentation for this module is sparse, and there isn’t even a mention of it on the AI Thinker website. That said, we can make some reasonable assumptions about what’s going on in this chip and what it can do. This module appears to be based on the ESP8285 SoC. Basically, it’s an ESP8266 with built-in 1MB SPI Flash. There are a handful of GPIOs available, and you should be able to build anything with this module that you could with other ESP8266 modules.

The highlight here is, of course, the card-edge connector. This is a module designed to be dropped into an existing product. You can program the module before hand, and assembly is a snap. The problem, though, is sourcing the relevant connector. It doesn’t look like Seeed has bothered to put a link to the right connector in the product description, although sourcing it shouldn’t be that much of a problem. The only question is if the card edge connectors on this module are hard gold (for multiple mating cycles) or just ENIG. Either way, if you’re plugging these modules into connectors dozens of times, you’re probably doing something wrong.

Follow The Bouncing Ball Of Entropy

When [::vtol::] wants to generate random numbers he doesn’t simply type rand() into his Arduino IDE, no, he builds a piece of art. It all starts with a knob, presumably connected to a potentiometer, which sets a frequency. An Arduino UNO takes the reading and generates a tone for an upward-facing speaker. A tiny ball bounces on that speaker where it occasionally collides with a piezoelectric element. The intervals between collisions become our sufficiently random number.

The generated number travels up the Rube Goldberg-esque machine to an LCD mounted at the top where a word, corresponding to our generated number, is displayed. As long as the button is held, a tone will continue to sound and words will be generated so poetry pours forth.

If this take on beat poetry doesn’t suit you, the construction of the Ball-O-Bol has an aesthetic quality that’s eye-catching, whereas projects like his Tape-Head Robot That Listens to the Floor and 8-Bit Digital Photo Gun showed the electronic guts front and center with their own appeal.

Continue reading “Follow The Bouncing Ball Of Entropy”

Hackaday Prize Entry: An E-Ink Calendar

E-ink displays are becoming almost common in DIY electronics circles, and now we have very capable, low-power microcontrollers, some of which feature some sort of wireless connectivity. Combine these two, and you have the potential for a basic information screen — a low-power device that always displays some sort of relevant information, whether it’s the date or the weather.

For their Hackaday Prize entry, [Wenting] and [Dong] are building an e-ink calendar. It’s a calendar, it displays bitmaps, it can display the time, and with a little more hacking it can display the weather, current traffic, or train schedule. If this were the 90s, we would have called this an information appliance, and it would have blown everyone’s minds.

The current design of this e-ink calendar uses an 800 x 600 pixel display working in 16-level grayscale mode. The processor is an STM32F4, and in a cost-reducing revision, an external SRAM was thrown out and the frame buffer was moved to the internal RAM. The e-ink display is actually pretty quick, allowing for greater than 10 FPS in 1-bit mode.

As with any e-ink project, driving the display is a minor nightmare, but [Wenting] is able to push a few frames per second to the display. That’s good enough for a device that shouldn’t actually change all that much — this is a calendar, after all.