This is basically the autobiography of Josh Waitzkin. He tells of his days playing chess and then how he made the transition to martial arts and drops some tips on learning along the way. I enjoyed reading his story but I kept expecting that at some point his story would end and the lessons on learning would begin but it never happened.
It wasn’t a total waste.
Book should have been called ” My life” or “How I learn”. The biographical content was too much.
So I shifted focus back to hardware. I have been doing a lot of software; practising python on hackerrank, learning c/c++ and solving project euler questions. I picked up two books to start with – Designing Embedded Hardware and Embedded Hardware Know it all. They were good at the start but started getting hard to grasp towards the middle. It was a lot to ask to go through them thoroughly cover to cover. I have now decided to not do that.
In Designing Embedded Hardware, I felt the knowledge would be lost since I wasn’t getting hands-on with the processors that were discussed. I have gone through the book cover to cover but I skipped some parts, I would reference them when I need them.
I am back to treating Embedded Hardware Know it all as reference material too. I’m sure that’s what the authors intended but I felt I could understand it all. I like the early chapters and I would be reviewing the notes I made from them. I plan to read the early chapters of Embedded Software know it all too and leave the rest till I need it or I am ready to focus on understand a particular topic.
I need to refresh my knowledge of electronics. There might be little details I might be missing. I just understood what it means for a pin to be tristate. I want to make sure I fully grasp things like that. I am going to be studying opensource designs – hardware and software. I have already started with the arduino. I believe understanding what exists would help when one wants to design his own systems. I better appreciate how far I have to go. I am going to also do some simple projects with the electronics I have with me at the moment. I don’t want to just follow some tutorial and I dont want to just hack and get it to work (that’s cool by the way). I want to actually understand and engineer stuff. The goal is Mastery.
I will attempt to explain how the hardware works in this piece as far as I understand it at the moment.
So I decided to understand how the arduino works behind the scenes. I wanted to know what components it was made up of and how the components come together to form the whole system. Like every complex system , it is modular. There is the power system, that chooses between the power jack and the USB power and produces 5v and 3v3 for the rest of the system. There is a USB to serial controller that contains the bootloader which is used to load programs into the ATMEGA328P.
The Power System
If there is a power suply connected to the power jack. The power supply should be between 9v and 15v. The two chips are voltage regulators that produce 5v. I still dont understand why there are two voltage regulator chips.
The Vin is directly connected to the power supply.
Vin is connected to the LM385D chip which contains two op amps. One of the opamps is used as a comparator and the other is not used at all. 3V3 is compared to Vin/2 if Vin/2>3V3 then the output is 5v and that is used to turn off the supply from the USB. The 5v generated is then connected to the LP2985 chip which is a voltage regulator that takes in 5v and outputs 3v3 .
If instead Vin/2<3.3 , the mosfet is turned on and the USB power is used instead. USB provides the 5v to the LP2985 chip.
And that’s the power system.
USB to Serial Controller
The USB controller is implemented with the ATMEGA8U2-MU. It contains the bootloader code which is used to load the code unto the ATMEGA328P.
This includes support circuitry like the silicon crystals and the pull-up resistors. There is also the ICSP interface that can be used to program the chip. The ICSP connects to the microcontroller SPI interface.
This is the main controller. The code you write for the arduino is executed by this controller. And it is directly connected to the I/O pins. The controller is programmed via the TX,RX pins connected to the USB to serial controller
And that’s it. This is relatively high level explanation. I will stop here for now. Next up, would be an explanation of the software.
I am done with the National Youth Service Corp. (NYSC) I am officially a nigerian youth and no longer “Omo Ijoba” (hey, in the sense of not collecting stipend from gov anymore..not in the sense of mad). I didn’t like the idea of interrupting my life to go on some service. There was a risk I lost momentum; that my self-improvement efforts ended. The new environment might be horrible.
That didn’t happen. I took matters into my own hands.
I got a place of primary assignment through TA and my highlight was that I had a supervisor I could rap with – Engr. Kanmi. It was exciting to meet someone else that understood all the maker stuff and had passion and zeal for it. We could talk about happenings in that space, about ideas and it’s definitely something I would miss. I liked that I got to put my python skills to use in a project. I liked that I was able to read and develop myself even at work.
I liked living alone. I am glad I insisted on a self-contained apartment. I think I would have been a very snobbish roommate but I wanted to focus and I did.
CDS was routine. I was aloof. I can’t say I developed any long time friendships or did any community work. I guess I had the mindset that this time was for me. I needed to develop myself. And ultimately, although giving is nice, you can’t give what you don’t have. You have to focus on yourself too.
All in all, I am grateful I am done. I want to say a big thank you to my Mum and Dad for their support in all ramifications. I am grateful I have you guys. I can say I made good use of the time.
What next? There is a lot of work that needs doing. 🙂 . I will be fine. I want to continue pursuing the goals I have. Do stuff that matters.
I loved this book. As a self-identified Math geek, once in a while I pick a math book to read. I thought I would learn stuff I knew already but with a different perspective – that happened but I also learned about new stuff, cool new stuff.
The authors covered topics like natural numbers, rational numbers, real numbers, complex numbers, transcendantal numbers, continuing fractions, egyptian fraction, set theory, computation etc.
The most exciting part was Set theory. I loved how he explained the need for a shift from Naive Set theory to ZFC. It was cool.
I didn’t understand everything especially the parts on computation; I lost patience towards the end but it was interesting getting exposed to this new maths. – Turing machines, Lambda Calculus, BrainF*** etc. I will definitely read again some other time. I strongly recommend if this is your thing
I just finished the Elements of Style. It is a classic book on writing and I must say it lived up to hype. Writing has always seemed to me to be some esoteric art. I haven’t really known what the do’s and don’t s were and why a particular writing is compelling and another boring.
This book has a list of rules for writing that make a lot of sense. For example, eliminate unnecessary words. eg.
the question as to whether -> whether .
he is a man -> he.
This is a subject that -> this subject
There are other useful rules like that. I will definitely be re-reading this book and apply it in my writing on this blog. I recommend!
So March was great. I marked my birthday. Low-key. But I was shown love 🙂 . I finished a couple of books
- Programmers at Work
- Science and Technology in World History. Volume 1. Ancient World and Classical civilizations
- Introduction to Microcontrollers – some class note I found online. Second reading
- The Innovators by Walter Isaacson
- The Hidden Brain
I also shifted my focus to Hardware. I started two books, (Hey, I promise I will slow down on the books) Embedded Hardware Know it all and Designing Embedded Hardware. I have also started looking at schematic diagrams of the Arduino and Raspberry Pi and also looked at open-source embedded code like the Adafruit_DHT library and the ArduinoPhone. Soon, I will be able to contribute to projects like this. 🙂