Friday Hack Chat: Chip Gracey From Parallax

Learn the ins and outs of multi-core microcontrollers as Chip Gracey leads this week’s Hack Chat on Friday 5/5 at noon PDT. Chip founded Parallax and has now been working for more than a decade on the Propeller 2 design, a microcontroller which has 8 and 16 core options.

When it comes to embedded development, most people think of a single process running. Doing more than one task at a time is an illusion provided by interrupts that stop one part of your program to spend a few cycles on another part before returning. The Propeller 2 has true parallel processing; each core can run its own part of the program. From the embedded engineer’s perspective that makes multiple real-time operations possible. Where things get really interesting is how those cores work together.

Here’s your chance to hear about multi-core embedded first hand, from both the silicon design side and the firmware developer side. Join us for a Parallax Hack Chat this Friday at noon PDT.

Here’s How To Take Part:

join-hack-chatOur Hack Chats are live community events on the Hackaday.io Hack Chat group messaging.

Log into Hackaday.io, visit that page, and look for the ‘Join this Project’ Button. Once you’re part of the project, the button will change to ‘Team Messaging’, which takes you directly to the Hack Chat.

You don’t have to wait until Friday; join whenever you want and you can see what the community is talking about.

STM32 Analog Converter Phase Noise

[Avian] has been using STM32 ARM processors to sample RF for a variety of applications. At first, he was receiving relatively wide TV signals. Recently, though, he’s started dealing with very narrow signals and he found that his samples had a lot of spread in the frequency domain that he didn’t expect.

What followed was some detective work that resulted in a determination that phase noise was the culprit. But why? [Avian] took some measurements and noticed that the phase noise almost exactly matched the phase noise specification for the STM32’s phase locked loop (PLL).

Unfortunately, there didn’t seem to be a good way to avoid using the PLL without major changes to the rest of the circuit. However, it was quite the learning experience and something to be aware of when counting on built-in converters for high-accuracy measurements.

One of the best things about this post is the references to more information. There’s a great explanation of phase noise, as well as a specific application note about clock jitter and analog converters.

We’ve talked about phase noise in direct digital synthesis a few times. But usually, it is pretty obvious like when you are asking a CPU to double as an RF transmitter. [Avian’s] post was a bit more of a detective story.

The Connected Calculator With ESP8266

Calculator hacks have been around for a while now and we have seen the most action around the Texas Instruments TI-83 and TI-84. When [johnkimdinh] found a way to add an ESP8266 to a scientific calculator (machine translation) and this time around it’s a Kenko FX-82M calculator which appears eerily similar to the Casio FX-82M.

In his video, [johnkimdinh] demonstrates his hack which has a web interface for transmitting numbers to the calculator. This is accomplished by accessing the keypad using the ESP8266 GPIOs and it is essentially the equivalent of typing remotely. The rest of the circuit remains intact so bit more work and the other functions should be available remotely as well.

Perhaps this hack is best suited as a dedicated display for outputting measurements and other data which requires some type of post-processing to be human readable. If the next iteration delivers the ability to read from the display we’ll really be getting somewhere. We envision such calculators being used as the future of education where the connectivity is used to retrieve an array of real time parameters for assignments. Add a few sensors into the mix and it could be the next big thing for STEM.

In the past, we have had calculators brought to life to do vector and matrix math and ESP8266s connected to TI-84 calculators. After all, everyone has calculators, they simply must be hacked!

Continue reading “The Connected Calculator With ESP8266”

Making A Solar-Cell Tester With Mecrisp-Stellaris Forth

In the last two articles on Forth, I’ve ranted about how it’s beautiful but strange, and then gotten you set up on a basic system and blinked some LEDs. And while I’ve pointed you at the multitasker, we haven’t made much real use of it yet. Getting started on a Forth system like this is about half the battle. Working inside the microcontroller is different from compiling for the microcontroller, and figuring out the workflow, how to approach problems, and where the useful resources are isn’t necessarily obvious. Plus, there’s some wonderful features of Mecrisp-Stellaris Forth that you might not notice until you’ve hacked on the system for a while.

Ideally, you’d peek over the shoulder of someone doing their thing, and you’d see some of how they work. That’s the aim of this piece. If you’ve already flashed in our version of Mecrisp-Stellaris-plus-Embello, you’re ready to follow along. If not, go back and do your homework real quick. We’ll still be here when you’re done. A lot of this article will be very specific to the Mecrisp-Stellaris flavor of Forth, but given that it runs on tons of ARM chips out there, this isn’t a bad place to be.

Continue reading “Making A Solar-Cell Tester With Mecrisp-Stellaris Forth”

Heavy Metal Detectors

Helsinki has a strong underground Heavy Metal scene, so what better way to show it off than to have listeners literally unearth the local sounds themselves with converted metal detectors that play, naturally, Metal? [Steve Maher] built these modified detectors and handed them to a bunch of participants who went on exploratory walks around the city. The tracks from local bands changed as the user moved from one concealed metallic object to the other to create the experience of discovering the hidden soundscape of the land.  Continue reading “Heavy Metal Detectors”

ESP32’s Dev Framework Reaches 2.0

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!

Continue reading “ESP32’s Dev Framework Reaches 2.0”

Moving Forth With Mecrisp-Stellaris And Embello

In the last episode, I advocated a little bit for Forth on microcontrollers being a still-viable development platform, not just for industry where it’s usually seen these days, but also for hackers. I maybe even tricked you into buying a couple pieces of cheap hardware. This time around, we’re going to get the Forth system set up on that hardware, and run the compulsory “hello world” and LED blinky. But then we’ll also take a dip into one of the features that make Forth very neat on microcontrollers: easy multitasking.

To work!

Hardware

Mecrisp-Stellaris Forth runs on a great number of ARM microcontrollers, but I’ll focus here on the STM32F103 chips that are available for incredibly little money in the form of a generic copy of the Maple Mini, often called a “STM32F103 Minimum System Board” or “Blue Pill” because of the form-factor, and the fact that there used to be red ones for sale. The microcontroller on board can run at 72 MHz, has 20 kB of RAM and either 64 or 128 kB of flash. It has plenty of pins, the digital-only ones are 5 V tolerant, and it has all the usual microcontroller peripherals. It’s not the most power-efficient, and it doesn’t have a floating-point unit or a DAC, but it’s a rugged old design that’s available for much less money than it should be.

Programmer Connected, Power over USB

Similar wonders of mass production work for the programmer that you’ll need to initially flash the chip. Any of the clones of the ST-Link v2 will work just fine. (Ironically enough, the hardware inside the programmer is almost identical to the target.) Finally, since Forth runs as in interactive shell, you’re going to need a serial connection to the STM32 board. That probably means a USB/serial adapter.

This whole setup isn’t going to cost much more than a fast food meal, and the programmer and USB/serial adapter are things that you’ll want to have in your kit anyway, if you don’t already.

You can power the board directly through the various 3.3 and GND pins scattered around the board, or through the micro USB port or the 5V pins on the target board. The latter two options pass through a 3.3 V regulator before joining up with the 3.3 pins. All of the pins are interconnected, so it’s best if you only use one power supply at a time.

Continue reading “Moving Forth With Mecrisp-Stellaris And Embello”