Despite its diminutive proportions, the thrust to weight ratio of the DJI Mini 2 is high enough that it can carry a considerable amount of baggage. So it’s no surprise that there’s a cottage industry of remotely controlled payload releases that can be bolted onto the bottom of this popular quadcopter. But [tterev3] wanted something that would integrate better with DJI’s software instead of relying on a separate transmitter.
As explained in the video below, his solution was to tap into the signals that control the RGB LED on the front of the drone. Since the user can change the color of the LED at any time with the official DJI smartphone application, decoding this signal to determine which color had been selected is like adding several new channels to the transmitter. In this case [tterev3] just needed to decode a single color to use as a “drop” signal, but it’s not hard to imagine how this concept could be expanded to trigger several different actions with a few more lines of code.
[tterev3] wrote some software to decode the 48 bits of data being sent to the LED with a PIC18F26K40 microcontroller, which in turn uses an L9110H H-Bridge to control a tiny gear motor. To get feedback, he’s using a small magnet glued to the release arm and a Hall-effect sensor.
Concerned about how much power he could realistically pull from a connection that was intended for an LED, he gave the release its own battery that is slowly charged while the drone is running. You could argue that since the motor only needs to fire up once to drop the payload, [tterev3] probably could have gotten away with not recharging it at all during the flight. But as with the ability to decode additional color signals, the techniques being demonstrated here hold a lot of promise for future development.
If you stay up to date with niche software news, your ears may recently have twitched at the release of a new programming language: V. New hobby-project programming languages are released all the time, you would correctly argue; what makes this one special? The answer is a number of design choices which promote speed and safety: V is tiny and very fast. It’s also in a self-proclaimed alpha state, and though it’s already been used to build some interesting projects, is still at an early stage.
There’s not a huge amount of detail available in the video below, and no build log per se. But [Electron Dust] has a few shots in the video that explain what’s going on, as well as a brief description in a reddit thread about the device. The idea is to spin a ball up to a steady speed and release it the same way every time. The rig itself is made of wood and spun by plain brushed DC motors – [Electron Dust] explains that he chose them over PWM servos to simplify things and eliminate uncertainty in the release point. The ball is retained by a pair of arms, each controlled by a pair of hobby servos. An Arduino spins along with everything else and counts 50 revolutions before triggering the servos to retract and release the ball. A glass positioned at the landing spot captures the ball perfectly once everything is dialed in.
Though Python 3 was released in 2008, many projects are still stuck on Python 2.
It’s understandable that porting large existing codebases to a new version is a prospect which sends a shiver down many a developer’s spine. But code inevitably needs to be maintained, and so when all the shiny new features that would fix everything are in a new version, is it really worth staying rooted in the past?
We’ll take you through some of the features that Python 2 programs are missing out on, not only from 3.0 but up to the current release (3.7).
Used for general purpose programming, data science, website backends, GUIs, and pretty much everything else; the first programming language for many, and claimed to be the fastest growing in the world, is of course Python. The newest version 3.7.0 has just recently been released.
Naturally any release of Python, no matter how small, undergoes meticulous planning and design before any development is started at all. In fact, you can read the PEP (Python Enhancement Proposal) for Python 3.7, which was created back in 2016.
What’s new in 3.7? Why should you upgrade? Is there anything new that’s actually useful? I’ll answer these questions for you by walking through some examples of the new features. Whilst there’s not much in this release that will make a difference to the Python beginner, there’s plenty of small changes for seasoned coders and a few headline features you’ll want to know about.
What’s an ADSR envelope generator? If you are a big music hacker, you probably know. If you are like the rest of us, you might need to read [Mich’s] post to find out that it is an attack-decay-sustain-release (ADSR) envelope generator. Still confused? It is a circuit used in music synthesis. You can see a demo of the device in the video below.
Before the Altair–which was sort of the first hobbyist computer you could actually buy–electronics magazines were full of music synthesizer projects that had a lot in common with the analog computers of old. A lot of people took that very seriously and then computers took over the collective consciousness and we found musical hackers started working with (digital) computer-based synthesizers. But the old analog synth designs just won’t die. [Mich’s] ADSR is based on an ancient design, and the amount of information and additions he provides makes it worth a read, even if you don’t fancy building one.
We’ve been watching the development of the ESP32 chip for the last year, but honestly we’ve been a little bit cautious to throw all of our friendly ESP8266s away just yet. Earlier this month, Espressif released version 2.0 of their IoT Development Framework (ESP-IDF), and if you haven’t been following along, you’ve missed a lot.
We last took a serious look at the IDF when the chips were brand-new, and the framework was still taking its first baby steps. There was no support for such niceties as I2C and such at the time, but you could get both cores up and running and the thing connected to the network. We wanted to test out the power-save modes, but that wasn’t implemented yet either. In short, we were watching the construction of a firmware skyscraper from day one, and only the foundation had been poured.
But what a difference eight months make! Look through the GitHub changes log for the release, and it’s a totally new ballgame. Not only are their drivers for I2C, I2S, SPI, the DAC and ADCs, etc, but there are working examples and documentation for all of the above. Naturally, there are a ton of bugfixes as well, especially in the complex WiFi and Bluetooth Low Energy stacks. There’s still work left to do, naturally, but Espressif seems to think that the framework is now mature enough that they’ve opened up their security bug bounty program on the chip. Time to get hacking!