Hi, I’m Natalia Fargasch Norman.
I’m a computer scientist and most recently an electronics hobbyist, and this blog is meant to document some of my forays into the world of electronics. Being a software gal, my projects are usually overkill: I use microcontrollers to perform basic tasks that EEs could accomplish more simply and elegantly without them. I expect to be able to create more complex and more interesting projects as I continue to develop my knowledge of electronics, so at some point the use of microcontrollers will become justifiable.
My intent with this blog is simple:
to share some of my projects in a way that is easy for less experienced hobbyists to understand. I find that many resources leave out some of the most basic information (probably because it is painfully obvious to the seasoned electronics hobbyist) and I’m sometimes left wondering why a certain component was used, how exactly everything is connected, or what it looks like on the other side of the perfboard. I hope that by sharing what I learn I can help others to whom things are not so obvious (at least assuming I’m not the only one).
I was born in Brazil and went to school there. I have a Bachelor of Science degree in Computer Science from UFMG (Minas Gerais, Brazil) and a Master of Science degree in Computer Science from UNICAMP (Sao Paulo, Brazil). During my undergrad studies I did research on Artificial Intelligenceand implemented an intelligent backtracking system using LISP. For my graduation project I wrote an assembler, instruction scheduler and register allocator for a VLIW processor designed by a EE student.
During my graduate studies I worked on compiler backend optimization for SIMD processors, using a DSP from Conexant Systems as the target architecture. In 2000 I integrated my work to their compiler code base during a Summer internship. I was later hired by Conexant where I worked on the compiler development team. I continued to work on optimizing the code generated for the samyye DSP as well as maintaining the existing compiler code. I tackled other code generation projects as well, such as writing an assembler for a rather convoluted architecture (which I think ended up never seeing the light of day). I was later transferred to the design verification and testing team, during which time I combed through DSP firmware working closely with the embedded programming folks.
From the beginning I’ve always enjoyed writing low-level software that required knowledge of the target architecture. I liked the challenge of generating highly optimized code that made full use of the most specific processor instructions. Throughout my career I implemented assemblers, parser generators, compiler backends, and other code generation systems, later followed by extensive testing of firmware. Severe mental illness has kept me away from the workforce for a few years now, in which I took on hobby electronics, and started tinkering with simple electronic circuits and programming microcontrollers for fun. Whether I will one day return to a formal work environment remains to be decided, but for now I am enjoying the freedom of working on my own projects and deciding what to spend my time on.
Interest in Hobby Electronics
I started to dabble with electronics after learning about the Arduino early in 2009. I thought this would be a great way to continue to program while learning electronics. Until then, I had never had to read a datasheet (!) and I certainly never had to draw a schematic. However simple they are, I always try to draw one for my projects, so I can learn how to do so, and so that once I’m able to tackle more complex projects they are easier to document, understand and replicate.
Physical Computing is new to me. I enjoy having control of physical agents via software. My closest encounter to something like this was during my undergrad studies, when I formed a team to compete in our local “Robot Rats” tournament at the University, and had to write code to read and interpret sensor input and make decisions that would determine actuator output. It was a simple robot, build using LEGO, a Motorola 68HC11 (Handyboard) and Interactive C. (My team won the tournament, by the way. Our “greedy” robot beat other more cleverly designed robots in an unfair advantage; I don’t think we actually deserved to have won).
I am very interested in the Internet of Things, and creating systems of networked, self-aware objects that interact with each other and the outside world.
I am new to the world of electronics, having been heavily oriented toward computer science theory and low-level software. My goal is to continue to learn electronics, and to share what I learn and apply in my projects. Thus, this blog. I started this blog to document my learning journey, with the intention to fill a gap in the information available to complete beginner electronics hobbyists.
Usually when searching for information online certain knowledge and skills are assumed, and some things have to be figured out by yourself. I often stumble upon problems to which a solution is not documented online and I feel I could share it with others when I eventually figure things out.
The information here will certainly be basic and obvious to seasoned electronics hobbyists, but I imagine there must be others like me who don’t find all the electronics information that obvious. I hope to reach this audience with my hobby electronics blog. Beep. Beep. Flash. Flash.