Have you ever started a project, run into an issue, started a new project to solve the issue, and completely forgot about the original project? [Andy] went down a rabbit hole of needing a tool to calibrate an MCU oscillator, but not having an accurate way to measure frequency. Most people would just buy a frequency counter and be done with it, but [Andy] decided to build his own.
The Nanocounter is an accurate, open source frequency counter that uses an Android phone as its display. It’s based on a high accuracy temperature compensated crystal oscillator (TCXO) fed into a phase locked loop (PLL) to create a high frequency, accurate reference clock.
This reference clock, along with the signal to be measured, are sent into a Xilinx FPGA which uses a method called equal precision measurement to determine the frequency. A STM32F072 microcontroller uses a SPI interface to get this data out of the FPGA, and controls the whole system. Finally, a cheap HC-06 Bluetooth module facilitates communication with an Android device.
The project achieves the goal of frequency counting, though [Andy] doesn’t remember what project sparked the idea to build it. (Classic yak shaving!) But the result is a great read of a detailed writeup, and you can watch a video of the Nanocounter in action after the break. That’s a win in our book.
Continue reading “Nanocounter: Frequency Counter with an Android UI”
With the launch of the Raspberry Pi 3, Bluetooth Low Energy (BLE) is now at our disposal. With BLE, there are a few technologies for implementing one-way beacons that broadcast data. Apple has been pushing iBeacon since 2013, and Google just launched their Eddystone solution last year.
If you’re looking to target Google’s Eddystone on your RPi 3, [Yamir] has you covered. He’s put together a guide on setting up an Eddystone-URL beacon within Raspbian. This type of beacon just broadcasts a URL. Users within range will get a notification that the URL is available, and can navigate through to it. Eddystone-URL works on both iOS and Android.
The process for setting this up is pretty simple. The
hcitool commands do all the work. [Yamir] was even nice enough to make a calculator tool that generates the
hcitool command for your own URL. While is hack is a simple one, it’s a nice five-minute project. It’s also handy for broadcasting the URL of your Raspberry Pi if it’s running a web server as part of a more intricate hack.
There’s a bunch of different electric scooters available nowadays, including those hoverboards that keep catching fire. [TK] had an older Razor E300 that uses lead acid batteries. After getting tired of the low speeds and 12 hour charge times, [TK] decided it was time to swap for lithium batteries.
The new batteries were sourced from a Ryobi drill. Each provides 18 V, giving 36 V in series. The original batteries only ran at 24 V, which caused some issues with the motor controller. It refused to start up with the higher voltage. The solution: disable the safety shutdown relay on the motor controller by bridging it with a wire.
With the voltage issue sorted out, it was time for the current limit to be modified. This motor controller uses a TI TL494 to generate the PWM waveforms that drive a MOSFET to provide variable power to the motor. Cutting the trace to the TL494’s current sense pin removed the current limit all together.
We’re not saying it’s advisable to disable all current and voltage limits on your scooter, but it seems to be working out for [TK]. The $200 scooter now does 28 km/h, up from 22 km/h and charges much faster. With gearing mods, he’s hoping to eke out some more performance.
After the break, the full conversion video.
Continue reading “Converting an Electric Scooter to Lithium Batteries and Disabling the Safeties”
If you’ve ever worked with FPGAs, you’ve dealt with the massive IDEs provided by the vendors. Xilinx’s ISE takes about 6 gigabytes, and Altera’s Quartus clocks in at over 10 gigs. That’s a lot of downloading proprietary software just to make an LED blink.
[Jesús Arroyo]’s Icestudio is a new, graphical tool that lets you generate Verilog code from block diagrams and run it on the Lattice Semi iCEstick development board. A drag and drop interface lets you connect IOs, logic gates, dividers, and other elements. Once your block diagram is ready, a single button press downloads the code to the iCEstick.
Under the hood, Icestudio uses IceStorm, which we’ve discussed on HaD in the past, including this great talk by [Clifford], Icestorm’s lead. For the GUI, Icestudio uses nw.js, which spits out JSON based on the block diagram. This JSON is converted into a Verilog file and a PCF file. The Verilog is used to create the logic on the FPGA, and the PCF is used to define the pin configuration for the device. Clicking on selected modules reveals the generated Verilog if you want to know what’s actually going on.
It’s experimental, but this looks like a neat way to get started on FPGAs without learning a new language or downloading many gigs of toolchains. We’re hoping Icestudio continues to grow into a useful tool for education and FPGA development. A demo follows after the break.
[Thanks to Nils for the tip!]
Continue reading “Icestudio: An Open Source Graphical FPGA Tool”
Nearly fifty years back, Sony launched the DVC-2400, their first consumer grade video camera. This unit weighed in at 10 pounds, and recorded only 20 minutes of footage per reel. It left something to be desired for $1250, or nearly $9000 in today’s dollars.
[NeXT] got his hands on one of these camera kits, and began bringing it back to life. While all the pieces were included, the Video Tape Recorder (VTR), which is used to play back the footage, didn’t power up. A little poking found a dead transistor. After determining a modern replacement part, the voltages checked out. However, the drum still wasn’t spinning.
Further disassembly found that the drum’s DC motor was made on the cheap, using a foam instead of springs to apply pressure on the brushes. This foam had worn out and lost its springy qualities, so no electrical contact was made. New foam was cut out as a replacement. Once reassembled, the drum spun successfully. After some adjustment, the VTR was running at the correct speed once again.
With this working, the VTR should be ready to go. However, camera still isn’t working, so we’re awaiting a part 2.
The minuscule size of the Raspberry Pi Zero makes it perfect for hacks where size is a factor. For example, a small, standalone device for getting streaming audio into your speakers. The RPi Zero doesn’t have an audio output on board, so PolyVection paired it up with their PlainDAC to build a minimal audio streaming device.
Their build uses a few lines from the GPIO header to drive an I2S digital to analog converter. The DAC is a PCM5142 from Texas Instruments that provides high quality sound output, and contains a built in programmable DSP.
The hardware fits into a 3D printed case, coming in at 68 mm by 48 mm. There’s no WiFi inside, but this can be added with an external USB device for wireless streaming. The DAC used is supported by the Linux kernel, so a simple configuration is all that’s needed to pipe audio out.
Once you have a device like this assembled, you can install a server like Music Player Daemon to remotely control the device and cue up internet radio channels.
Personally, I’m a fan of trains. They’re a nice, albeit slow, way to get around the country. Canada isn’t the best candidate for rail transit, given the rather large space between coasts, but Via Rail does operate regular train service in their corridor between Windsor and Quebec City.
Unfortunately, passenger rail has to yield to commercial rail in Canada which often causes delays. After noticing that some trains have very frequent delays, it seemed like it would be useful to know the average performance of each Via train. Via does not provide this data publicly.
However, they do provide some data about arrival and departure times. Digging into the data available through any browser viewing the Via Rail site, it was possible to query for past scheduled/actual arrival data. The result is TrainStats.ca, a display of Via’s on time performance. Join me after the break as I discuss how this all works, and how to pick a winner when buying your next train ticket.
Continue reading “Is Via Rail On Time?”