Make Room For A New Arduino Competitor – With Native Brainf*ck!

With so many smaller and more capable microcontroller boards on the market it’s now fairly safe to say that the classic Arduino footprint and form factor is rather outdated. That’s not to say that there’s no fight left in the old contender though, and to prove it here’s a new platform in the familiar style set by the venerable Atmel-based board. [Eduardo Corpeño]’s Brainfuino is an Arduino competitor that runs everyone’s favourite esoteric programming language, Brainf*ck. (Keeping it SFW, folks.)

And in case you mistake it for a Brainf*ck emulator on a PCB then stand ready to be corrected, for this board runs the language natively in a Brainf*ck softcore on a Lattice MachXO2 FPGA. This is the real deal, on which only a true genius or masochist would dare to code.

The board itself is very neatly executed with a graphical style that presents more than a nod to the original Arduino. On this board is the FPGA, 256 kB ROM and 138 kB RAM, an STM32 to provide a USB serial port and an analogue input, and a level shifter to provide Arduino-style 5 V logic on the pins. We can see it’ll provide hours of fun to anyone interested in learning Brainf*ck, but besides that it has potential as an Arduino-shaped FPGA board. We like the joke, we like the graphical and engineering design, but underneath that lies quite the technical achievement.

Brainf*ck has made it to Hackaday before, not least in this jaw-dropping relay computer.

New Part Day: Espressif ESP32-S3

Since Espressif Systems arrived in our collective consciousness they have expanded their range from the ESP8266 to the ESP32, and going beyond the original WROOM and WROVER modules to a range of further ESP32 products. There’s a single-core variant and one that packs a RISC-V core in place of the Tensilica one, and now they’ve revealed their latest product. The ESP32-S3 takes the ESP to a new level, packing as it does more I/O, onboard USB, and an updated version of the two Tensilica cores alongside Bluetooth version 5. It’s still an ESP32, but one that’s more useful, and it’s worth a closer look because we expect it to figure in quite a few projects.

Espressif's block diagram for the chip.
Espressif’s block diagram for the chip.

Sadly the data sheet does not seem to have been released, but we do have some tidbits to consider. Espressif are anxious to tell us about its “AIOT” capabilities thanks to the vector instructions in the EXTensa LX7 cores (PDF) that were not present in the previous model’s LX6. They claim that this will speed up software neural networks; this does have an air of marketing about it but we’ll withhold judgement until we see it in use. The new core certainly will offer a performance improvement across the board though, which should be of interest to all ESP32 developers. Meanwhile the ultra-low-power core that existing ESP32 developers will be familiar with remains.

Then there is that USB support, which appears in the feature block diagram but has little information elsewhere. It’s listed as USB OTG which raises the possibility of the ESP32 being the host, but what it should also bring is the ability to emulate other USB devices. We’ve seen badges mount as WebUSB devices using STM32 clones as peripherals for an ESP32, but in future these tricks should be possible on the Espressif chip itself.

Probably the most anticipated piece of the new device’s specification comes in the addition of 10 new I/O lines. This has historically been a weakness of the ESP line, that it’s an easy chip with which to run out of available pins. These extra lines will make it more competitive with for example the STM32 series of microcontrollers that have larger package options, and will also mean that designs can have more in the way of peripherals without the use of port expanders.

In summary then, the latest member of the ESP32 family delivers a significant and useful update, and brings some of the features first seen in the single core version to the more powerful line of chips. Sadly it doesn’t have the hoped-for on-chip RAM boost, but it brings enough in the way of new capabilities to be of interest. At the moment it doesn’t look like the ESP32-S3 is available to order, but we hope to have engineering samples soon and should be bringing you a hands-on report in due course.

The Amiga 1000, Still Receiving New Peripherals 35 Years Later

In the world of retrocomputing it’s the earliest models that garner the most  interest, usually either due to their rarity, or sometimes just because of their flaws. The Commodore Amiga 1000 is a case in point, it was the machine everybody wanted but its A500 home computer sibling made the Amiga a success story. Peripherals for the 500 are plentiful then, while those for the 1000 remain a rarity. Thus it’s a treat to see an A1000 peripheral appear in the present day, in the form of a memory, clock, and SD card expansion called the Parciero. It packs 8Mb of SRAM to give the Amiga some truly quick fast memory, something that would have used an eye-wateringly expensive brace of chips back in the day but now has just a single package.

We like the description of the Parciero’s case as “about the size of a harmonica that’s been run over by a steam roller“, but it conceals the effect of the march of technology. Amiga enthusiasts are used to their peripherals being chunky affairs full of through-hole chips. Its creator [David Dunklee] is a retired senior US Space Force officer, and we appreciate his humour in the silkscreen layer. It’s a small-scale commercial product, but in a field so select as Amiga 1000 owners it’s unusual enough to make it noteworthy to all retrocomputer enthusiasts by virtue of its mere existence. We congratulate him for helping keep that little corner of vintage technology alive.

The Amiga 1000 may be the original, but it’s possible that it may not be the rarest Amiga.

A Wi-Fi Enabled Dog!

Our canine friends have been at our side for millennia, their prehistoric wolf ancestors evolving alongside us into the breeds we know today. But astoundingly until now no dog has been Wi-Fi enabled, at least according to [Entropy], whose dog [Kaya] now sports a colourful Wi-Fi enabled collar.

Light-up dog collars and harnesses have been with us for a while, and serve the very useful purpose of protecting the animals from accidents by making them visible at night, but [Kaya]’s colar was a particularly disappointing example. Its single light and lacklustre optical fibre coupled with disappointing battery life left much to be desired, so when it broke there was ample excuse to upgrade it. In went a strip of addressable LEDs and an ESP32 module, along with an 18650 lithium-ion cell. We’re a bit unsure whether lights can be controlled from a mobile phone, but perhaps the most significant benefit lies elsewhere. The Wi-Fi hotspot from the ESP32 serves as a beacon to find [Kaya] within a short distance should she wander off, which as any dog owner will tell you can be a boon when they’re investigating some fascinating new smell and ignoring your calls. You can see her modelling the collar in the video below the break.

Canine hacks appear on these pages from time to time. One of our favourites is this not very successful but highly amusing remote controlled dog.

Continue reading “A Wi-Fi Enabled Dog!” →

Review: Pine64 Pinecil Soldering Iron

There was a time when decent quality soldering irons were substantial affairs, soldering stations with a chunky base unit containing the electronics and a lightweight handheld iron for the work. That has changed with the arrival of a new breed of microprocessor controlled lightweight handheld irons. There’s a new kid on the block from a company we associate more with open-source phones, laptops, and single board computers, Pine64 have produced the Pinecil. It’s a lightweight handheld iron with some innovative features at an attractive price, but does it raise the bar sufficiently to take on the competition?

I put the Pinecil through its paces, and and although the device is fully open source, give it a teardown for good measure. Spoiler: it’s my new favorite.
Continue reading “Review: Pine64 Pinecil Soldering Iron” →

Never Forget To Turn On The Cooker Hood Again

The cooker hood is a wonderful invention for removing excess fumes and steam from the kitchen. But like all electrically-powered devices, it only works when it is turned on. This was the problem facing [Peter], whose family are enthusiastic cooks who frequently forget to hit that switch. His solution? An automatic cooker hood switch that comes on when the cooker is in use, and stays on long enough afterwards to fully dissipate the fumes.

At its heart is a current transformer on the 3-phase stove power line, and we’re treated to a lesson in reading from these devices with an Arduino. They have a shunt resistor across which to produce a voltage, and their AC output is placed upon a reference DC voltage to supply the microcontroller pin. The impedance is quite high, so when the sensor had to be placed a distance from the microcontroller it necessitated an op-amp buffer. The readings then cause the Arduino to trigger a pair of relays to switch on or off the cooker hood. We can imagine that the family kitchen is thus a much pleasanter environment for it.

Cookers can also provide quite a hazard when they are left on. To that end, we’ve also featured a cooker alarm in the past.

Header image: Pbroks13, CC BY-SA 3.0.

An Arduino And A CD-ROM Drive Makes A CD Player

In an age of streaming media it’s easy to forget the audio CD, but they still remain as a physical format from the days when the “Play” button was not yet the “Pay” button. A CD player may no longer be the prized possession it once was, but it’s still possible to dabble in the world of 120 mm polycarbonate discs if you have a fancy for it. It’s something [Daniel1111] has done with his Arduino CD player, which uses the little microcontroller board to control a CD-ROM drive via its IDE bus.

The project draws heavily from the work of previous experimenters, notably ATAPIDUINO, but it extends them by taking its audio from the drive’s S/PDIF output. A port expander drives the IDE interface, while a Cirrus Logic WM8805 S/PDIF transceiver handles the digital audio and converts it to an I2S stream. That in turn is fed to a Texas Instruments PCM5102 DAC, which provides a line-level audio output. All the code and schematic can be found in a GitHub repository.

To anyone who worked in the CD-ROM business back in the 1990s this project presses quite a few buttons, though perhaps not enough to dig out all those CDs again. It would be interesting to see whether the I2S stream could be lifted from inside the drive directly, or even if the audio data could be received via the IDE bus. If you’d like to know a bit more about I2S , we have an article for you.