Looks like I actually finishing something in time for once. :’D

Everything works as expected so far, just need to get it all packed up and ready for air travel. All I need to do now is make some documents for the TSA, in case they don’t like what they see in the xray machines. :c

Once I get back from my trip, I’ll finish setting up my second TwiScn so I can get more documentation up on here.

First time designing an actual GUI, hopefully it isn’t too unintuitive. :’D 

First time designing an actual GUI, hopefully it isn’t too unintuitive. :’D 

After about two weeks of almost non-stop coding, I am finally at the point (again?) where I have something to show that works. Since the last post I made here, I have rewritten all the code for this project, added many new features, and got the project up to a working state. You can find my Github account here to see pretty much every single thing I did software-wise.

In this video I’m demonstrating connecting the device to the computer, having it get the latest tweet, and then displaying new tweets as they are posted. Behind the scenes though, it’s doing even more things like applying settings read from a config file, watching for button presses, and managing Twitter communications. I apologize for the clicking sound in the background of the video. The autofocus may have taken a beating when my mom dropped this camera. :’c

Even though everything is in a working state, there are some things that still need to be completed:

  • Adding notification functionality to the device (when the text scrolling is paused, when rainbow mode is activated, etc)
  • Error logging
  • Making a GUI for the host program
  • Extensive bug testing/fixing
  • Some other things that I know I have missed

If you have any questions about anything, please feel free to ask me them here. c:

I think I should probably update this

Since this semester has finally ended, I have had a lot more time to work on all my projects and everything. I finally finished that extremely late birthday picture for Kim, and got back to work on the TwitterScreen.

So far, I have a working proof-of-concept host application coded in Java. I had to put completing it on hold, however, because of how badly I coded the device last year. I am currently working on debugging and rewriting it now. You can find most of what I have done so far on my new GitHub account, that I have finally started using. I am still very new to this, so please bear with me as I get everything organized and figured out. I’ll make a more detailed post once I get this whole setup working at a more presentable level.

I have also been getting some new ideas for this blog, and my Tumblr presence in general. I’m planning on completely redesigning this blog, and possibly creating another blog to go along with it. One will be for art/visual stuff, the other will be for electrical/code stuff.

Anyways, expect many things to come in the near future. c:

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: