Since the introduction of the Raspberry Pi Zero, the hacker, maker, and hobbyist electronics world has been thrown into turmoil. ‘The Raspberry Pi Foundation is corrupt,’ the detractors said, ‘and the Pi Zero is just a marketing ploy to get their name out.’ Others chimed in that the Raspberry Pi Zero doesn’t even exist. Despite what a million monkeys on a million keyboards say, the Raspberry Pi Zero does exist and is very cool, despite how limited it is. There’s only one USB port, but that doesn’t mean you can’t have WiFi. [ajlitt] came up with a WiFi hat for the Pi Zero that goes right through the GPIO pins, and shouldn’t cost more than a few dollars to implement on any Raspberry Pi.
There is no Ethernet port on the Pi, and apart from a single USB OTG port, no apparent high-speed interfaces to the outside world. On the other hand, there’s a few things hidden deep down in the SoC on the Pi including two MMC controllers. One of these controllers is used for the SD card, but the second can be broken out on a few GPIO pins. By tapping into those pins and configuring the kernel just right, SDIO is available on the GPIO pins, giving the Pi WiFi through a cheap ESP8266 module.
We’ve seen [ajlitt]’s work on SDIO devices on the Pi before, but he’s slowly been reworking this build with the Pi Zero in mind. It didn’t begin as a project for the Hackaday Prize, but already it’s one of the more popular entries so far. Of course there are thousands of projects on Hackaday.io that aren’t entered into the Hackaday Prize this year, and if you’re behind one of those, this is your call to step up.
If you need an industrial-strength IoT product, you need an industrial-strength WiFi chipset. For our own household hacks, we’re totally happy with the ESP8266 chip. But if you need to connect to the big, scary Internet you’ll probably want state-of-the-art encryption. In particular, Amazon insists on TLS 1.2 for their Web Services (AWS), and we don’t know how to get that working on the ESP.
[Anuj] designed a breakout board called the knit which includes a Marvell MW300 WiFi SOC. This chip has an onboard ARM Cortex M4F running at 200 MHz, which means you’ve got a lot of everything to play with: flash memory, RAM, a floating-point unit, you name it. And Marvell’s got an SDK for using AWS that includes things like an operating system and peripheral support and other niceties. TLS 1.2 is included.
Best of all, a MW300 breakout is reasonably affordable (though more expensive than the mass-produced ESP8266 modules, naturally) and it’s an entirely open design. [Anuj] also seems to be setting up for a production run, if you don’t feel like making it yourself.
The MW300 is in all sorts of commercial IoT designs, and it’s a battle-tested go-to for interfacing with “the cloud” securely. The only hobbyist-friendly board that’s similar is the Adafruit WICED WiFi Feather, but it’s more expensive, less powerful, and out of stock at the moment, which just shows the demand for something like this.
Of course, if you need more integrated peripherals, you could just hack up a “Hello Barbie” toy which has the same chip as well as sweet audio codecs and a nice fat flash ROM.
We think it’s neat that [Anuj] would make and test a breakout for this powerful little WiFi SOC. We don’t need one for our projects right now — we’re running in entirely insecure mode — but it’s good to know what your options are. (We’re also looking into esp-open-rtos for the ESP8266 — we know they’ve been working on TLS 1.2 encryption, but we don’t know what their status is at the moment. Anyone?)
In any motorsport, the more you know about how the engine is performing, the better a driver is likely to do in a race. That holds for bicycles, too, where the driver just happens to also be the engine. There are plenty of cheap bike computers on the market, but the high-end meters that measure power output are a bit pricey. [chiprobot] is looking to change that with a home-brew, low-cost bike power meter.
The project still appears to be in the proof-of-concept phase, but it’s an interesting concept for sure. The stock crank arms are carefully fitted with two pairs of tiny strain gauges. The gauges are wired in a Wheatstone bridge arrangement, with one gauge in each pair mounted perpendicular to the force on the crank to serve as a static reference. Output from the bridge is fed to an HX711 instrumentation amplifier. The demo video below shows how sensitive the bridge and 24-bit amp are.
The goal is to send crank data to a handlebar-mounted UI via WiFi with a pair of ESP8266 modules. We like the idea of a bicycle area network, but [chiprobot] has his work cut out for him in terms of ruggedizing and weatherproofing all this gear. We’ll be sure to keep an eye on this project. In the meantime, there’s plenty to learn from this bike power meter project we covered last year.
Continue reading “Bike Power Meter with Crank-mounted WiFi Strain Gauges”
I’ve been testing out the Raspberry Pi 3, and one thing I have found is that the WiFi antenna that was added in this new model is not especially good: the Pi has trouble connecting to my WiFi network in places that other devices have no issues. That’s not surprising, because the antenna on the Pi 3 is tiny: mounted right next to the display connector, it is just a few millimeters wide. [Ward] at DorkbotPDX agrees, so he decided to look into adding a better antenna by adding an external connector.
He tried two approaches: replacing the antenna with a tail connector, and adding a U.FL connector to the unused solder pads on the board. Both require some delicate soldering work, so they aren’t approached lightly. Replacing the antenna with an external connector produced a significant increase in signal output, which should equate with more range for the WiFi connection.
It is also interesting to note that the Pi 3 has solder pads on the board to add an external antenna connector, but that they are not used. Plus, one of the solder pads is covered by solder mask. Using these is the second approach that [Ward] used, soldering on a U.FL connector and connecting that to a small rubber duckie antenna. Again, this proved more efficient, increasing the power output of the antenna significantly.
NOTE: This hack definitely falls into “Don’t try this at home” territory. Messing with antennas voids the warranty and FCC certification for the Pi, and can cause all sorts of signal-related unpleasantness if you aren’t careful.
With three kids, including himself, [Dave] faced the very real likelihood of someone absent-mindedly leaving the garage door open and being robbed blind. Rather than installing some plebeian solution, he compiled a feature list. And what a feature list it is!
The garage door needed to notify him of its status with strategically placed LEDs around the house, and give him full control on his devices. He wanted to open and close it using his existing key-code entry system. Lastly, it would be extra-cool if he could add some biometrics to it; in this case, a fingerprint sensor.
The core hardware is the staple Arduino augmented with a fingerprint module, a touch screen, some vitamins, and a WiFi break-out. He also worked up some casings in tinkercad: one for the indoor hardware, another with a flip cover for the outdoor fingerprint scanner.
We think [Dave] has accomplished what he set out to. We can just picture the would-be-thief staring at the finger print scanner and moving their operation one house over where the world is simpler. Video after the break.
Continue reading “Fingerprint Garage Door Won’t Open Every Time A Neighbor Microwaves a Burrito”
When the remote for your son’s RC car goes missing, what are you going to do? Throw away a perfectly good robot chassis? No, we wouldn’t either. And these days, with WiFi-enabled microcontroller boards so readily available, it’s almost easier to network the thing than it would be to re-establish radio control. So that’s just what [Stian Søreng] did.
Naturally, there’s an ESP8266 board at the heart of this hack, a WeMos D1 to be specific. [Stian] had played with cheap remote-controlled cars enough to be already familiar with the pinout of the RC IC, so he could simply hook up some GPIOs from the WeMos board to the pins and the brain transplant was complete.
On the software side, he implemented control over TCP by sending the characters “F”, “B”, “L”, or “R” to send the car forward, back, left, or right. Lowercase versions of the same letters turns that function off. He then wrote some client software in Qt that sends the right letters. He says that response time is around 150-250 ms, but that it works for his driving style — crashing. (We’d work on that.)
Anyway, it’s a fun and fairly quick project, and it re-uses something that was destined for the junk heap anyway, so it’s a strict win. The next steps are fairly open. With computer control of the car, he could do anything. What would you do next?
Thanks [Eyewind] for the tip!
This simple WiFi serial port monitor would have saved us a lot of trouble. We can’t count how many times where being hooked into an Arduino with USB just to get the serial out has nearly been more trouble than it’s worth. Times where we sat cross-legged on the floor and could choose comfort or accidentally shifting the set-up and ruining everything, but not both.
As simple as this technique is, we can see ourselves making a neat little box with TX, RX, GND, and VCC screw terminals to free us from the nightmare of tethering on concrete floors just for a simple test. Video after the break.
Continue reading “Monitor A Serial Port From Anywhere”