TinyGo Brings Go To Arduino

Go — a modern programming language with roots at Google — is one of the new generation languages that would like to unseat C (and C++) for what we think of as traditional programming. It is only for PCs, though, right? Not so fast! TinyGo provides a compiler that — in their words — is for small places. How small? They can target code for the Arduino Uno or the BBC micro:bit. It can also produce code for x86 or ARM Linux (both 32- and 64-bit) as well as WebAssembly. They claim that a recent project to add ESP8266 and EPS32 support to LLVM will eventually enable TinyGo to target those platforms, too.

As you would expect, there are some subtle differences between TinyGo and the full-blown version. The compiler handles the entire program at once which is slower but offers more for optimization. Certain optimizations for interface methods are not used in TinyGo, and global variable handling changes to accommodate moving data from flash to RAM efficiently. TinyGo passes parameters in registers.

Continue reading “TinyGo Brings Go To Arduino”

RISC-V Uses Carbon Nanotubes

In a recent article in Nature, you can find the details of a RISC-V CPU built using carbon nanotubes. Of course, Nature is a pricey proposition, but you can probably find the paper by its DOI number if you bother to look for it. The researchers point out that silicon transistors are rapidly reaching a point of diminishing returns. However, Carbon Nanotube Field Effect Transistors (CNFETs) overcome many of these disadvantages.

The disadvantage is that the fabrication of CNFETs has been somewhat elusive. The tubes tend to clump and yields are low. The paper describes a method that allowed the fabrication of a CPU with over 14,000 transistors. A wafer gets nanotubes grown all over it and then some of them are removed. In addition, some design rules mitigate other problems.

In particular, a small percentage of the CNFETs will become metallic and have little to no bandgap. However, the DREAM design rules can increase the tolerance of the design to metallic CNFETs with no process changes.

Before you get too excited, limitations in channel length and contact size keep the processor running at a blazing 10 kHz. To paraphrase Weird Al, your operating system boots in a day and a half. The density isn’t great either since working around stray and metallic CNFETs means each transistor has multiple nanotubes in use.

On the other hand, it works. New technology doesn’t always match old technology at first, but you have to crawl before you walk, and walk before you run.

We imagine you won’t be able to buy this for $8 any time soon even if you wanted to. At 10 kHz, it probably isn’t going to make much of a desktop PC anyway.

Voice Chess Uses Phone, Arduino, And An Electromagnet

[Diyguypt] may be an altruist to provide the means for people who can’t manipulate chess pieces to play the game. Or he may just have his hands too busy with food and drink to play. Either way, his voice command chessboard appears to work, although it has a lot of moving parts both figuratively and literally. You can check out the video below to see how it works.

The speech part is handled by an Android phone and uses Google’s voice services, so if you don’t want Google listening to your latest opening gambit, you’ll want to pass this one up. The phone uses an app that talks to the Arduino via Bluetooth, which means the Arduino needs a Bluetooth module.

Continue reading “Voice Chess Uses Phone, Arduino, And An Electromagnet”

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”

This Heads Up Display Is All Wet

Athletes have a long history of using whatever they can find to enhance their performance or improve their training. While fitness tracker watches are nothing new, swimmers have used them to track their split times, distance, and other parameters. The problem with fitness trackers though is that you have to look at a watch. FORM has swim goggles that promise to address this, their smart goggles present the swimmer with a heads-up display of metrics. You can see a slick video about them below.

The screen is only on one eye, although you can switch it from left to right. The device has an inertial navigation system and is — of course — waterproof. It supposedly can withstand depths up to 32 feet and lasts 16 hours on a charge. It can use Bluetooth to send your data to your phone in addition to the display.

Continue reading “This Heads Up Display Is All Wet”

Impractical Clock Uses Tuning Fork

Clock projects are so common that they are almost a cliche. After all, microcontrollers have some clock source and are good at counting, so it stands to reason that a clock is an obvious project. [WilkoL’s] clock though has a most unusual clock source: a 440 Hz tuning fork.

A cheap plastic dome really shows off the fork and contributes to this good-looking build. An ATTiny13 divides the input frequency down, handles the display, and obeys the adjustment buttons. It does require a little metalworking, as the tuning fork needed filing and threading, although we bet you could figure out other ways to mount it.

Continue reading “Impractical Clock Uses Tuning Fork”

How The Power Gets To The Outlet

[Practical Engineering] is ready to explain how power substations get electricity to you in his latest video, which you can see below.  One of the things we always notice when talking to people either in our community or outside it is that most people have no idea how most of the modern world works.

Ask your non-technical friend to explain how a cell phone works or how a hard drive stores data and you aren’t likely to get a very good answer. However, even most of us are only focused on some particular aspect of electronics. There are a lot of people who hack on robots or radios. The AC power grid,though isn’t something a lot of people work with as a hobby. Do you know exactly what goes on in that substation you pass every day on your commute? If you don’t, you’ll learn something in the video.

Continue reading “How The Power Gets To The Outlet”