If any of you guys were at Freeside this weekend, you would have seen me staring into the oscilloscope trying to make heads or tails of its output and comparing that to a couple of datasheets. One of those datasheets was for the Atmega328P microcontroller that is on the Arduino UNO, the other was the Sharp Memory LCD. These are cool because the are ultra low power 6uW and have extremely high contrast.

The Sharp datasheet isn't what I would call straightforward, at least for the uninitiated (whom I count myself among). The power up sequence was pretty clear but once it came to pushing pixels it got a little vague. Really it was just a bunch of waves on the sheet.

One of the waves is a constant 5-60Hz pulse. That is the sort of thing that would be very irritating to create if you are bit banging on the main loop of your program, so I needed to get the AVR to pump that out in an automatic way. Researching the interwebz and reading the Atmega datasheet at length and comparing that to the output on the o-scope, I came up with this:

The prior code puts out a "phase correct" square wave on pin 11 at 60Hz. It also screws with pin 3 (not good) which I need to address next time I am at a scope. With that, it was just a matter of reading the data sheet for the screen and deciphering the thing into C code. I also found a non-arduino project on youtube using one of these screens and asked the poster to send me his source which was very helpful in understanding the datasheet. Once that was done, I converted that C code into C++ code and made a "SharpMemoryLCD" Arduino library. Currently it can print out basic strings and read byte[]s from PROGMEM and paste them to the screen. I will also add some other features like painting vectors to the screen and loading bitmaps from a disk before I'll call it "done". The current functionality is enough to get the reflow oven project I am working on finished though. That reflow oven project will be the basis of a future Freeside project/class where attendees will get a custom PCB and firmware to use to convert their toaster oven into a high quality reflow oven. You will be required to bring a 1500W toaster oven, and I think the rest of the stuff I'll include in the class fee (custom electronics, solid state relays, and thermocouples).

This is the code that produces the images in the video above. The library is not link up yet. I'll make a google code project for this once I have it a little more mature. Feel free to post up a comment if you want a pre-release copy. I'll hook you up.

During one of the last projects I was working on, I found that the first programming jig I made had a serious draw back. It could only put the #1 pin of the programmer in two of the four corners. That meant that I could only program my board from one side. That was fine until I assembled the project in it's case. At that point, reprogramming was a difficult task that required disassembly, something I never considered when I designed the item and as it turned out it was almost impossible to do without destroying it. Annoying!

Three weeks ago I decided I wanted to flash some new firmware on my motorcycle remote so I could use it to put a GPS on my Kindle Fire. That meant I needed take it apart and risk destroying it. Not an exciting prospect. Then I thought, why don't I just build another programming jig like the last one only upside down. That seemed like a winner, because it was fast, but I didn't have any more 2x3 ISP headers. Bah! Since I needed to wait on a shipment from Digikey I went ahead drew up a custom circuit board and added a few bells and whistles and sent it to fabricator.

The bells and whistles I spoke of are a pair of ISP headers which are mirror images of each other and a pair of LEDs that point to the #1 pin. When you plug into one the of the two headers, one of the two LEDs lights up pointing to the #1 pin. This function makes it easy to identify how to orient the PCB to the jig.

Below are images of the schematic and the board layout. The assembly is very easy. You just take two of the PCBs solder a pair of headers to the bottom board and pogo pegs to both and use some stand offs for strength. Check out the video for a better look at the final assembly.

Freesider's are evermore professional printistas of sorts. As our sprints are ramping up, there seems to be a growing interest in "organic modeling". Things often found in nature fall into this category for CAD artists.

Here is a recent Thingiverse upload, which was made from some very simple modeling techniques in Newtek's Lighwave 3D application. A little goes a very long way, indeed.

per Thingiverse.com:

There are 26 proper bones in the human foot; 28 if you consider the
sesamoids of the 1st metatarsal phalangeal joint complex. That's over
25% of your body's total musculo-skeletal anatomy, hitting the ground
every time you go for a walk or run! Quite impressive, really.

With the help of Freeside Atlanta Members, institutional researchers used open source Osirix Image viewer and 3D Software such as Newtek's Lightwave or Blender to create simulated surgical reductions as well as 3D printed templates. Freeside Atlanta members assisted in providing 3D printing solutions and know-how to the project.

Experimental test prints were done on a Makerbot Thing-o-matic, and final templates were printed on a modified ZCORP z400. These templates were full scale replicas of the patient's boney anatomy, which were used in the laboratory for practice purposes. (see video below)

The surgical bone cuts were trialed in advance and the the Ilizarov fixation frame was constructed and modified prior to surgery. The
combination of these two things saved the surgeons literally hours of
work in the operating theater, ultimately lowering cost of care and risk
of complications.

3D simulations were used for templating surgical approach on printed replicas.

Charcot foot syndrome (Charcot neuroarthropathy affecting the foot),
particularly in its latter stages, may pose a significant technical
challenge to the surgeon. Because of the lack of anatomic consistency,
preoperative planning with virtual and physical models of the foot could
improve the chances of achieving a predictable intraoperative result.
In this report, we describe the use of a novel, inexpensive,
3-dimensional template printing technique that can provide, with just a
normal printer, multiple "copies" of the foot to be repaired. Although
we depict this method as it pertains to repair of the Charcot foot, it
could also be used to plan and practice, or revise, 3-dimensional
surgical manipulations of other complex foot deformities.

Freesiders are continually tinkering with robotics and other such machinery. Many of these embedded processors and firmware are becoming open source and every-more diversified in the wake of the modern Maker movement.

This evolutionary pace of modern technological systems may be significantly faster the biologic system development, but there may be a few well learned tricks yet to be mastered. It seems that studying how nature has managed to solve many development challenges will aid in designing robotics, where efficiently counts just as much.

One challenge, that is particularly interesting, is data processing. Artificial intelligence is labored with processing data and producing a meaningful and useful output. When considering the increase in sensory and input devices avaible to robot hackers, AI technology may not be able to simply apply Brute Force for all scenarios.

How does the human brain sort through data and minimize apophenia, in real time? It delegates.

This, unfortunately is not a perfected system but it is still, (currently), better than anything man has managed to hacked together. What's important to remember about these systems is that they are subject to some strange exploits, which we call "Illusions". Optical illusions are centuries old and have often uncovered the curiosity within us all.

A recent study in the science journal, "Perception" has illustrated this point well. In this, they illustrate the error of duplication. Some such duplications do not appear to throw off any red flags in the observer. However, try causing an irregularity to someone's face and it's a totally different story.

The human face is one of the most instant and profound "appliances" of human interaction. Humans have evolved a very acute sense of facial recognition, which plays a vital role in our day to day goings on.

The difference between a smile and a frown, could mean the difference between a successful mate and a fight to the death. Other mild variations in not so useful things don't trigger the same primal response. This assumptive processing center of the brain acts somewhat comparably to a natural checksum, operating autonomously in the subconsciousness like a daemon.

Often, Makers and Hackers share their knowledge and designs in a very "open" manner. Nature itself has many lessons to teach designers as well. A better understanding of these such integrated systems and their exploits may better help us to design technological systems which are both sophisticated and efficient.

After seeing Joshua Oster-Morris with this little box I asked him to write a post for us on how it came it to being. Worth the read.

Dateline: San Francisco, May 10 2011: Google I/O 2011 opens up with much fanfare and I, a lowly “software guy”, sit down to listen to a couple of sessions on Google Web Toolkit. I have been using it to develop a motorcycle navigation website (http://www.dualsportmaps.com) and its always good to try to pick up a few new tricks of trade. These are mainly esoteric talks about development tools, but there is also one about a new API called RequestFactory that allows state aware communication between client and server characterized by its low bandwidth. They discuss how it might be handy to use as a protocol for communicating with Android devices. To that, my ears perk up and I make my best impersonation (imdogination) of Scooby-Doo. I have been doing a little Android development for personal projects, I have an extensive craft cocktail recipe book that I have compiled through pilgrimages to the best bars around the globe, and I have created an app so I can find them quickly on my phone. I found my options for sending data back and forth a little tedious (I was just creating my own one-off APIs). My interest was diverted from GWT and I segued to sessions on Android for the rest of the day.

I was looking for ideas for tools to put in the little blue tool box I have been refinishing. I am giving this to a kid I have been working with and I was wondering if people had ideas for what tools a teen should have.

What tools would you have wanted when you were a kid? What tools are you always needing?

Here is what I have so far:Small hammerMetric and standard socket setMetric and Standard Allen Wrenchesstandard screwdriver bits and small screw driver.Small hand saw with switchable blades.Three different types of pliers.