Posts with «hardware» label

Look what came out of my USB charger !

Quick Charge, Qualcomm’s power delivery over USB technology, was introduced in 2013 and has evolved over several versions offering increasing levels of power transfer. The current version — QCv3.0 — offers 18 W power at voltage levels between 3.6 V to 20 V.  Moreover, connected devices can negotiate and request any voltage between these two limits in 200 mV steps. After some tinkering, [Vincent Deconinck] succeeded in turning a Quick Charge 3.0 charger into a variable voltage power supply.

His blog post is a great introduction and walk through of the Quick Charge ecosystem. [Vincent] was motivated after reading about [Septillion] and [Hugatry]’s work on coaxing a QCv2.0 charger into a variable voltage source which could output either 5 V, 9 V or 12 V. He built upon their work and added QCv3.0 features to create a new QC3Control library.

To come to grips with what happens under the hood, he first obtained several QC2 and QC3 chargers, hooked them up to an Arduino, and ran the QC2Control library to see how they respond. There were some unexpected results; every time a 5 V handshake request was exchanged during QC mode, the chargers reset, their outputs dropped to 0 V and then settled back to a fixed 5 V output. After that, a fresh handshake was needed to revert to QC mode. Digging deeper, he learned that the Quick Charge system relies on specific control voltages being detected on the D+ and D- terminals of the USB port to determine mode and output voltage. These control voltages are generated using resistor networks connected to the microcontroller GPIO pins. After building a fresh resistor network designed to more closely produce the recommended control voltages, and then optimizing it further to use just two micro-controller pins, he was able to get it to work as expected. Armed with all of this information, he then proceeded to design the QC3Control library, available for download on GitHub.

Thanks to his new library and a dual output QC3 charger, he was able to generate the Jolly Wrencher on his Rigol, by getting the Arduino to quickly make voltage change requests.


Filed under: Arduino Hacks, hardware

A BluePill for Arduino Dependence

Arduinos are helpful but some applications require more than what Arduinos can provide. However, it’s not always easy to make the switch from a developed ecosystem into the abyss that is hardware engineering. [Vadim] noticed this, which prompted him to write a guide to shepherd people on their quest for an Arduino-free environment, one BluePill at a time.

With an extended metaphor comparing Arduino use and physical addiction, [Vadim’s] writing is a joy to read. He chose to focus on the BluePill (aka the next Arduino Killer™) which is a $1.75 ARM board with the form factor of an Arduino Nano. After describing where to get the board and it’s an accompanying programmer, [Vadim] introduces PlatformIO, an alternative to the Arduino IDE. But wait! Before the Arduino die-hards leave, take note that PlatformIO can use all of the “Arduino Language,” so your digitalWrites and analogReads are safe (for now). Like any getting started guide, [Vadim] includes the obligatory blinking an LED program. And, in the end, [Vadim] sets his readers up to be comfortable in the middle ground between Arduino Land and the Wild West.

The debate for/against Arduino has been simmering for quite some time, but most agree that Arduino is a good place to start: it’s simpler and easier than jumping head first. However, at some point, many want to remove their “crippling Arduino dependency” (in the words of [Vadim]) and move on to bigger and better things. If you’re at this point, or still cling to your Uno, swing on over and give Vadim’s post a read. If you’re already in the trenches, head on over and read our posts about the BluePill and PlatformIO which are great complements for [Vadim’s].


Filed under: hardware, news
Hack a Day 02 Sep 12:00

Dumb STB gets smart

[Vincent Deconinck] gave a fresh lease of life to an old set top box by adding a few Euro’s worth of hardware and some software smarts. The device in question is an old VOOcorder – a Cisco set-top box provided by VOO, his cable service provider in Belgium.

The VOOcorder doesn’t have any WiFi hardware or browser / app based interfaces. It’s a simple device controlled either via an IR remote or front panel buttons. [Vincent] added an ESP8266 and hooked it up to the IR receiver on the set-top box. He also set it up as an SPI slave to the front panel VFD display controller and connected it to the debug serial interface of the VOOcorder as well. The software, on the other hand, required a lot more work consisting of code running on the ESP itself, several HTML pages and JavaScript code for the browser front end, and a few scripts running in the background.

The result was bidirectional interactivity from within a browser, allowing him to send commands and receive status information as well as providing a user-friendly search interface. Further, his browser interface was integrated with information from the service providers website letting him do scheduling and recording of programs. The stuff that interested us is how he sniffed out the IR signals, figured out the SPI protocol used by the front panel controller, and implemented SPI-slave mode for the ESP8266. [Vincent] was surprised that such a cheap device could handle three distinct web servers while parsing two message streams without a hitch.

It’s a great hack showing us how to use super cheap electronics to upgrade and modernize old hardware. Check out the two videos after the break – showing a demo of the hack in action, and a walk through of the hardware modifications.

 


Filed under: hardware, home entertainment hacks

Mouse Mis-Clicking? We Got You.

A mouse with malfunctioning buttons can be a frustrating to deal with — and usually a short leap to percussive maintenance. Standard fixes may not always last due to inferior build quality of the components, or when the microswitch won’t close at all. But, for mice that double/triple-click, will release when dragging, or mis-click on release, this Arduino-based hack may be the good medicine you’re after.

Instructables user [themoreyouknow]’s method cancels click malfunctions by latching the mouse’s controller switch trace to ‘on’ when pressed, keeping it there until the button normally closed contact closes again completely. Due to the confined spaces, you’ll want to use the smallest Arduino you can find, some insulating tape to prevent any shorts, and care to prevent damaging the wires this process adds to the mouse when you cram it all back together.

Before you take [themoreyouknow]’s guide as dogma, the are a few caveats to this hack; they are quick to point out that this won’t work on mice that share two pins between three buttons — without doing it the extra hard way, and that this might be trickier on gaming or other high-end mice, so attempt at your own peril.

Speaking of gaming mice, we recently featured a way to add some extra functionality to your mouse — cheating optional — as well as how to stash a PC inside an old Logitech model.


Filed under: hardware, how-to
Hack a Day 30 Aug 09:00
arduino  click  debounce  hardware  how-to  mouse  nano  repair  

Mouse Mis-Clicking? We Got You.

A mouse with malfunctioning buttons can be a frustrating to deal with — and usually a short leap to percussive maintenance. Standard fixes may not always last due to inferior build quality of the components, or when the microswitch won’t close at all. But, for mice that double/triple-click, will release when dragging, or mis-click on release, this Arduino-based hack may be the good medicine you’re after.

Instructables user [themoreyouknow]’s method cancels click malfunctions by latching the mouse’s controller switch trace to ‘on’ when pressed, keeping it there until the button normally closed contact closes again completely. Due to the confined spaces, you’ll want to use the smallest Arduino you can find, some insulating tape to prevent any shorts, and care to prevent damaging the wires this process adds to the mouse when you cram it all back together.

Before you take [themoreyouknow]’s guide as dogma, the are a few caveats to this hack; they are quick to point out that this won’t work on mice that share two pins between three buttons — without doing it the extra hard way, and that this might be trickier on gaming or other high-end mice, so attempt at your own peril.

Speaking of gaming mice, we recently featured a way to add some extra functionality to your mouse — cheating optional — as well as how to stash a PC inside an old Logitech model.


Filed under: hardware, how-to
Hack a Day 30 Aug 09:00
arduino  click  debounce  hardware  how-to  mouse  nano  repair  

Another Arduino Compatible? This Time, It’s A Sony

When it comes to microcontroller development boards, we have a plethora of choices at our disposal. Each has its strengths and weaknesses, be they associated with its support and community, its interface capabilities, or its choice of processor family. Most boards you’ll find in our communities come from niche manufacturers, or at least from manufacturers who started as such. Just occasionally though along comes one whose manufacturer you will have heard of, ever whose manufacturer the Man in the Street will have heard of.

Which brings us neatly to today’s story, the quiet announcement from Sony, of a new microcontroller development board called the Spritzer. This is Arduino compatible in both physical footprint and IDE, is intended for IoT applications, and packs GPS, an audio codec, and an ARM Cortex M4 at 156 MHz. There is a Japanese page with a little more detail (Google Translate link), on which they talk about applications including audio beam forming with up to eight microphones, and a camera interface. 

The board is due to be available sometime early next year, and while it looks as though it will be an interesting device we’d sound a note of caution to Sony. It is not good enough to have an amazing piece of hardware; the software and community support must be more than just make-believe. If they can crack that then they might just have a winner on their hands, if they fail to make any effort then they will inevitably follow Intel into the graveyard of also-ran boards.

Thanks [Chris] for the tip.


Filed under: hardware
Hack a Day 13 Aug 15:00

Interfacing a Retro Controller using the USBASP

An ISP dongle is a very common piece of equipment on a maker’s bench. However, its potential as a hackable device is generally overlooked. The USBASP has an ATmeg8L at its heart and [Robson] decided that this humble USB device could be used as an interface between his PC and a SNES Joypad.

A SNES controller required three pins to communicate with a host: clock, data and latch. In his hack, [Robson]  connects the controller to the ISP interface using a small DIY adaptor and programs the AVR using the V-USB library. V-USB is a software USB library for small microcontrollers and comes in pretty handy in this instance.

[Robson] does a pretty good job of documenting the entire process of creating the interface which includes the USB HID code as well as the SNES joypad serial protocol. His hack works on both Windows and Linux alike and the code is available on GitHub for download.

Simple implementation like this project are a great starting point for anyone looking to dip their toes in the DIY USB device pool. Veterans may find a complete DIY joystick more up their alley and will be inspired by some plastic techniques as well.


Filed under: Arduino Hacks, hardware
Hack a Day 23 Jun 06:00

USB Charger Fooled into Variable Voltage Source

USB chargers are everywhere and it is the responsibility of every hacker to use this commonly available device to its peak potential. [Septillion] and [Hugatry] have come up with a hack to manipulate a USB charger into becoming a variable voltage source. Their project QC2Control works with chargers that employ Quick Charge 2.0 technology which includes wall warts as well as power banks.

Qualcomm’s Quick Charge is designed to deliver up to 24 watts over a micro USB connector so as to reduce the charging time of compatible devices. It requires both the charger as well as the end device to have compatible power management chips so that they may negotiate voltage limiting cycles.

In their project, [Septillion] and [Hugatry] use a 3.3 V Arduino Pro Mini to talk to the charger in question through a small circuit consisting of a few resistors and diodes. The QC2.0 device outputs voltages of 5 V, 9 V and 12 V when it sees predefined voltage levels transmitted over the D+ and D- lines, set by Arduino and voltage dividers. The code provides function calls to simplify the control of the power supply. The video below shows the hack in action.

Quick Charge has been around for a while and you can dig into the details of the inner workings as well as the design of a compatible power supply from reference designs for the TPS61088 (PDF). The patent (PDF) for the Quick Charge technology has a lot more detail for the curious.

Similar techniques have been used in the past and will prove useful for someone looking for a configurable power supply on the move. This is one for the MacGyver fans.


Filed under: Arduino Hacks, hardware

Arduino into NAND Reader

[James Tate] is starting up a project to make a “Super Reverse-Engineering Tool”. First on his list? A simple NAND flash reader, for exactly the same reason that Willie Sutton robbed banks: because that’s where the binaries are.

As it stands, [James]’s first version of this tool is probably not what you want to use if you’re dumping a lot of NAND flash modules. His Arduino code reads the NAND using the notoriously slow digital_read() and digital_write() commands and then dumps it over the serial port at 115,200 baud. We’re not sure which is the binding constraint, but neither of these methods are built for speed.

Instead, the code is built for hackability. It’s pretty modular, and if you’ve got a NAND flash that needs other low-level bit twiddling to give up its data, you should be able to get something up and working quickly, start it running, and then go have a coffee for a few days. When you come back, the data will be dumped and you will have only invested a few minutes of human time in the project.

With TSOP breakout boards selling for cheap, all that prevents you from reading out the sweet memory contents of a random device is a few bucks and some patience. If you haven’t ever done so, pull something out of your junk bin and give it a shot! If you’re feeling DIY, or need to read a flash in place, check out this crazy solder-on hack. Or if you can spring for an FTDI FT2233H breakout board, you can read a NAND flash fast using essentially the same techniques as those presented here.


Filed under: Arduino Hacks, hardware

Ikea Standing Desk Goes Dumb to Smart on LIN Bus

IKEA’s products are known for their clean, Scandinavian design and low cost, but it is their DIY or “assemble it yourself” feature that probably makes them so popular with hackers. We seem to receive tips about IKEA hacks with a consistent regularity. [Robin Reiter] has a Bekant Sit/Stand motorized table with buttons to raise and lower the surface, but it doesn’t have any memory presets. That’s a shame because it requires a lot of fiddling with the up/down buttons to get it right every time. It would be nice to press a button, go grab a Coffee, and come back to find it adjusted at the desired height. With a little bit of hacking, he was able to not only add memory preset buttons, but also a USB interface for future computer control.

The existing hardware consists of a PIC16LF1938 micro-controller with two buttons for movement control and a LIN bus  protocol which communicates with the automotive grade motors with integrated encoders that report position values. After a bit of sniffing around with his oscilloscope and analyzer, he was able to figure out the control codes for the motor movements. For some strange reason, however, the LIN signals were inverted, so he had to introduce a transistor signal inverter between the PIC master and the Arduino Nano that would act as a slave LIN node. Software was made much easier thanks to an Arduino library developed by [Zapta] for the LIN Bus signal Injector, The controls now have four buttons — two to replicate the original up/down movements, and the other two to act as memory presets.

The code, schematic and a simple wiring layout are posted on Github, in case there are others out there who’d like to replicate this hack. Check out the video after the break where he gives a walk through the code.


Filed under: hardware, home hacks