• Getting Started
  • Hello! I'm an absolute beginner looking for some beginner-friendly guides
2020/09/10 09:05:21
Soop
Hopefully this is the correct forum to post in, there are certainly a LOT of different subjects this forum covers.  I am an absolute beginner and my eventual goal is to try and reverse engineer the MCU in the Sony PSP battery PCB with a view to making a viable and quality replacement.
 
Short term, my goal is to try and "swap" my TV remote control into another, better feeling remote.  Even this is turning out to be more difficult than anticipated.  I began with the incorrect assumption that the chip on the IR remote would be a ROM, but it's actually a microcontroller (I purchased a ROM flasher before finding that this was the wrong tool).  Both of them have different microcontrollers, an AD009-04 and a HB8101Pk, both of which are one-time programmable.
 
My current strategy is this:
Read the output values for each button on both remotes
Read the programmable memory on the target MCU
Purchase another MCU and flash it with edited values
 
My current barriers are:
I don't have the slightest clue how to read/dump the contents of the MCU, or indeed if this is even possible.
 
Is there any guide someone can point me to (bearing in mind that I'm VERY green) that would give me insight into the readng/dumping/flashing of an MCU?
 
Thanks for reading, hopefully what I've said makes sense, but if I've assumed anything incorrectly, I will endeavor to clarify!
2020/09/11 14:32:57
katela
Are you sure that MCU is a microchip microcontroller? As a beginner, do you already have basic understanding how microcontrollers work and can do basic things with a microcontroller? Before stating this task?
2020/09/11 17:58:38
PStechPaul
I think your best bet is to read the codes being generated by the remote, and then building one with the features you want. I have considered doing such a project to allow a single button press to simulate the multiple codes required to perform a specific function (in this case, setting the sleep timer to 30 minutes). Some previous posts with helpful discussion about this and related topics:
 
https://www.microchip.com/forums/m1090776.aspx
 
https://www.microchip.com/forums/m1135970.aspx

https://www.microchip.com/forums/m1059100.aspx

https://www.microchip.com/forums/m1073448-p2.aspx
2020/09/12 07:14:48
Soop
@katela, if what you're asking is if the MCU is a microchip branded MCU, I don't think it is - I didn't actually realise Microchip was a brand name when I wrote this post!  I have never used a microcontroller, and while I believe I have a basic understanding of how they work, I'm the sort of person that learns better by doing, so hopefully this exercise will serve as an introduction.
 
@Vexorg, I have an Arduino for another project that I haven't used much, and I never properly learned C, but I dabbled in 68000 assembly many years ago.  I think C would be preferred at least to begin with.  I've programmed in about a dozen languages over the years, so  I think I should be able to get the basics pretty quickly.  I assume that there's an SDK that can compile both C and Assembly, so I wouldn't need a specific MCU to use?  Also, is there a specific development kit I can look for?  An initial search for a reader/writer for MCUs shocked me a bit with the price tag, I'm definitely looking for something SUPER basic.
 
@PSTechPaul, that's super super helpful, thankyou!  I think that's what I need to start off.  I spent half an hour with my DMM messing around with one of the remotes today, and while I see some interesting stuff on the output, ...  Oh, I'm an idiot.  I've literally just realised why I wasn't seeing the behaviour I anticipated.  And I realise that I probably was correct in my assumption that each button completes a circuit between two pins on the MCU allowing a signal multiplex.  If that's the correct term.
2020/09/12 08:59:38
Mysil
Hi,
The 'SDK' for Microchip microcontrollers is named MPLAB X,
It is a IDE for development , program build, programming and debugging environment for microcontrollers.
In addition to MPLAB X, you will need the Compiler package for the family of microcontrollers you are going to use.
 
There are 3 compiler installation packages: XC8, XC16 and XC32 for 8-bit, 16 bit and 32-bit PIC microcontrollers respectively.
Since Microchip bought and merged Atmel some years ago, also those microcontrollers are suppoorted by MPLAB X.
The compiler installation packages contain both C compiler and assembler for the devices it support.
In addition to the compiler, the installation package also contain device specific files
with symbolic names for all registers and control bits in every PIC microcontroller ever produced.
 
Within MPLAB X development environment, there is also also Simulator that make it possible to perform development and debugging excercises without actual microcontroller hardware.
 
Even if you have a ultimate goal, you may as well forget about that while learning about how the development tools and microcontroller fundamental operations work.
Better perform much simpler exercises until you are familiar.
There are tutorial examples in the website linked to by katela in message #2
Also there are tutorials and instruction materials in https://microchipdeveloper.com/
 
You will probably not be able to figure out how TV remote control work by DMM only.
They work by fast coded signal sequences, so you will need DSO oscilloscope or Logic Analyzer
to investigate and verify the stuff you eventually make.
 
Do Not expect to be able to read or study the programming of a commercial remote control handset.
Even if it is built around a microcontroller, any developer with a minimum of buisiness sense,
will take steps to prevent copying the program memory, to discourage pirating. 
If you do not even know what make and model of microcontroller is used, then you would not know what tools to use either.
 
    Mysil
 
2020/09/12 09:12:31
Soop
Thanks Mysil, that's helpful.
The thought process initially (which I now know was very wrong) involved simply transplanting the chip from one remote to another.  Then (also wrong) dumping the ROM of one chip onto another.  The DMM was more useful than you would have thought, despite my flaky logic; initially I expected each button to complete a circuit that I could measure at the input and output pins of the MCU.  I now know that that's flawed because there isn't necessarily a return circuit - almost cetainly diodes within the MCU itself.
 
As for the make and model, they're AD009-04 and a HB8101Pk, which I've found datasheets for both of.  They're just going to be very cheap mass produced MCUs, and I can see that they're one-time-programable.
 
I imagine a remote control is the ideal device to begin this journey with however seeing as it's a fundementally simple device.  I am dismayed however that the ultimate goal of the PSP battery controller is seemingly as far away as ever.
 
I've had some great advice so far though, so this is plenty to sink my teeth into before I reevaluate and understand where I am :)
2020/09/12 09:47:53
PStechPaul
It's important to explain abbreviations such as "PSP". I had to look it up to find out it stands for "Play Station Portable".
2020/09/12 09:52:24
PStechPaul
I also found very little on the model numbers you provided, although I did find this:
 
https://www.reddit.com/r/microcontrollers/comments/azibfe/reprogramming_vizio_tv_remote_hb8101pk_mcu/
 
 
2020/09/12 17:32:14
ric
PStechPaul
It's important to explain abbreviations such as "PSP". I had to look it up to find out it stands for "Play Station Portable".

Agree.
In the PIC microcontroller world, it more often means "Parallel Slave Port".
 
 
© 2021 APG vNext Commercial Version 4.5

Use My Existing Forum Account