Arduino On MBed

Sometimes it seems like Arduino is everywhere. However, with a new glut of IoT processors, it must be quite a task to keep the Arduino core on all of them. Writing on the Arduino blog, [Martino Facchin], Arduino’s chief of firmware development, talks about the problem they faced supporting two new boards from Nordic.

The boards, the Nano 33 BLE and Nano 33 BLE Sense are based on an ARM Cortex M4 CPU from Nordic. The obvious answer, of course, is to port the Arduino core over from scratch. However, the team didn’t want to spend the time for just a couple of boards. They considered using the Nordic libraries to interact with the hardware, but since that is closed source, it didn’t really fit with Arduino’s sensitivities. However, in the end, they took a third approach which could be a very interesting development: they ported the Arduino core to the Mbed OS. There’s even an example of loading a sketch on top of Mbed available from [Jan Jongboom].

Continue reading “Arduino On MBed”

Ground Penetrating Radar For The Masses

Radar is a useful tool with familiar uses such as detecting aircraft and observing weather. It also has some less known applications, such as a technology known as ground-penetrating radar (GPR). Despite the difficulty of sending and receiving radio waves through solid objects, with the right equipment it’s possible to build a radar that works underground as well.

GPR is used often for detecting underground utilities, but also has applications in other fields such as archaeology and geology. For those people in these fields, a less expensive GPR was the priority of a group presenting at a 2017 National Institute of Telecommunications of Poland conference (pdf warning). The presentation goes into specific detail on how to build a GPR for around €600, much less than commercial offerings.

The presentation begins by highlighting the basics of GPR, then details the hardware bill of materials for the transmitting circuit, receiving circuit, and the DC power supplies. It also details the theory behind the software needed to get the circuit running properly, and has code as well. The processing is done on a 32-bit Mbed platform, and the rest of the GPR is built with easy-to-source components as well.

It’s always good to see useful hardware projects that bring costs of traditionally expensive equipment down to the grasp of average people. Even traditional radar systems are now available for hundreds of dollars, and we’ve even seen attempts at other GPR systems before as well.

Thanks to [Stefan] for the tip!

Writing On A Whiteboard, Performed By A Robot

For some of us here at Hackaday, school is but a very distant memory. All that teenage awkwardness we’d rather forget, synth pop, and 8-bit computers were cool the first time around, and our newer classrooms didn’t have blackboards any more. The Whiteboard Future Had Arrived, and it came with solvent-laden pens that our more rebellious classmates swore would get you high if you sniffed them for long enough. Innocent times. Kids nowadays probably get their lessons from iPads, but the whiteboard isn’t finished just yet. [f4hdk] has updated his board with Scribot, a whiteboard-writing robot arm driven by a couple of stepper motors and a nicely-engineered set of belts, that writes text from ASCII files in a custom-designed vector font.

At the end of the arm is a whiteboard marker, and in a neat twist it has an eraser on its rear end. A quick flip of the servo holding the marker, and it can rub out any of its work. Behind it all is an LPC1789 Cortex M3-based Mbed board with appropriate servo driver boards, and for those curious enough to take a second look there is a full code repository. The result as you can see in the video below the break is a very well-executed whiteboard writer. Your 1980s teacher might have grumbled at the new technology, but certainly couldn’t accuse it of doing a bad job!

Continue reading “Writing On A Whiteboard, Performed By A Robot”

Mbed Labs Chock Full Of Arm Goodies

One of the things we like about ARM processors is that there are a variety of options for library support. You can write your own code at the bare metal, of course, but you can also use many different abstraction libraries to make things easier. At the other end of the spectrum, there is Mbed, similar to the sort of libraries that Arduino supplies. Easy to use, although not always the best possible performance. Mbed now has an Mbed Labs site with a lot of extra goodies that go with the Mbed ecosystem, and it has quite a few interesting things.

You’ve always been able to write Mbed code in your browser — some people love that and some hate it and use locally-hosted tools like Platform.io. However, with the Mbed Lab, you can build and most importantly simulate your code in the browser (something we covered last year). There’s also a Javascript interpreter that runs on your chip, a small implementation of TensorFlow for deep learning, and a few other projects on the page.

Continue reading “Mbed Labs Chock Full Of Arm Goodies”

An Mbed In Your Browser

If you have dabbled in the world of ARM microcontrollers, you might be familiar with the Mbed platform, a software abstraction layer for a range of ARM-based small dev boards. If you don’t have an Mbed board but fancy giving it a go, you might imagine that you’d be out of luck, but [Jan Jongboom] could have an answer to your problem in the form of an Mbed simulation in your browser.

We’re not high-end ARM microcontroller developers here at Hackaday so beyond observing that it brings the Mbed abstraction layer binaries to the browser through the magic of Emscripten it’s best to point the curious at its GitHub repository. But we can see its attraction as a means to take a look at Mbed, and given that [Jan] describes himself as “a developer and evangelist currently working on the Internet of Things for ARM“, it’s safe to say this one comes as they say, from the horse’s mouth.

The Mbed board that is probably most famous is the education-focused micro:bit, but there are plenty of others on the market. Back in 2015 we published a getting started guide, if you are new to the Mbed.

Via Hacker News.

Exploring The BBC Micro:Bit Software Stack

The BBC micro:bit has been with us for about eighteen months now, and while the little ARM-based board has made a name for itself in its intended market of education, we haven’t seen as much of it in our community as we might have expected.

If you or a youngster in your life have a micro:bit, you may have created code for it using one of the several web-based IDEs, a graphical programming system, TypeScript, or MicroPython. But these high level languages are only part of the board’s software stack, as [Matt Warren] shows us with his detailed examination of its various layers.

The top layer of the micro:bit sandwich is of course your code. This is turned into a hex file by the web-based IDE’s compiler, which you then place on your device. Interestingly only the Microsoft TypeScript IDE compiles the TypeScript into native code, while the others bundle your code up with an interpreter.

Below that is the micro:bit’s hardware abstraction layer, and below that in turn is ARM’s Mbed OS layer, because the micro:bit is at heart simply another Mbed board. [Matt] goes into some detail about how the device’s memory map accommodates all these components, something essential given that there is only a paltry 16 kB of RAM in hand.

You might wish to program a micro:bit somewhat closer to the metal with the Mbed toolchain, but even if that is the case it’s still of interest to read a dissection of its official stack. Meanwhile, have a look at our review of the board, from summer 2016.

Tiny Tensor Brings Machine Deep Learning To Micros

We’ve talked about TensorFlow before — Google’s deep learning library. Crunching all that data is the province of big computers, not embedded systems, right? Not so fast. [Neil-Tan] and others have been working on uTensor, an implementation that runs on boards that support Mbed-OS 5.6 or higher.

Mbed of course is the embedded framework for ARM, and uTensor requires at least 256K of RAM on the chip and an SD card less than (that’s right; less than) 32 GB. If your board of choice doesn’t already have an SD card slot, you’ll need to add one.

Continue reading “Tiny Tensor Brings Machine Deep Learning To Micros”