hybridair:

Just thought I would post this here too. It’s my dedicated TPP viewer. c:

There are instructions in the video description if you want to reproduce this.

Sorry for the lack of updates, I have been very busy with school lately. Here is something to hopefully fill up that gap for the meantime. 

It has been a short while since I last posted an update here, but I did get a ton of work done during that time.

I successfully assembled the PCB. The finished board passed the smoke test, and works perfectly. Hand soldering the SMD components to the board was very straightforward, and did not really create any problems. I also finalized the device’s code a couple days ago, and I’m now moving on to developing the host-side application.

I was unable to find any system/native GUI libraries (for better cross-platform support?) for Processing, unlike Python, which does. However, trying to find a USB HID library for Python that was cross-platform, and required no extra drivers proved to be difficult. As a result, I decided to try something completely new.

Last night, I started experimenting with Java in the NetBeans IDE, after seeing some Swing UI examples. Since there also appears to be a good amount of USB HID libraries for Java, I’m sure I will find something that easily and reliably works. Twitter4J, the Twitter library I used in Processing, also works here. And coincidentally, I will be taking a Java class this next semester (which begins in 4 days), which should be helpful. I have a pretty good feeling Java is going to be the platform I will use for the host program. 

On another note, if I ever to decide to actually bring this device to “the market” (as in, selling them), I will most likely need to remove “Twitter” from its name. So far I am currently undecided on a final name, but the process did lead me to the idea of adding support for other services. A future version of the TwitterScreen could have support for notifying/reading your latest email, or basic Tumblr support. It all depends on what is possible with my coding abilities, and available API’s.

A few days ago, I received the 3 PCBs I ordered for the TwitterScreen. They all came back perfect as expected, and I’ll assemble them once I get the device’s firmware worked on a bit more.

As of today, I finished getting the USBaspLoader bootloader (the bootloader that USnooBie was based off of) working perfectly. This will allow the user to easily (unplug, place jumper, plug in, upload) update the device’s firmware without the requirement of any extra hardware, like an AVR programmer. And since there are still ISP headers in the finished board prototype, both updating methods will still work.

The new white background you’re seeing in these pictures is actually this new ESD work mat I received for Christmas. This should hopefully prevent any static problems/help a bit with the assembly of this project, and all further ones. Speaking of Christmas, expect a post detailing a side project I finished soon. 

My order from Ponoko finally arrived today. I ordered two enclosures, one for Kim, one for testing/myself, and this little Skyrim logo thing too. (the brown “paper” is tape used to protect the plastic) All the engraved details came out perfectly, especially on the Skyrim thing. While all the parts work, there are some problems:

  • Everything is loose. I somehow managed to screw up all the cutting paths, so that the laser would go over all the lines twice. This resulted in all the parts being slightly smaller than they should have been. The tolerances I accounted for in the original design didn’t make anything better either.
  • The screws I am using to keep the display board attached are barely long enough. Since the display’s backlight housing is on one side only, I had to use a bit of scrap to compensate for the other side for now. I have some bushings that I plan to trim down to size to use instead, but that will have to wait until I am able to get my dremel out. 
  • The display support is unnecessary, and doesn’t help all that much in this design. The plastic seems to be strong enough to help itself and the display board up without any problems, but leans back a bit too far without the support. This can easily be fixed in a future design revision. 

Fortunately, I had some super glue left over, which helped keep all the loose parts in place.

I do have some semi-bad news though. The PCB will most likely not be here until after Kim leaves, but at least that will give me more time to code and get everything as perfect as possible. Perhaps I may even be able to send her a print of that picture along with it, once I’m finished. Speaking of that, I have had no time to work on anything in the past few days, with all my finals and preparing for Kim to arrive here. 

Just got the PCB for the TwitterScreen ordered from OSHPark. Hopefully it will be here before the 23rd of this month, but I’m a little worried. However, if it does end up being late, at least I’ll have extra time to get the code for it finalized. (and potentially prevent the rare chance of a problem at airport security (not that it should happen, this is a finished PCB after all (am I seriously using nested parenthesis now)))

I also made a few more changes since I posted the previous update:

  • I’m attempting surface mount soldering this time around. If hand soldering 1206 sized parts isn’t too difficult, I’ll probably keep at it. 
  • I re-added the ‘sleep’ button, but made them both serve as “function buttons” instead. This will allow for the user to easily assign what button they want to do what in the host software, as well as allow for additional software features. (planning to have more than just Twitter updates on this thing)
  • I changed the status LEDs a bit, a red one will always be on when the device has power, and the green one will be on when it’s successfully connected to the host.
  • I’m trying out using 3 of these 6 pin jumper wires on Sparkfun. They’re not the best solution, but should work fine for now.

Expect another update tomorrow, since I should be receiving the laser cut parts in the mail, and I might even have that overdue picture completed by then too. c’:

Ponoko (the place where I get my designs laser cut) recently had this 30% off weekend, in “celebration” of Black Friday and Cyber Monday. Since laser cutting can get a little expensive (compared to what you get, anyways), and the Christmas delivery window was closing, I decided to get the enclosure design finalized ASAP. This was going to be done sooner, but I had Kim’s picture at the top of my priority list. Don’t trust me with deadlines if it involves shading. (it’s not actually that bad, it’s just me being retarded :c )
To get the designs sent off, I had to make any major hardware changes to the PCB that I needed to, now. The USB HID serial deal from my previous post is something that will require major hardware changes. (usb connector, removal of the old USB thing, etc)
The first part (or what I thought) of getting USB to work was getting the USnooBie bootloader installed. This bootloader would allow the TwitterScreen’s user to upload new code to the device, without an external programmer. Unfortunately, getting this bootloader to work was a pain. Even after about a day of working on it, I made no progress at all. Not long after giving up for now (I will be making this thing work some way or another), I realized that this bootloader was not mandatory. Still, having this bootloader would making things a lot simpler hardware-wise. I’ll have to deal with including a standard 2x3 ISP header for now.
Fortunately, the HID Serial code library worked right after getting it set up. After a while of messing with it, I noticed I could replace the “sleep” button with a software based solution. However, this proved to also be a pain to get working for now, so I’ll save it for the near future. As for the rest of the system, I was able to get the HID Serial library working well enough to finalize the locations of the “important” parts on the PCB.
That reminds me, I am not sure why I didn’t start out with Processing for the host-side application. It is based on a programming language I already know a decent amount of, and it was just easier overall. Since that HID Serial code library comes with a library for Processing, as well as Twitter4j, I will be basically moving to that platform.
The next step was adapting the enclosure design to the modified PCB, which didn’t take long. After a few painful hours of getting my Sketchup designs to cooperate with Illustrator (never used Illustrator until now), I was able to send the finished enclosure designs out to be laser cut. They should be here in just over a week if things go right. I should also mention that Ponoko did not have any more of the fluorescent green acrylic at the time of ordering, so I had to go with the next best color (I think?) : Translucent Gray
Once again, my top priorty is that picture for Kim, which I am actually making progress on. Once that is completed, I’ll get the PCB design finalized and sent off for manufacturing. Then, I’ll finish coding the thing. (this is not the most ideal order, but hardware changes should not arise anymore) If everything goes as planned (aka: I stop procrastinating), both of these projects should be completed before Christmas.
Also, here’s something related to my upcoming projects. c:

Ponoko (the place where I get my designs laser cut) recently had this 30% off weekend, in “celebration” of Black Friday and Cyber Monday. Since laser cutting can get a little expensive (compared to what you get, anyways), and the Christmas delivery window was closing, I decided to get the enclosure design finalized ASAP. This was going to be done sooner, but I had Kim’s picture at the top of my priority list. Don’t trust me with deadlines if it involves shading. (it’s not actually that bad, it’s just me being retarded :c )

To get the designs sent off, I had to make any major hardware changes to the PCB that I needed to, now. The USB HID serial deal from my previous post is something that will require major hardware changes. (usb connector, removal of the old USB thing, etc)

The first part (or what I thought) of getting USB to work was getting the USnooBie bootloader installed. This bootloader would allow the TwitterScreen’s user to upload new code to the device, without an external programmer. Unfortunately, getting this bootloader to work was a pain. Even after about a day of working on it, I made no progress at all. Not long after giving up for now (I will be making this thing work some way or another), I realized that this bootloader was not mandatory. Still, having this bootloader would making things a lot simpler hardware-wise. I’ll have to deal with including a standard 2x3 ISP header for now.

Fortunately, the HID Serial code library worked right after getting it set up. After a while of messing with it, I noticed I could replace the “sleep” button with a software based solution. However, this proved to also be a pain to get working for now, so I’ll save it for the near future. As for the rest of the system, I was able to get the HID Serial library working well enough to finalize the locations of the “important” parts on the PCB.

That reminds me, I am not sure why I didn’t start out with Processing for the host-side application. It is based on a programming language I already know a decent amount of, and it was just easier overall. Since that HID Serial code library comes with a library for Processing, as well as Twitter4j, I will be basically moving to that platform.

The next step was adapting the enclosure design to the modified PCB, which didn’t take long. After a few painful hours of getting my Sketchup designs to cooperate with Illustrator (never used Illustrator until now), I was able to send the finished enclosure designs out to be laser cut. They should be here in just over a week if things go right. I should also mention that Ponoko did not have any more of the fluorescent green acrylic at the time of ordering, so I had to go with the next best color (I think?) : Translucent Gray

Once again, my top priorty is that picture for Kim, which I am actually making progress on. Once that is completed, I’ll get the PCB design finalized and sent off for manufacturing. Then, I’ll finish coding the thing. (this is not the most ideal order, but hardware changes should not arise anymore) If everything goes as planned (aka: I stop procrastinating), both of these projects should be completed before Christmas.

Also, here’s something related to my upcoming projects. c:

I have a feeling that this will be a viable alternative to using that lame USB to serial converter board. If this alternative does go through, I will need to edit the PCB design and the enclosure design, but it will be for the better. 

Now I just need to find some time to actually test this out, and finish working on the overall project. Before that, however, I REALLY have to finish that one picture that I am extremely late on. :’D

The design part of this project is almost near completion. The PCB design has been finished, with all errors corrected. I used eagleUp to import the finished board design into Google Sketchup (I really should be using something like Solidworks by now :c), added a few of the main components to the board, and made a few small adjustments.

While this thing is still a prototype, everything should line up decently once it is built. And it should also work.

All that is left now is any final adjustments, and getting this thing built.

I kind of gave in and got this cheap USB to serial converter off ebay, which you can sort of see sticking out in the rear picture. It works perfectly so far, and its drivers are signed, which means I wont have to screw around with as many things on Kim’s computer to get it to work. (I’m considering on making some kind of “all in one” installer, we’ll see how that goes) 

However, because of the design of that converter, it will unfortunately need some dumb USB extension cable, but that isn’t too much of a problem.

I’m also just about done with the overall laser-cut design. I reduced the size of the display support part, added little ‘feet’ to each corner, a supporting part for the USB connector, and moved a few other things. That gray circle in the front picture is a US quarter, used as a size comparision. All that is left is designing the PCB and making sure I don’t screw it up. :’D

Because of financial shortages, and school starting again soon, progress on this project may be a little slow from now. :c

I’m at the point where I’m basically done coding this thing, but I still need to wait to receive some more parts in the mail to start PCB design. Because of this, I thought I would go back to refining the physical design of the device. 
Because of the way I will be mailing this to Kim, I needed some way to have the device fold flat for transport, while still being easily assembled. The old design did not support this all that well.
This new design not only allows for easier assembly, but also fixes some other problems. The original design had the display at a 90 degree angle from the base, too low to be viewed correctly. I changed that to about 110 degrees, which works better. The new design also has a new supporting piece in the back, since the previous angle brackets will not be used anymore. (I could probably go without this piece, but that will put more stress on the base in that area)

I’m at the point where I’m basically done coding this thing, but I still need to wait to receive some more parts in the mail to start PCB design. Because of this, I thought I would go back to refining the physical design of the device. 

Because of the way I will be mailing this to Kim, I needed some way to have the device fold flat for transport, while still being easily assembled. The old design did not support this all that well.

This new design not only allows for easier assembly, but also fixes some other problems. The original design had the display at a 90 degree angle from the base, too low to be viewed correctly. I changed that to about 110 degrees, which works better. The new design also has a new supporting piece in the back, since the previous angle brackets will not be used anymore. (I could probably go without this piece, but that will put more stress on the base in that area)