Arduino Just Introduced An FPGA Board, Announces Debugging And Better Software

Today ahead of the Bay Area Maker Faire, Arduino has announced a bevy of new boards that bring modern features and modern chips to the Arduino ecosystem.

Most ambitious of these new offerings is a board that combines a fast ARM microcontroller, WiFi, Bluetooth, and an FPGA. All this is wrapped in a package that provides Mini HDMI out and pins for a PCIe-Express slot. They’re calling it the Arduino MKR Vidor 4000.

Bringing an FPGA to the Arduino ecosystem is on the list of the most interesting advances in DIY electronics in recent memory, and there’s a lot to unpack here. FPGA development boards aren’t new. You can find crates of them hidden in the storage closet of any University’s electronics lab. If you want to buy an FPGA dev board, the Terasic DE10 is a good starter bundle, the iCEstick has an Open Source toolchain, and this one has pink soldermask. With the release of the MKR Vidor, the goal for Arduino isn’t just to release a board with an FPGA; the goal is to release a tool that allows anyone to use an FPGA.

The key to democratizing FPGA development is Arduino’s work with the Arduino Create ecosystem. Arduino Create is the company’s online IDE that gives everyone the ability to share projects and upload code with Over-the-Air updates. The MKR Vidor will launch with integration to the Arduino Create ecosystem that includes a visual editor to work with the pre-compiled IP for the FPGA. That’s not to say you can’t just plug your own VHDL into this board and get it working; that’s still possible. But Arduino would like to create a system where anyone can move blocks of IP around with a tool that’s easy for beginners.

A Facelift for the Uno WiFi

First up is the brand new Arduino Uno WiFi. While there have been other boards bearing the name ‘Arduino Uno WiFi’ over the years, a lot has changed in the world of tiny radio modules and 8-bit microcontrollers over the past few years. The new Arduino Uno WiFi is powered by a new 8-bit AVR, the ATMega4809. The ATMega4809 is a new part announced just a few months ago, and is just about what you would expect from the next-generation 8-bit Arduino; it runs at 20MHz, has 48 kB of Flash, 6 kB of SRAM, and it comes in a 48-pin package. The ATMega4809 is taking a few lattices of silicon out of Microchip’s playbook and adds Custom Configurable Logic. The CCL in the new ATMega is a peripheral that is kinda, sorta like a CPLD on chip. If you’ve ever had something that could be more easily done with logic gates than software, the CCL is the tool for the job.

But a new 8-bit microcontroller doesn’t make a WiFi-enabled Arduino. The wireless power behind the new Arduino comes from a custom ESP-32 based module from u-blox. There’s also a tiny crypto chip (Microchip’s ATECC508A) so the Uno WiFi will work with AWS. The Arduino Uno WiFi will be available this June.

But this isn’t the only announcement from the Arduino org today. They’ve been hard at work on some killer features for a while now, and now they’re finally ready for release. What’s the big news? Debuggers. Real debuggers for the Arduino that are easy to use. There are also new boards aimed at Arduino’s IoT strategy.

Continue reading “Arduino Just Introduced An FPGA Board, Announces Debugging And Better Software”

The Solid State Weather Station

Building personal weather stations has become easier now than ever before, thanks to all the improvements in sensors, electronics, and prototyping techniques. The availability of cheap networking modules allows us to make sure these IoT devices can transmit their information to public databases, thereby providing local communities with relevant weather data about their immediate surroundings.

[Manolis Nikiforakis] is attempting to build the Weather Pyramid — a completely solid-state, maintenance free, energy and communications autonomous weather sensing device, designed for mass scale deployment. Typically, a weather station has sensors for measuring temperature, pressure, humidity, wind speed and rainfall. While most of these parameters can be measured using solid-state sensors, getting wind speed, wind direction and rainfall numbers usually require some form of electro-mechanical devices.

The construction of such sensors is tricky and non-trivial. When planning to deploy in large numbers, you also need to ensure they are low-cost, easy to install and don’t require frequent maintenance. Eliminating all of these problems could result in more reliable, low-cost weather stations to be built, which can then be installed in large numbers at remote locations.

[Manolis] has some ideas on how he can solve these problems. For wind speed and direction, he plans to obtain readings from the accelerometer, gyroscope, and compass in an inertial sensor (IMU), possibly the MPU-9150. The plan is to track the motion of the IMU sensor as it swings freely from a tether like a pendulum. He has done some paper-napkin calculations and he seems confident that it will provide the desired results when he tests his prototype. Rainfall measurement will be done via capacitive sensing, using either a dedicated sensor such as the MPR121 or the built-in touch capability in the ESP32. The design and arrangement of the electrode tracks will be important to measure the rainfall correctly by sensing the drops. The size, shape and weight distribution of the enclosure where the sensors will be installed is going to be critical too since it will impact the range, resolution, and accuracy of the instrument. [Manolis] is working on several design ideas that he intends to try out before deciding if the whole weather station will be inside the swinging enclosure, or just the sensors.

If you have any feedback to offer before he proceeds further, let him know via the comments below.

The Internet Of Claw Machines

Remote administration of machines is a very useful tool for all manner of commercial, industrial, and home applications. Now, it’s available for claw machines, too – thanks to [Code Your Venture Free].

The project uses an ESP32 board that includes a battery case on the back for a standard 18650 lithium battery that makes getting small battery powered projects off the ground much easier. You can find them at Banggood and AliExpress, but we’re not 100% sure that they’re kosher because they’re branded WeMos, but don’t show up on WeMos’ website or their official online retail store. Anyway, it’s a cute idea to strap a LiPo cell to the back like that. Let us know in the comments if you know more.

Back to the claw! An off-the-shelf thumbstick is then connected to the ESP32 which is programmed to send packets over the network to control the claw machine, which is wired up with its own network-connected microcontroller. It’s all wrapped up in the usual 3D printed case.

The one problem that the project doesn’t solve is delivery – how does the remote player, whether on the local network or online, collect their prize? We can only assume some cutting-edge form of drone delivery is the solution. It’s not the first remote claw machine we’ve seen, either. Video after the break.

Continue reading “The Internet Of Claw Machines”

Fast LED Matrix Graphics For The ESP32

Many of you will have experimented with driving displays from your microcontroller projects, and for most people that will mean pretty simple status information for which you’d use standard libraries and not care much about their performance. If however any of you have had the need for quickly-updating graphics such as video or game content, you may have found that simpler software solutions aren’t fast enough. If you are an ESP32 user then, [Louis Beaudoin] may have some good news for you, because he has ported the SmartMatrix library to that platform. We’ve seen his demo in action, and the results as can be seen in the video below the break are certainly impressive.

In case you are wondering what the SmartMatrix library is, it’s an LED matrix library for the Teensy. [Louis]’s port can be found on GitHub, and as he was explaining to us over a beer at our Cambridge bring-a-hack, it takes extensive advantage of the ESP32’s DMA capabilities. Making microcontrollers talk with any sort of speed to a display is evidently a hot topic at the moment, [Radomir Dopieralski]’s talk at our Dublin Unconference a few weeks ago addressed the same topic.

We have to admit a soft spot for LED panels here at Hackaday, and given the ESP32’s power we look forward to writing up the expected projects that will come our way using this library.

Continue reading “Fast LED Matrix Graphics For The ESP32”

Build Your Own Supercomputer With ESP32s

If the computer you have isn’t particularly fast, there’s a well-documented way to get more out of it. You just need more of the same computer, and you can run your tasks on them all at the same time. Building computer clusters is an effective way of decreasing the time it takes for computers to solve certain problems, even if the computers themselves aren’t top-of-the-line hardware. Of course, with cheap enough hardware, people will build clusters out of just about anything, including the ESP32.

For this project, [Wei Lin] admits that this isn’t really a serious attempt at building speedy hardware, but rather an interesting exercise in creating a cluster as a sort of learning experience. ESP32 boards can be found for around $10 so building an experimental cluster with these is even more feasible than using the Raspberry Pi. [Wei Lin] goes into a great amount of detail on his GitHub page about all of his goals with the project, most of which involve exploring the functionality of the new cluster and its underpinnings.

While this might seem like little more than a thought experiment, it does have the advantage of being a great solution for problems that involve gathering data from points that are physically very far from one another. If you’ve ever been interested in parallel computing or computing clusters, this is a great project to check out. If you have more Raspberry Pis on hand than ESP32s and still want to build a cluster, check out this project that used a mere 750 of them for one.

 

Emulating OBD-II On The ESP32

It used to be that you could pop the hood and with nothing more than flat head screwdriver, some baling wire, and tongue held at the optimal angle, you could fix anything that ailed your car. But today, for better or for worse, the average automobile is a rolling computer that runs on gasoline and hope (if it even still has a gasoline engine, that is). DIY repairs and maintenance on a modern car is still possible of course, but the home mechanic’s toolbox has needed to evolve with the times. If you want to do anything more advanced than changing a tire, you’ll really want to have the gear to interface with the vehicle’s computer via the OBD-II port.

But for some, even that isn’t enough. [limiter121] recently wrote in to tell us of an interesting project which doesn’t read the OBD-II port in a vehicle, but actually emulates one. Like so many others this hack was born out of necessity, as a way to test an OBD-II project without having to sit out in the driveway all day. It allows you to create fictitious speed and engine RPM values for the OBD-II device or software under test to read, complete with a slick web interface to control the “car”.

So what makes it tick? Surprisingly little, actually. At the most basic level, an ESP32-WROOM-32 is connected up to a SN65HVD230 CAN transceiver chip. You’ll also need a 3.3V power supply, as well as a USB to serial adapter to do the initial programming on the ESP32. From there it’s just a matter of compiling and flashing the code [limiter121] has made available in the GitHub repo.

If you’re wondering if such products don’t already exist on the commercial market, they do. But like so many other niche projects, the price is a bit hard to swallow for the home hacker. Compared to the nearly $300 USD list price of commercial offerings such as the Freematics OBD-II Emulator, building one of these ESP32 based emulators should only cost you around $20.

Unless you’re developing an OBD-II reader, you probably don’t have much use for an OBD-II emulator. But this project could still be useful for anyone who wants to learn more about OBD from the comfort of their couch.

Monitor Foot Traffic Using Radio

We talk a lot about information security around here, but in reality it’s not at the forefront of everyone’s minds. Most people are content to walk around with their phones constantly looking for WiFi or Bluetooth connections despite the dangers. But if you’re not a black hat sort of person, you can do something like [Verkehrsrot] did and use all of these phones to do something useful and harmless.

[Verkehrsrot]’s project involves building a radio listening device in order to get an estimate of the amount of traffic in a particular area. The device polls for and detects WiFi and Bluetooth devices nearby and tallies them. For the privacy-minded, it doesn’t persistently store any information about the people or the devices that it detects. The project also runs on a variety of platforms, although you can get the whole thing up and running with little more than an ESP32 and a small lithium-ion battery.

If you’re looking for a useful way to tally the number of people in a given area, this project could be the thing for you. Not everyone keeps their WiFi and Bluetooth turned on, but even so this is still a good way to estimate. But if you need to count everyone going into a room, for example, you’ll need another way to count them.