General Electronics Question

I've been playing around with Arduino for the past 5-6 years. However, I've been using predesigned circuits and putting sensors together to make new things. Last year I tried something that I really liked and I've decided I'd like to explore this more, but don't know the right direction...

Last year I opened up my quadcopter's remote and cut the PCB traces to the potentiometers (joysticks) and used the Arduino to simulate the digital pulses and fly the quadcopter using Arduino.

I would like to hack more things open and control them this way, but I don't know how to read the voltage or whatever it is that I need to do in order to figure out how a new things works so that I can build a circuit to control it....

I vaguely remember my first year of engineering in university talking about digital oscilopscopes, but those things were darn expensive....is that what I need to measure and replicate in a device's PCB trace?

My current challenge is to hack open an Xbox One controller and hi-jack it's buttons and joystick by simulating the pulses through Arduino.

I don't want people pointing me to tutorials about hacking open Xbox One controllers...I am at the point where I want to learn how to hack open new devices and figure out how they work internally so that I can build a circuit to control them...How do you do this? (what instruments do you need to understand the internal workings and how to replicate the signals?)

  1. Documentation
  2. A DVM
  3. A digital oscilloscope
  4. a notebook and pencil
  5. time

Along with what aarg mentioned, I have found a logic analyser like this to be useful. You can download the free PulseView software to use with it. It won't replace a scope, but for digital signals it is good.

I vaguely remember my first year of engineering in university talking about digital oscilopscopes, but those things were darn expensive....is that what I need to measure and replicate in a device's PCB trace?

Of course a trace is simply a connection (a "replacement" for a wire). So, all you need is a multimeter (used an Ohmmeter) to find all of the connections on a board. And, depending on the complexity of the circuit and if there are inner-layer connections, you can follow the connections visually. It's almost essential that you have a meter that beeps when you have a (low or zero resistance) connection.

Knowing the connections you can draw the schematic.

With complicated or miniaturized circuits, "hacking" and "reverse engineering" can be extremely difficult! Certain parts can be difficult to identify, and here may be custom/unknown/unavailable ICs. Programmed ICs (PLDs, flash, EEPROMs, etc.) can be difficult to read & duplicate, and you often don't know what the chip is doing, or exactly how it's doing what it's doing. With PLDs there is a security function which makes it "impossible" to read/copy.

...It's often easier to build something from scratch than to modify or repair an existing circuit.

A DVM is pretty helpful, but I wonder if there are electronics that require a certain voltage at a certain frequency to work...Anyone familiar with such a case or would applying the exact voltage/current that the DVM reads would replicate the scenario?

Doug, I am not sure how I would build an RC remote for a quadcopter, or an Xbox One controller. I would think it's much easier to hack into its PCB traces.

I'll try out the Logic Analyzer. Thanks for sharing. Seems like a useful tool for a noob like me.

"I don't want people pointing me to tutorials about hacking open Xbox One controllers..." Sounds like you know exactly what is acceptable, go ahead lay down the law and give us your rules.

In the mean time there have been great discussions about this on these forums, there is a search box at the top of the screen.

These might be of interest:

https://learn.sparkfun.com/tutorials/how-to-read-a-schematic

Edit

https://forum.arduino.cc/index.php?topic=445951.0

.

Larry, I think you misunderstand what I meant by that line, or perhaps I was wrong to assume pointing to tutorials wouldn’t hold value towards my goal.

I didn’t want to learn how to target a specific problem (i.e., hacking Xbox One controller)…I wanted a method to approach all types of problems that I encounter, which the above people have successfully provided (DVM, Oscilloscope, logic analyzer, paper and pen to draw out the schematics).

twirap:
A DVM is pretty helpful, but I wonder if there are electronics that require a certain voltage at a certain frequency to work…Anyone familiar with such a case or would applying the exact voltage/current that the DVM reads would replicate the scenario?

Yes, there is a lot of that. Especially as more and more functionality is moved onto the chip. I used to do it for a living and we once added up the cost of the equipment on my desk, just for fun. It was about US$1,000,000.

aarg: Yes, there is a lot of that. Especially as more and more functionality is moved onto the chip. I used to do it for a living and we once added up the cost of the equipment on my desk, just for fun. It was about US$1,000,000.

You've got to be extremely rich! Mine is at most $3000. Starting from the bottom I suppose.

twirap: You've got to be extremely rich! Mine is at most $3000. Starting from the bottom I suppose.

Thing is, with the right attitude and a pocket magnifier and DVM, you would be amazed what you can find out.

Most used tools I work with: DVM Digital storage scope Stereo microscope Logic analyzer PCB schematic program Logic probe Lab power supply Soldering equipment Hand tools

For what it's worth here are some links you might find useful: Arduino links. Watch these: https://m.youtube.com/watch?v=CbJHL_P5RJ8

https://m.youtube.com/watch?v=UUx0_s-ElSs

https://m.youtube.com/watch?v=QpPGGuaGbCA

https://m.youtube.com/watch?v=xmZXWMEltEc

https://m.youtube.com/playlist?list=PLir_96O_k3klCo-7Dm-HFUmZCIwftAZIm

Some things to read:

https://learn.adafruit.com/category/learn-arduino

https://learn.sparkfun.com/tutorials/how-to-read-a-schematic

https://www.arduino.cc/en/Reference/HomePage

https://www.arduino.cc/en/Tutorial/Foundations

http://playground.arduino.cc/Code/AvoidDelay

https://forum.arduino.cc/index.php?topic=384198.0

http://www.gammon.com.au/forum/?id=12153

https://m.youtube.com/playlist?list=PLA567CE235D39FA84

https://www.arduino.cc/en/Main/Products

https://learn.sparkfun.com/tutorials/using-the-logic-level-converter

http://arduino-info.wikispaces.com/

http://www.gammon.com.au/motors

http://www.gammon.com.au/forum/?id=11955

.

aarg: Thing is, with the right attitude and a pocket magnifier and DVM, you would be amazed what you can find out.

When I say $3000, 99% of that is mostly the cost of motors/sensors/arduinos/batteries/chargers.

Thanks so much for sharing the links..I was surprised to read about "Delay" being bad and we should be using timers instead. There is lots to learn. Thanks a lot for teaching me.

I vaguely remember my first year of engineering in university talking about digital oscilopscopes, but those things were darn expensive....is that what I need to measure and replicate in a device's PCB trace?

That's a loaded question. The scopes a university would acquire are drastically more expensive than the scopes required for hobby use. You also have the option to buy used equipment, or "last years model". Besides, "expensive" is relative.

It used to be that you had to spend the price of a used car to get even a starter oscilloscope. The ones that were actually useful were just around a new car price. Then the brand-name stuff and actual complex scopes could cost more than a house. That’s the kind of equipment that Aarg probably had on his desk.

These days, the scopes are one tenth the weight, one tenth the size and one hundredth the price. The ones that are actually useful (dual trace, MHz bandwidth) are now just a few hundred bucks.

Obviously your first oscilloscope should not be a megabucks one. Picking up a used one off eBay can be quite cost-effective, if you know what to look for. For your first one, you don’t know what to look for. Find a brand name with a range of different ones and pick one of the lowest ones in the range.