Building A GPS Receiver From The Ground Up

One of the more interesting facets of GPS is that, at least from the receiver’s point-of-view, it’s a fairly passive system. All of the information beamed down from the satellites is out in the ether, all the time, free for anyone on the planet to receive and use as they see fit. Of course you need to go out and buy a receiver or, alternatively, possess a certain amount of knowledge to build a circuit that can take those signals and convert them into something usable. Luckily, [leaning_tower] has the required knowledge and demonstrates it with this DIY GPS receiver.

This receiver consists of five separate circuit boards, all performing their own function. The first, a mixer board, receives the signal via an active antenna and converts it to a lower frequency. From there it goes to a second mixer and correlation board to compare the signal to a local reference, then a signal processing board that looks at this intermediate frequency signal to make sense of the data its seeing. Finally, an FPGA interfacing board ties everything together and decodes the information into a usable form.

Dealing with weak signals like this has its own set of challenges, as [leaning_tower] found out. The crystal oscillator had to be decapped and modified to keep from interfering with the GPS radio since they operated on similar frequencies. Even after ironing out all the kinks, the circuit takes a little bit of time to lock on to a specific satellite but with a second GPS unit for checking and a few weeks of troubleshooting, the homebrew receiver is up and running. It’s an impressive and incredibly detailed piece of work which is usually the case with sensitive radio equipment like GPS. Here’s another one built on a Raspberry Pi with 12 channels and a pretty high accuracy.

USB-C For Hackers: Program Your Own PSU

Last time, I showed off a few ways you can convert an existing PSU to USB-C duty, and zoomed in on a particular way you can use to convert one of the ever-abundant 18 V – 20 V laptop PSUs to USB-C. All we have left is to write software for it, and I’ll explain how it works. There’s also that one cool USB-C secret I’ve found out, but you’ll have to read on to find out more.

From the last article, we have a board that has an RP2040 and FUSB302 combo on it, which takes a 20 V DC PSU input from a laptop brick, and can switch either 5 V, 20 V or 0 V to its USB-C socket using FETs. The USB-C communication firmware is simple enough, but there’s caveats, especially regarding safety. Let’s go through those!

The Code Logic

VBUS has to be non-powered by default – we only supply 5 V when the FUSB302 detects a 5.1 kΩ pulldown on one of the CC lines. After supplying 5 V, we send out PSU capability advertisements, of the kind that we’ve learned to parse in the Replying PD article – and whenever we get a Request, we have to switch to the requested profile, connecting the voltage rail requested to the FET. I opt to not do any current consumption control in this design, assuming a well-behaved device, but you theoretically should do that. It wouldn’t be hard to add a high-side current sensor, say, something from Analog Devices – I just don’t want to do that now, especially given that I’m already using two of the exposed ADC pins to do Lenovo/HP PSU capability detection instead, one is used up for VBUS measurement, and the fourth is used for VIN (20 V rail) measurement – that’s four ADCs, which is as much as the RP2040 has got. However, if I ever need more ADCs, I can add an analog mux like 4051 in the next version! Continue reading “USB-C For Hackers: Program Your Own PSU”

Behold The Mega-Wheelie, A Huge One-Wheeled Electric Skateboard

DIY electric personal vehicles are a field where even hobbyists can meaningfully innovate, and that’s demonstrated by the Mega-Wheelie, a self-balancing one-wheeled skateboard constructed as an experiment in traversing off-road conditions.

[John Dingley] and [Nick Thatcher] have been building and testing self-balancing electric vehicles since 2008, with a beach being a common testing ground. They suspected that a larger wheel was the key to working better on rough ground and dry sand and tested this idea by creating a skateboard with a single wheel. A very big, very wide wheel, in fact.

The Mega-Wheelie houses a 24V LiFePO4 battery pack, 450 W gearmotor with chain and sprocket drive, SyRen motor controller from Dimension Engineering, Arduino microcontroller, and an inertial measurement unit to enable the self-balancing function. Steering is done by leaning, and the handheld controller is just a dead man’s switch that disables the vehicle if the person piloting it lets go.

Design-wise, a device like this has a few challenging constraints. A big wheel is essential for performance but takes up space that could otherwise be used for things like batteries. Also, the platform upon which the pilot stands needs to be as low to the ground as possible for maximum stability. Otherwise, it’s too easy to fall sideways. On the other hand, one must balance this against the need for sufficient ground clearance.

Beaches are rarely covered in perfectly smooth and firm sand, making them a good test area.

In the end, how well did it work? Well enough to warrant a future version, says [John]. We can’t wait to see what that looks like, considering their past 3000 W unicycle’s only limitation was “personal courage” and featured a slick mechanism that shifted the pilot’s weight subtly to aid steering. A video of the Mega-Wheelie (and a more recent unicycle design) is embedded just below the page break.

Continue reading “Behold The Mega-Wheelie, A Huge One-Wheeled Electric Skateboard”

USB-C For Hackers: Build Your Own PSU

What if you wanted to build your own USB-C PSU? Good news – it’s easy enough! If you ever wanted to retrofit a decent DC PSU of yours to the USB-C standard, say, you got a Lenovo/HP/Dell 19V-20V charger brick and you’ve ever wished it were USB-C, today is the day when we do exactly that. To be fair, we will cheat a bit – but only a tiny bit, we won’t be deviating too much from the specification! And, to begin with, I’ll show you some exceptionally easy ways that you can turn your DC PSU into a USB-C compatible one, with a simple module or a few.

Turning a 20 V PSU into a USB-C PSU feels natural if you want to charge a laptop – those tend to request 20 V from a USB-C PSU anyway, so what’s the big deal? However, you can’t just put 20 V onto a USB-C connector – you have to add a fair bit of extra logic to make your newly christened USB-C PSU safe to use with 5 V devices, and this logic also requires you go through a few extra steps before 20 V appears on VBUS. Any USB-C PSU has to output 5 V first and foremost whenever a device is connected, up until a higher voltage is negotiated digitally, and the PSU may only switch to a higher voltage output when it’s requested to do so.

Now, for that, a PSU offers a list of profiles, and we looked into those profiles in the Replying PD article – each profile is four bytes that contain information about the profile voltage, maximum current that the device may draw at that voltage, and a few other details. For a PSU to be USB-C compliant, the USB-C specification says that, in addition to 5 V, you may also offer 9 V, 15 V, and 20 V.

Also, the specification says that if a PSU supports certain in-spec voltage like 15 V, it’s also required by the spec to offer all of the spec-defined voltages below the maximum one – for 15 V, that also requires supporting 9 V. Both of these are UX requirements, as opposed to technical requirements – it’s easier for device and PSU manufacturers to work with a small set of pre-defined voltages that majority of the chargers will support, but in reality, you can actually offer any voltage you want in the PSU advertisement; at worst, a device is going to refuse and contend with slowly charging from the 5 V output that you’re required to produce.

I’d like to walk you through how off-the-shelf USB-C PSUs work, all of the options you can use to to create one, and then, let’s build our own USB-C PSU from scratch! Continue reading “USB-C For Hackers: Build Your Own PSU”

These DIY Super Headphones Take Sound Seriously

[Pete Lewis] from SparkFun takes audio and comfort seriously, and recently shared details on making a customized set of Super Headphones, granting quality sound and stereo ambient passthrough, while providing hearing protection at the same time by isolating the wearer from the environment.

Such products can be purchased off the shelf (usually called some variant of “electronic hearing protection”), but every hacker knows nothing beats some DIY to get exactly the features one wants. After all, off-the-shelf solutions are focused on hearing protection, not sound quality. [Pete] also wanted features like the ability to freely adjust how much ambient sound was mixed in, as well as the ability to integrate a line-level audio source or Bluetooth input.

Early prototype of Super Headphones (click to enlarge)

On the surface the required components are straightforward, but as usual, the devil is in the details. Microphone selection, for example, required a lot of testing. A good microphone needed to be able to deal with extremely loud ambient sounds without distortion, yet still be sensitive enough to be useful. [Pete] found a good solution, but also muses that two sets of microphones (one for loud environments, and one for quieter) might be worth a try.

After several prototypes, the result is headphones that allow safe and loud band practice in a basement as easily as they provide high-quality music and situational awareness while mowing the lawn. Even so, [Pete]’s not done yet. He’s working on improving comfort by using photogrammetry to help design and 3D print custom-fitted components.

Bare Bones Vacuum Forming, Just Add Plastic Plates

Vacuum forming is a handy thing to be able to do, and [3DSage] demonstrates how to do a bare-bones system that can form anything smaller than a dinner plate with little more than a 3D printed fitting to a vacuum cleaner, a heat gun, and a trip to the dollar store.

Plastic plates from the dollar store make excellent forming sheets, and in a variety of colors.

The 3D printed piece is a perforated table that connects to a vacuum cleaner hose, and [3DSage] mentions elsewhere that he tried a few different designs and this one worked the best. A cardboard box makes an expedient stand. The object being molded goes on the table, and when the vacuum is turned on, air gets sucked down into the holes.

As for the thermoforming itself, all that takes is some cheap plastic plates and a heat gun. Heat the plastic until it begins to droop, then slap it down onto the vacuum table and watch the magic happen. Using plastic plates like this is brilliant. Not only are they economical, but their rim serves as a built-in handle and helps support the sagging plastic.

Thermoforming plastic on a 3D-printed vacuum table and using 3D-printed molds definitely isn’t a system that will be cranking parts out all day long, but as long as one allows time for everything to cool off in between activations, it’ll get the job done. Nylon will hold up best but even PLA can be serviceable.

Watch it in action in the video embedded below. The video is actually about [3DSage] making adorable Game Boy themed s’mores, but here’s a link to the exact moment the vacuum forming part happens.

Continue reading “Bare Bones Vacuum Forming, Just Add Plastic Plates”

A scale model of the International Space Station

This Model Mimics The International Space Station

It’s not an overstatement to say that the International Space Station (ISS for short) is an amazing feat of engineering, especially considering that it has been going for over two decades. The international collaboration isn’t just for the governments, either, as many images, collected data and even some telemetry have been made available to the public. This telemetry inspired [Bryan Murphy] and his team to create the ISS MIMIC, a 1:100 scale model of the ISS that reflects its space counterpart.

The model, covered by [3D Printing Nerd] after the break, receives telemetry from the real ISS and actually reflects the orientation of the solar panels accordingly! It also uses this entirely public information to show other things like battery charge level, power production, position above the earth and more on a display. An extra detail we appreciated is the LEDs near the solar panels, which are red, blue or white to indicate using battery, charging battery and full battery respectively. The ISS orbits the earth once every 90 minutes, which can be seen by the LEDs changing color as the ISS enters the shadow of the earth, or exits it.

What could you do to make this better you might ask? Make the it open-source of course! The ISS MIMIC is fully open-source and uses common tools like 3D printing with PLA, Raspberry Pis and Arduinos to make it as accessible as possible for education (and hackers). Naturally, the goal of this project is to educate, which is why it’s open-source and aims to teach programming, electronics, mechatronics and problem solving.

Video after the break.
Continue reading “This Model Mimics The International Space Station”