Kansas City Maker Faire: Lawn Da Vinci Is The Droid You’re Looking For

Summer is now in full swing, which means that mowing the lawn once a week is starting to get old. So why not build a robot do it for you? That’s what [Blake Hodgson] did, and he’s never been happier. It only took him a couple of weeks of quality time at one of the local makerspaces.

[Blake] was showing off Lawn da Vinci at this year’s Kansas City Maker Faire. He had his own booth around the corner from Hammerspace, the shop where it all came together. [Blake] started with a standard push mower from a garage sale and designed a frame around it using OnShape. The frame is made from angle iron, so it’s strong enough that he can ride on the thing. To each his own, we say. The wheels and motors came from a mobility scooter and match the beefiness of the frame. These are powered by two 12v car batteries wired in series. He drives it around his yard with an R/C airplane controller.

lawnmower gutsLawn da Vinci’s brainpower comes from two Arduino Pro Minis and a Raspberry Pi. One Arduino controls the motors and the R/C signal from the remoteThe other runs some extra kill switches that keep the Lawn da Vinci out of trouble.

So what’s the Raspi for? Right now, it’s for streaming video from the webcam attached to a mast on the frame back to his phone. [Blake] says he has had some latency issues with the webcam, so there could be a pair of drone racing goggles in his future. He also plans to add a GPS logger and to automate part of the mowing.

Now, about those kill switches: there are several of them. You probably can’t have too many of these on a remote control spinning suburban death machine. Lawn da Vinci will stop grazing if it goes out of range of the remote or if the remote is turned off. [Blake] also wired up a dedicated kill switch to a button on the remote and a fourth one on a separate key fob.

The Lawn da Vinci is one of many example projects that [Blake] uses to showcase the possibilities of KC Proto, a company he started to help local businesses realize their ideas by offering design solutions and assistance with prototyping. Between mowings, [Blake] puts the batteries on a trickle charger. If you make your own robot lawn mower, you might consider building a gas and solar hybrid.

The Raspberry Pi 3 Compute Module Is On Its Way

The Raspberry Pi Foundation founder Eben Upton has revealed in an interview with PCWorld that there will be a new version of the organisation’s Compute Module featuring the faster processor from the latest Raspberry Pi 3 boards, and it will be available “In a few months”.

The Compute Module was always something of an odd one out among the Raspberry Pi range, being a stripped-out Raspberry Pi chipset on a SODIMM form factor card without peripherals for use as an embedded computer rather than the standalone card with all the interfaces we are used to in the other Pi boards. It has found a home as the unseen brains behind a selection of commercial products, and though there are a few interface boards for developers and experimenters available for it we haven’t seen a lot of it in the world of hackers and makers. Some have questioned its relevance when the outwardly similar Pi Zero can be had for a lower price, but this misses the point that the two boards have been created for completely different markets.

The Pi 3’s 1.2 GHz 64-bit quad-core ARM Cortex-A53 BCM2837 SoC will certainly up the ante in the Compute module’s market, but it will be interesting to see what changes if any they make to its form factor. The Foundation’s close ties with Broadcom mean that they have done an impressive job in maintaining backward compatibility at a hardware level between the different generations of their product, but it is unclear whether this extends to the possibility of the new module maintaining a pin-for-pin compatibility with the old. We’d expect this to be an unlikely prospect.

It is certain that we will see a new generation of exciting commercial products emerging based around the new module, but will we see it making waves within our domain? This will depend on its marketing, and in particular the price point and quantity purchase they set for it. The previous board when added to a Compute Module Development board was an expensive prospect compared to a Raspberry Pi Model B that became more unattractive still as newer Pi boards gained more capabilities. If they price this one competitively and perhaps if any cheaper open hardware breakout boards emerge for it, we could have a valuable new platform on our hands.

Here’s our coverage of the original Compute Module launch, back in 2014.

[via Liliputing and reddit].

BCM2837 image: By Jose.gil (Own work) [CC BY-SA 4.0], via Wikimedia Commons.

Code Craft – Embedding C++: Multitasking

We’re quite used to multitasking computer systems today. Our desktops run email, a couple of browsers in different workspaces, a word processor, and a few other applications, apparently all at once. Looking behind the scenes using a system monitor or task manager program reveals a multitude of other programs running in support of our activities. Of course, any given CPU is running a maximum of one program at a time. Multitasking is simply the practice of switching between active processes fast enough to give the illusion of simultaneity.

The roots of multiasking go way back. In the early days, when computers cost tons of money, the thought of an idle system was anathema. Teletype IO was slow compared to the processor, and leaving the processor waiting idle for a card reader to slurp in the next card was outrageous. The gurus of the time worked to fill that idle time with productive work. That eventually led to systems that would run multiple programs at one time, and eventually to more finely grained multitasking within a program.

Modern multitasking depends on support from the underlying API of an operating system. Each OS uses its own techniques, making it difficult to write portable code. The C++ 2011 standard increased the portability of the language by adding concurrency routines to the Standard Template Library (STL). These routines use the API of the OS. For instance, the Linux version uses the POSIX threading library, pthread. The result is a minimal, but useful, capability for building upon in later standards. The C++ 2017 standard development activities include work on parallelism and concurrency.

In this article, I’ll work through some of the facilities for and pitfalls in writing threaded code in C++.

Continue reading “Code Craft – Embedding C++: Multitasking”

45-Year Old Nixie Calculator Turned UDP Server

In this beautiful and well-documented reverse engineering feat of strength, [Eric Cohen] reverse-engineered a 1971 Singer calculator to gain control of the fabulous Nixie tubes inside. Where a lesser hacker would have simply pulled the tubes out and put them in a more modern housing, [Eric] kept it all intact.

Not even content to gut the box and toss some modern brains inside, he snooped out the calculator’s internal wiring, interfaced a Raspberry Pi to it, and overrode the calculator’s (860 Hz) bus system. With the Pi on the inside, controlling the Nixie tubes, he did what any of us would do: set up a UDP server and write an Android app for his phone to push ASCII data over to the former calculator. When it’s not running in its default clock mode, naturally.

nixie-internals

All of this is extraordinarily well documented both on his website, in a slide presentation (PDF), and in video (embedded below). Our hats are tipped to the amazing attention to detail and fantastic documentation.

Now where is that Singer EC1117 calculator from 1971 that we’ve been saving for just such an occasion?

Continue reading “45-Year Old Nixie Calculator Turned UDP Server”

Hacker-Friendly SBCs: Which Ones?

We have run out of fruits to name all the single-board computers on the market, but that doesn’t mean you can’t buy a rotten one. Bad documentation, incomplete specifications and deprecated firmwares are just some of the caveats of buying only by price and hardware features. To help you out in case you just need to find a great and open-enough SBC with community support, [Eric] has put together a decent list with 81 individually reviewed boards over at hackerboards.com.

Continue reading “Hacker-Friendly SBCs: Which Ones?”

Kansas City Maker Faire: Pi-Plates

As soon as he spied the Jolly Wrencher on my shirt, [Jerry Wasinger] beckoned me toward his booth at Kansas City Maker Faire. Honestly, though, I was already drawn in. [Jerry] had set up some interactive displays that demonstrate the virtues of his Pi-Plates—Raspberry Pi expansion boards that follow the HAT spec and are compatible with all flavors of Pi without following the HAT spec. Why not? Because it doesn’t allow for stacking the boards.

[Jerry] has developed three types of Pi-Plates to date. There’s a relay controller with seven slots, a data acquisition and controller combo board, and a motor controller that can handle two steppers or up to four DC motors. The main image shows the data acquisition board controlling a fan and some lights while it gathers distance sensor data and takes the temperature of the Faire.

The best part about these boards is that you can stack them and use up to eight of any one type. For the motor controller, that’s 16 steppers or 32 DC motors. But wait, there’s more: you can still stack up to eight each of the other two kinds of boards and put them in any order you want. That means you could run all those motors and simultaneously control several voltages or gather a lot of data points with a single Pi.

The Pi-Plates are available from [Jerry]’s site, both singly and in kits that include an acrylic base plate, a proto plate, and all the hardware and standoffs needed to stack everything together.

Digital Opponent In An Analog Package

Unsatisfied with the present options for chess computers and preferring the feel of a real board and pieces, [Max Dobres] decided that his best option would be to build his own.

Light and dark wood veneer on 8mm MDF board created a board that was thin enough for adding LEDs to display moves and for the 10mm x 1mm neodymium magnets in the pieces to trip the reed switches under each space. The LEDs were wired in a matrix and connected to an Arduino Uno by a MAX7219 LED driver, while the reed switches were connected via a Centipede card. [Dobres] notes that you’ll want to test that the reed switches are positioned correctly — otherwise they might not detect the pieces!

Continue reading “Digital Opponent In An Analog Package”