An Ultrasound Driver With Open Source FPGAs

Ultrasound imaging has been around for decades, but Open Source ultrasound has not. While there are a ton of projects out there attempting to create open ultrasound devices, most of this is concentrated on the image-processing side of things, and not the exceptionally difficult problem of pinging a sensor at millions of times a second, listening for the echo, and running that through a very high speed ADC.

For his entry into the Hackaday Prize, [kelu124] is doing just that. He’s building an ultrasound board that’s built around Open Hardware, a fancy Open Source FPGA, and a lot of very difficult signal processing. It also uses some Rick and Morty references, so you know this is going to be popular with the Internet peanut gallery.

The design of the ultrasound system is based around an iCE40 FPGA, the only FPGA with an Open Source toolchain. Along with this, there are a ton of ADCs, a DAC, pulsers, and a high voltage section to drive the off-the-shelf ultrasound head. If you’re wondering how this ultrasound board interfaces with the outside world, there’s a header for a Raspberry Pi on there, too, so this project has the requisite amount of blog cred.

Already, [kelu] has a working ultrasound device capable of sending pulses out of its head and receiving the echo. Right now it’s just a few pulses, but this is a significant step towards a real, working ultrasound machine built around a reasonably Open Source toolchain that doesn’t cost several arms and legs.

Friday Hack Chat: Making Programming Easier

There is a long history of graphical programming languages. Some people don’t like to code, and for them, graphical programming languages replace semicolons and brackets with easy-to-understand boxes and wires.

This Friday, we’re going to be talking about graphical programming languages with [Boian Mitov]. He’s a software developer, founder of Mitov Software, and the creator of Visuino, a graphical programming language for the embedded domain. He specialized in video, audio, DSP, DAQ, industrial automation, communications, computer vision, artificial intelligence, as well as parallel and distributed computing. [Boian] is the author of the OpenWire open source technology, the IGDI+ open source library, the VideoLab, SignalLab, AudioLab, PlotLab, InstrumentLab, VisionLab, IntelligenceLab, AnimationLab, LogicLab, CommunicationLab, and ControlLab libraries, OpenWire Studio, Visuino, and author of the “VCL for Visual C++” technology.

For this Hack Chat, we’re going to be talking about ways to make programming microcontrollers easier. The focus of this discussion is Visuino, a graphical programming environment. Visuino allows anyone to program an Arduino, Teensy, or an ESP simply by connecting wires and choosing some logic. Think of it as a step above the programming environment that came with the Lego Mindstorms, Scratch, or whatever else MIT was coming out with in the early ‘aughts.

You are, of course, encouraged to add your own questions to the discussion. You can do that by leaving a comment on the Hack Chat Event Page and we’ll put that in the queue for the Hack Chat discussion.join-hack-chat

Our Hack Chats are live community events on the Hackaday.io Hack Chat group messaging. This week is just like any other, and we’ll be gathering ’round our video terminals at noon, Pacific, on Friday, May 25th.  Here’s a clock counting down the time until the Hack Chat starts.

Click that speech bubble to the right, and you’ll be taken directly to the Hack Chat group on Hackaday.io.

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

Hackaday Links: May 20, 2018

One of the more interesting pieces of tech from Hollywood that never seems to become a reality is a location tracker. Remember the ‘movement tracker’ in Alien that found the cat in the locker? Yeah, like that. Something that reports the direction and distance to a target, kind of like a PKE Meter from Ghostbusters. I think there was something like this in Predator. On Indiegogo, there’s a device that tracks other devices. It’s called the Lynq, and it’s a small, handheld device that tells you the distance and bearing of other paired devices. Hand them out to your friends, and you’ll be able to find each other at Coachella. While the device and use case is interesting, we’re wondering how exactly this thing works. Our best guess is that each device has a GPS module inside, and communicates with other paired devices over the 900MHz band. It’s a bit pricey at $80 per unit (although you need at least two to be useful), but this is a really interesting project.

The SDRPlay SDR1 and SDR2 are — as you would guess — software defined radio receivers, that retail for $2-300. Problem: a few of these units were stolen from a warehouse, and are winding up on eBay. Solution: SDRPlay has decided to disable the specific receivers ‘via the serial number’. In a move just slightly reminiscent of FTDIgate, a manufacturer has decided to brick products that are stolen or infringe on IP. It’s a solution, but I wouldn’t want to be on the customer service team at SDRPlay.

A few years ago, [Oscar] created the PiDP-8/I, a computer kit that miniaturized the venerable PDP-8/I into a desktop form factor, complete with blinkenlights and clicky switches. It’s a full simulation of a PDP-8 running on a Raspberry Pi, and if you took the PiDP-8/I back to 1975, you could, indeed, connect it to other computers. But the PDP-8/I isn’t the most beautiful minicomputer ever created. That honor goes to the PDP-11/70, a beast of a machine wrapped in injection molded plastic and purple toggle switches. Now, after years of work, [Oscar] has miniaturized this beast of a machine. The PiDP-11/70 is a miniature remake of the PDP-11/70, runs a Raspberry Pi, and is everything you could ever want in a minimainframe. The price will be around $250 — expensive, but have you ever tried to find a PDP-11 front panel on eBay?

The Nvidia TX2 is a credit card-sized computer with a powerful ARM processor and a GPU. The TX2 is a module designed for ‘AI at the edge’, or something along those lines, meaning you can take a trained data set, load it onto an SD card, and the TX2 will do all the fancy image processing and OpenCV without a connection to the Internet. The obvious application for the TX2 is something like an ‘AI camera’, and now this is finally a product. The DNNCam is a 4k, 60FPS camera attached to a TX2 and stuffed into an IP67-rated enclosure. If you’re thinking of building anything like a security camera attached to a GPU, this is the all-in-one solution. It’s pricey, yes, but the TX2 module isn’t exactly cheap.

Stretching The Definitions Of A Custom IC

Maker Faire is the nexus for all things new and exciting. At the Bay Area Maker Faire this weekend, zGlue introduced a new platform that stretches the definition of custom ICs. Is this custom silicon? No, not at all. zGlue is a platform allowing anyone to take off-the-shelf ICs and package them into a single module, allowing you to build a smaller PCB with a shorter BOM.

The zGlue module found in the zOrigin

The idea behind zGlue is to take all of the fun chips available today from accelerometers to tiny microcontrollers with integrated wireless and put them on a tiny, tiny board that is then encapsulated. At Maker Faire, the zGlue team was busy demonstrating their cloud-based platform that allows anyone to add off-the-shelf chips to the zGlue stack and assemble it into a custom module.

Of course, every new tech startup needs a demo, so zGlue has come up with zOrigin, a small fitness tracker that features a suite of chips crammed into one encapsulated package. The chips included in the zOrigin ZiP package are a Dialog DA14585 microcontroller with BLE, an Analog Devices heart rate monitor, a crystal, a bit of Flash, a power monitoring IC and an accelerometer. There are also thirty passives stuck in this single chip, and with a battery, some LEDs, and a vibration motor, this chip becomes a complete solution for wearable fitness trackers.

Shoving a bunch of chips into a single module is nothing new; most of wireless modules available on the market are just that. NextThingCo experimented with a Linux computer on a chip with the GR8 module, again, just a bunch of chips slathered in epoxy. The most visible benefit of custom modules is probably the Octavo System on a Chip that became the PocketBone.

While the ability to create custom modules from off-the-shelf chips is nothing new for manufacturers, the ability for anyone to create their own custom ICs has remained out of reach for the Average Joe hardware hacker. zGlue is the solution to this problem, and the prices seem fairly reasonable, starting at around $100 for the initial R&D.

Video of the Arduino FPGA Board Demo at Maker Faire

This week, Arduino announced a lot of new hardware including an exceptionally interesting FPGA development board aimed at anyone wanting to dip their toes into the seas of VHDL and developing with programmable logic. We think it’s the most interesting bit of hardware Arduino has released since their original dev board, and everyone is wondering what the hardware actually is, and what it can do.

This weekend at Maker Faire Bay Area, Arduino was out giving demos for all their wares, and yes, the Arduino MKR Vidor 4000 was on hand, being shown off in a working demo. We have a release date and a price. It’ll be out next month (June 2018) for about $60 USD.

But what about the hardware, and what can it do? From the original press releases, we couldn’t even tell how many LUTs this FPGA had. There were a lot of questions about the Mini PCIe connectors, and we didn’t know how this FPGA would be useful for high-performance computation like decoding video streams. Now we have the answers.

The FPGA on board the Arduino Vidor is an Altera Cyclone 10CL016. This chip has 16k logic elements, and 504 kB memory block. This is on the low end of Altera’s FPGA lineup, but it’s still no slouch. In the demo video below, it’s shown decoding video and identifying QR codes in real time. That’s pretty good for what is effectively a My First FPGA™ board.

Also on board the Vidor is a SAMD21 Cortex-M0+ microcontroller and a uBlox module housing an ESP-32 WiFi and Bluetooth module. This is a really great set of chips, and if you’re looking to get into FPGA development, this might just be the board for you. We haven’t yet seen the graphic editor that will be used to work with IP for the FPGA (for those who don’t care to write their own VHDL or Verilog), but we’re looking forward to the unveiling of that new software.

Autonomous Agribots For Agriculture

For his Hackaday Prize entry, [TegwynTwmffat] is going all-in on autonomous robotics. No, it’s not a self-driving car with highly advanced features such as cruise control with lane-keeping. This is an autonomous robot that’s capable of driving itself. It’s a robot built for agriculture, and relative to other autonomous robotics projects, this one is huge. It’s the size of a small tractor.

The goal [Tegwyn]’s project is to build a robot capable of roving fields of crops to weed, harvest, and possibly fertilize the land. This is a superset of the autonomous car problem: not only does [Tegwyn] need to build a chassis to roll around a field, he needs accurate sensors, some sort of connection to the Internet, and a fast processor on board. The mechanical part of this build comes in the form of a rolling chassis that’s a bit bigger than a golf cart, and electrically powered (although there is a small Honda generator strapped to the back). The electronics is where this gets really interesting, with a rather large board built to house all the sensor and wireless modules, with everything controlled by a TC275, a multicore, 32-bit microcontroller that also has the world record for solving a Rubik’s cube.

Already, [Tegwyn] has a chassis and motor set up, and is already running some code to allow for autonomous navigation. It’s not much now — just rolling down a garden path — but then again, if you’re building a robot for agriculture, it’s not that hard to roll around an open field. You can check out a video of the bot in action below.

Continue reading “Autonomous Agribots For Agriculture”

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”