The Game Boy Camera, Or: How I Learned To Stop Worrying And Love The Pixels

Never underestimate the power of nostalgia. In an age when there are more megapixels stuffed in the sensor of a smartphone camera than the average computer display can even represent, why would jagged images from a 20-year-old grayscale camera with pixels numbering in the thousands still grab attention? Maybe what’s old is new again, and the coolness factor of novelty is something that can’t be quantified.

The surprise I had last Monday when I saw my Twitter notifications is maybe only second to the feeling I had when I was invited to become a Hackaday contributor. I’d made a very simple web app which mimics a Game Boy Camera using the camera from your phone or desktop, and it got picked up by people so much that I’m amazed my web host is still holding. Let’s look at why something seemingly so simple gained so much traction.

Continue reading “The Game Boy Camera, Or: How I Learned To Stop Worrying And Love The Pixels”

Radio Remote Control Via HTML5

It’s a common scene: a dedicated radio amateur wakes up early in the morning, ambles over to their shack, and sits in the glow of vacuum tubes as they call CQ DX, trying to contact hams in time zones across the world. It’s also a common scene for the same ham to sit in the comfort of their living room, sipping hot chocolate and remote-controlling their rig from a laptop. As you can imagine, this essentially involves a server running on a computer hooked up to the radio, which is connected via the internet to a client running on the laptop. [Olivier/ F4HTB] saw a way to improve the process by eliminating the client software and controlling the rig from a web browser.

[Oliver]’s software, aptly named Universal HamRadio Remote, runs a web server that hosts an HTML5 dashboard for controlling the radio. It also pipes audio back and forth (radio control wouldn’t be very useful if you couldn’t talk!), and can be run on a Raspberry Pi. Not only does this make setup easier, as there is no need to configure the client machine, but it also makes the radio accessible from nearly any modern device.

We’ve seen a similar (albeit expensive and closed-source) solution, the MFJ-1234, before, but it’s always refreshing to see the open-source community tackle a problem and make it their own. We can’t wait to see where the project goes next!

Browser Makes Tiny Office Suite

There’s a recent craze of people living in tiny houses of 400 square feet down to as little as 80 square feet. Maybe [zserge] was thinking about that and created a very tiny office suite in which each tool weighs in at less than 1K. If you are guessing you couldn’t squeeze much functionality in C or C++ code or even assembly, you’d be right. The language of choice? HTML and JavaScript. So while the code is small, it relies on a pretty big piece of software. On the other hand, you have a browser open right now, so the incremental cost of using these tools is very small.

We get the idea that there’s not much chance this is going to sweep the shelves of Microsoft Office, Libre Office, and all the many competitors. However, it is a pretty stunning example of what you can do with modern HTML. There’s even a GitHub repo and a subreddit.

Continue reading “Browser Makes Tiny Office Suite”

LIDAR Built On Familiar Platform

Moore’s law may have reached its physical limit for transistor density, but plenty of other technologies are still on that familiar path of getting smaller and smaller as time passes. It looks like LIDAR is no exception to this trend either. This project from [Owen] shows a fully-functional LIDAR system for about $20 and built almost entirely on top of an ESP32.

The build uses a Time-Of-Flight IR laser range sensor controlled by the ESP32, and the sensor is much smaller than even the ESP32’s footprint so it takes up very little extra space. To get it to function as a LIDAR system instead of just a simple rangefinder it does need a motor in order to rotate itself to see its entire space. Besides its small form factor and low cost, it also has a handy user interface that can run anywhere an HTML5 browser can run, making the use of the system easy and straightforward as well. All of the code is available on the project’s GitHub page.

We wouldn’t expect a system like this to be driving an autonomous car anytime soon, it’s update rate is far too slow, but its intent for small robots and even as an educational demo for learning LIDAR is second to none. If you do need a little more power in a LIDAR system but still don’t want to break the bank, we featured this impressive setup a few weeks ago.

MIT Scratch 3.0 Opens New Doors For Users And Builders Alike

We typically feature projects from people sharing what they’ve learned while building something for themselves. But our community has a healthy contingent who deploy their skills for the benefit of future generations, developing a child’s natural curiosity for play into interest in understanding the technical world they will grow up in. This field is where MIT’s release of Scratch 3.0 can open up interesting possibilities.

Scratch is a block-based programming language designed for elementary school children, letting them learn fundamental concepts while experimenting in an environment filled with visual and audible feedback. In an effort to make Scratch more widely available, version 2.0 in 2013 moved to the web. But it was built using interactive web technology of the time: Adobe Flash. As Flash has fallen out of favor and scheduled to be phased out in 2020, Scratch 3.0 used React to make the shift to HTML5.

The most immediate benefit is that Scratch can now be used on tablets, which all have modern browsers but very few of which have Flash. Another common educational hardware platform is the Raspberry Pi, which supported Scratch 2 via a convoluted software stack that was far from ideal. Now any hardware with a modern browser can run Scratch, no Flash binaries or custom wrappers are required. The Raspberry Pi foundation certainly seemed excited about this change.

But a more exciting and longer term benefit is Scratch extensions, a mechanism for Scratch programs to communicate with external hardware and online resources. This has evolved in parallel with Scratch 2.0 under the experimental ScratchX¬†umbrella and version 3.0 brings it into core. The launch featured a few official extensions (for connecting to micro:bit, LEGO Mindstroms EV3, etc.) with the promise that custom third-party extensions will soon be possible. This will significantly streamline building a Scratch interface for kid-friendly programmable hardware. Something we’ve seen done for a drone, for exploring SDR, and even for¬†a dollhouse. We’ll be keeping an eye out for the official release of Scratch 3.0 custom extension API, but anyone not afraid of working with fluid pre-release code are certainly welcome to dive in right now.

A Web-Based Modem

If you are beyond a certain age, you will recall when getting on the Internet was preceded by strange buzzing and squawking noises. Modems used tones to transmit and receive data across ordinary telephone lines. There were lots of tricks used to keep edging the speed of modem up until — at the end — you could download (but not upload) at a blazing 56,000 bits per second. [Martin Kirkholt Melhus] decided to recreate a modem. In a Web browser. No kidding.

We started to say something about a modem in the cloud, but that wouldn’t really be accurate. The modem uses the HTML 5 audio API, so it really runs in the browser. We would have been really surprised if [Martin] had cooked up a modem able to interact with a real modem, but as you might expect, the browser modem only communicates with other instances of itself. If you want a brief introduction to HTML 5 audio, you might enjoy the video below.

Continue reading “A Web-Based Modem”

Arduino Makerbeam Live Plotter Controlled By HTML5 Canvas And Java Website

We’ve never seen someone build a plotter out of buzzwords, but [roxen] did a really good job of it. The idea is simple, place the plotter over a sheet of paper, open a website, draw, and watch the plotter go. Check out the video below the break.

The user draws in an HTML5 Canvas object which is read by a Java Web Server. From there it gets converted to serial commands for an Arduino which controls the steppers with two EasyDrivers.

The build itself is really nice. It perfectly meets the mechanical requirements of a pen plotter without a lot of fluff. The overall frame is T-shaped, for the x- and y-axis. The movements are produced by two steppers and acetal rack and pinion sets. The pen is lifted up and down by a hobby servo.

Continue reading “Arduino Makerbeam Live Plotter Controlled By HTML5 Canvas And Java Website”