diff --git a/README.md b/README.md index ff8ee93..dd4ae3e 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,48 @@ Indeed, this relay board was meant to be controled by sending very poorly design ## The manual : **The user guide is available [here](http://web-directories.cf/git/Th3maz1ng/TOSR-04/src/branch/master/documentation/TOSR-0X%20USER%20MANUAL.pdf) if you want to learn more about this module's capabilities** +## The schematic : +**The schematic is available [here](http://web-directories.cf/git/Th3maz1ng/TOSR-04/src/branch/master/schematic/TOSR-04.pdf).** + +## Project folder architecture : +``` json +/ +|_src This folder contains all the C/C++ file sources. +| \_app This folder contains the main app and it's dependencies. +| |_libs This folder contains all the required 3rd party libraries that should be put in "Arduino\libraries" folder in order for the app to compile. +| |_test This folder contains a test program which was used to test the dependencies. +| +|_schematic This folder contains all the files associated with the schematic +| \_KiCad This folder contains the KiCad files associated with the project. +| |_TOSR-04.pdf Which is the most recent schematic exported as a pdf for quick viewing. +| +|_documentation This folder contains all documentation and resources to work on the project. +| +|_.gitignore +|_LICENSE.md +|_README.md The content of this page +``` + ## What I am planning to do : -1. Reverse engineer the schematic of this board (because it is not available) (IN PROGRESS) -2. Find the best way to flash a custom firmware on the ATMEGA328PU (TO DO) +1. Reverse engineer the schematic of this board (because it is not available) (DONE !) + - The schematic is now available as a pdf file in the **schematic** folder +2. Find the best way to flash a custom firmware on the ATMEGA328PU (DONE !) + - Check the section : **The best way to flash a firmware** section hereunder 3. Write a custom firmware for it (TO DO) + +## The best way to flash a firmware +To be honest, the best way to flash our own firmware on this board is to replace the ATMEGA328PU with one which has the Arduino bootloader burnt on it :-(.
+Indeed after looking at the reverse engineered schematic, the SPI pins needed for an ISP are not exposed (they are not even used...).
+Fortunately enough, the onboard FTDI seems to be connected with the DTR line which is connected through a capacitor to the ATMEGA's reset pin that is required by the Arduino bootloader.
+I will test it this weekend and keep you informed. + +## But how to repurpose the removed ATMEGA328PU ? +I will try to restore the chip to a factory state by programming it with a HVPP (High Voltage Parallel Programmer) in order to reset the fuse bytes as well if they are set of course ...
+If I succeed, I'll explain how I did it here. + +## FAQ +1) Why is it not possible to reprogram the chip or to burn a bootloader on the relay board ? + - The first issue is that the pins required for an ISP are not exposed :(. The way around it would be to parallel program it, but for that you need to desolder the chip anyway. + - The second issue is that the fuse bytes are probably set (I dont actually know for sure) in a way to prevent easy access to the chip. Only a High Voltage Reprogramming of the chip could "unlock it". + +***If you have any questions, do not hesitate to contact me at : bugreport[at]laposte[dot]net***