8-Channel ADC For the Raspberry Pi

The Raspberry Pi is a powerful embedded computing platform. However, for all its Linux-based muscle, it lacks one thing that even the simplest 8-bit microcontrollers usually have – analog-to-digital conversion. There are a great many ways to rectify this shortcoming, and [Chris Burgess] has brought us another – with an 8-channel ADC for the Raspberry Pi.

For the ADC, [Chris] chose the MCP3008, for its low cost and availability. In this configuration it offers 10-bit resolution and a maximum sampling rate of 200 kilosamples per second. Adafruit has a great guide on working with the MCP3008, too. With such a useful resource to hand, [Chris] was able to spin up a PCB to interface the chip to the Raspberry Pi using SPI. [Chris] took care to try to make the board to the official HAT specifications. As far as the physical aspects go, the board is to spec, however [Chris] omitted the EEPROM required for auto-configuration purposes. That said, the pads are on the board if someone wants to take the initiative to install one.

It’s a tidy build that provides something sorely missing from the Raspberry Pi, for a reasonable cost. [Chris]’s goal was to build something that would enable the measurement of analog sensors for a robot project; we’d love to hear your ideas for potential uses in the comments!

Ask Hackaday: Security Questions And Questionable Securities

Your first school. Your mother’s maiden name. Your favorite color. These are the questions we’re so used to answering when we’ve forgotten a password and need to get back into an account. They’re not a password, yet in many cases have just as much power. Despite this, they’re often based on incredibly insecure information.

Sarah Palin’s Yahoo account is perhaps the best example of this. In September 2008, a Google search netted a birthdate, ZIP code, and where the politician met her spouse. This was enough to reset the account’s password and gain full access to the emails inside.

While we’re not all public figures with our life stories splashed across news articles online, these sort of questions aren’t exactly difficult to answer. Birthdays are celebrated across social media, and the average online quiz would net plenty of other answers. The problem is that these questions offer the same control over an account that a password does, but the answers are not guarded in the same way a password is.

For this reason, I have always used complete gibberish when filling in security questions. Whenever I did forget a password, I was generally lucky enough to solve the problem through a recovery e-mail. Recently, however, my good luck ran out. It was a Thursday evening, and I logged on to check my forex trading account. I realised I hadn’t updated my phone number, which had recently changed.

Upon clicking my way into the account settings, I quickly found that this detail could only be changed by a phone call. I grabbed my phone and dialed, answering the usual name and date of birth questions. I was all set to complete this simple administrative task! I was so excited.

“Thanks Lewin, I’ll just need you to answer your security question.”

“Oh no.”

“The question is… Chutney butler?”

“Yes. Yes it is. Uh…”

“…would you like to guess?”

Needless to say, I didn’t get it.

I was beginning to sweat at this point. To their credit, the call center staffer was particularly helpful, highlighting a number of ways to recover access to the account. Mostly involving a stack of identification documents and a visit to the nearest office. If anything, it was a little reassuring that my account details required such effort to change. Perhaps the cellular carriers of the world could learn a thing or two.

In the end, I realised that I could change my security question with my regular password, and then change the phone number with the new security question. All’s well that ends well.

How do You Deal with Security Questions?

I want to continue taking a high-security approach to my security questions. But as this anecdote shows, you do occasionally need to use them. With that in mind, we’d love to hear your best practices for security questions on accounts that you care about.

Do you store your answers in a similar way to your passwords, using high entropy to best security? When you are forced to use preselected questions do you answer honestly or make up nonsensical answers (and how do you remember what you answered from one account to the next)? When given the option to choose your own questions, what is your simple trick that ensures it all makes sense to you at a later date?

We’d love to hear your best-practice solutions in the comments. While you ponder those questions, one mystery will remain, however — the answer to the question that nobody knows: Chutney butler?

Table-Top Self Driving With The Pi Zero

Self-driving technologies are a hot button topic right now, as major companies scramble to be the first to market with more capable autonomous vehicles. There’s a high barrier to entry at the top of the game, but that doesn’t mean you can’t tinker at home. [Richard Crowder] has been building a self-driving car at home with the Raspberry Pi Zero.

The self-driving model is trained by first learning from the human driver.

[Richard]’s project is based on the EOgma Neo machine learning library. Using a type of machine learning known as Sparse Predictive Hierarchies, or SPH, the algorithm is first trained with user input. [Richard] trained the model by driving it around a small track. The algorithm takes into account the steering and throttle inputs from the human driver and also monitors the feed from the Raspberry Pi camera. After training the model for a few laps, the car is then ready to drive itself.

Fundamentally, this is working on a much simpler level than a full-sized self-driving car. As the video indicates, the steering angle is predicted based on the grayscale pixel data from the camera feed. The track is very simple and the contrast of the walls to the driving surface makes it easier for the machine learning algorithm to figure out where it should be going. Watching the video feed reminds us of simple line-following robots of years past; this project achieves a similar effect in a completely different way. As it stands, it’s a great learning project on how to work with machine learning systems.

[Richard]’s write-up includes instructions on how to replicate the build, which is great if you’re just starting out with machine learning projects. What’s impressive is that this build achieves what it does with only the horsepower of the minute Raspberry Pi Zero, and putting it all in a package of just 102 grams. We’ve seen similar builds before that rely on much more horsepower – in processing and propulsion.

Mini-Banners for Small Occasions

Do you often find yourself needing to make small signs? Perhaps you’re trying to put a notice on the office fridge, but you’re just not in the mood for the usual Comic Sans-on-A4 staple today. A banner of some sort would do the trick, but… a small one, right? [Mike Ingle] has the answer – making mini-banners on old receipt printers.

[Mike] was a fan of Paint Shop in the 1980s, which among other things, enabled the printing of long banners on the popular dot matrix printers of the era. Realising that receipt printers have a similar ability to print on a long continuous strip of paper, he decided to see if it was possible to create small banners using the hardware.

The hack is simple – ImageMagick is used to generate a one-bit black & white bitmap that is then processed with some custom C code to generate something the printer can understand. It’s then a simple matter of hacking up the original RS-232 cable to fit a DB-9 (aka DE-9) connector, and spitting out the instructions over serial.

The mini-banners are cool, and we could imagine having some fun with such a project, using it to print out tweets or putting it into service as a stock ticker. It’s a great example of cleanly interfacing with existing hardware to create something outside of the original design intentions. Such printers are fertile ground for hacks – like this printer that can spit out the US Constitution in 6 seconds flat.

Satellite Tracking With Friends

If you’re in the mood to track satellites, it’s a relatively simple task to look up one of a multitude of websites that can give you a list of satellites visible from your location. However, if you’re interested in using satellites to communicate with far-flung friends, you might be interested in this multi-point satellite tracker.

[Stephen Downward VA1QLE] developed the tracker to make it easier to figure out which satellites would be simultaneously visible to people at different locations on the Earth’s surface. This is useful for amateur radio, as signals can be passed through satellites with ham gear onboard (such as NO-44), or users can even chat over defunct military satellites.

[Stephen] claims the algorithm is inefficient, but calculations are made in a matter of a few seconds, so we’re not complaining. While it was originally designed for just two stations, it works with a near-infinite number of points. [Stephen] recommends verifying the tracks with another tool once calculated to ensure accuracy. The tool is accessible here, and the code is up on GitHub for your perusal.

Perhaps now you need a cost-effective satellite-tracking antenna? [Paul] has you covered.

Video Streaming Like Your Raspberry Pi Depended On It

The Raspberry Pi is an incredibly versatile computing platform, particularly when it comes to embedded applications. They’re used in all kinds of security and monitoring projects to take still shots over time, or record video footage for later review. It’s remarkably easy to do, and there’s a wide variety of tools available to get the job done.

However, if you need live video with as little latency as possible, things get more difficult. I was building a remotely controlled vehicle that uses the cellular data network for communication. Minimizing latency was key to making the vehicle easy to drive. Thus I set sail for the nearest search engine and begun researching my problem.

My first approach to the challenge was the venerable VLC Media Player. Initial experiments were sadly fraught with issues. Getting the software to recognize the webcam plugged into my Pi Zero took forever, and when I did get eventually get the stream up and running, it was far too laggy to be useful. Streaming over WiFi and waving my hands in front of the camera showed I had a delay of at least two or three seconds. While I could have possibly optimized it further, I decided to move on and try to find something a little more lightweight.

Continue reading “Video Streaming Like Your Raspberry Pi Depended On It”

Synthesizing Daraprim to Beat Price Gougers

Drugs are used the world over to treat disease. However, from time to time, the vagaries of market economics, or unscrupulous action, can radically increase the price of otherwise cheap pharmaceuticals far beyond the reach of the average person. This was the case with Pyrimethamine (sold as Daraprim), which is used to treat toxoplasmosis and malaria, among other users. With the price skyrocketing from $13 to $750 a tablet in the US in 2015, [NurdRage] decided to synthesize the drug on their own. (If you missed the background hubbub, search for “Martin Shkreli”.)

The video linked covers the final synthesis, though [NurdRage] has previously covered the synthesis of the required precursor chemicals. Budding chemists may grow excited, but there are significant hurdles to attempting this synthesis yourself. Chemicals involved are carcinogenic, toxic, acidic, or otherwise dangerous, and a fume hood is a necessity if working inside. Outside of this, there are immense risks in homebrewing pharmaceuticals. Performing the synthesis of an important drug is one thing, but to do so at a medical-grade level where the products are safe for human consumption is on an entirely different level.

Overall, [NurdRage] has put out a series of videos that have strong educational value, showing us what really goes into the production of a common pharmaceutical compound. There’s also something to be said about taking the production of life-saving medicines into one’s own hands in the face of prohibitive treatment costs. In a similar vein, perhaps you’ve considered producing your own insulin in an emergency?

[Thanks to jwrm22 for the tip]