PDA

View Full Version : PIP-GRL 31415 (not spam!)



ZTiK.nl
02-02-2013, 10:01 PM
Hi again everybody,

I'm not sure if this should be posted in General Discussion or Project Guidance, but since I don't have any questions on how-to's, GD seemed best.
I have been working with my Teensy 3.0 for a little over one month, and since yesterday night I have gotten my TFT touchscreen to work, along with the MicroSD adapter provided by PJRC (my main components).
Since the moment I ordered the TFT I have been thinking about what I'm going to make with it...
The possibilities seem endless, but I have managed to single out something that would be awesome (in my humble opinion).

My goal:
Make a wrist-computer (PIP-GRL 31415) similar to the 'PIP-BOY 3000 (http://www.movscreen.com/wallpaper/2012/12/01/fallout-pip-1920x1200-wallpoper.jpg)' in the computer game Fallout.

I know others have made these already, but so far there has been only 1 real functioning pip-boy (http://thegrieve.co.uk/blog/2012/11/the-raspberry-pipboy/), which has gone up in flames.
Also, the size of the Teensy allows for a smaller design thus not getting the way of normal life.
Not sure how to explain this properly, but I would scale down the entire thing so it wouldnt extend the width of my wrist...height is less of an issue to me (within all reasonability ofcourse)

At the moment I only have my TFT working with the MicroSD adapter, I still need to update the examples to the new SdFat library so that I will be able to read/display images within < 1 sec instead of the 9 sec it takes now to load an 240x320 .bmp file.
Thats one other thing I will be looking at, adding a section to the GFX library to support .png files as well (if it is actually possible & not slower compared to .bmp).

I have ordered the following items to add:
Crystal 32kHz
Max Power IR LED Kit
PCB Mounted Speaker
Toggle Switch
Missile Switch Cover - Carbon Fiber Look

I realize that the PIP-BOY does not have an on/off switch but I'm afraid I am going to need one.
Also, the switch cover is really needed to make sure my sleeves can't accidentally turn on/off the PIP-GRL
I'm not sure if the PIP-BOY has infrared, but according to the wikipedia it very likely has 'wireless capabilities'

Files can be transferred from some terminals to your Pip-Boy, which could indicate it has some kind of wireless connection.

I had an old pc-speaker connected to one of the digital pins (23), which plays the Tetris theme song very nicely, so switching to the (tiny) pcb speaker should be quite easy.

At the moment I am waiting with ordering more parts until I have all the above working and ready, but I am always looking for new/funny ideas to incorporate into this pet project:

One of the things I will definately be needing is a compass, to show me where north is...
I have thought about GPS, so that I will be able to 'track objectives' (work/home/shops) but this probably be one of the last parts I will add.
Also, I would like to incorporate an FM receiver (http://www.pieterfloris.nl/shop/product.php?id_product=942)
Maybe I will also incorporate a pulse-sensor (http://www.pieterfloris.nl/shop/product.php?id_product=989) to detect 'health'...

I'm not sure if I want/need a gyroscope... since it will be wrist-mounted, the display should always be in the same landscape orientation i guess...

Currently everything is on a breadboard but I am planning to order a few new Teensy's, mainly because I am not too familiar with the soldering iron yet.
I have read somewhere that Paul was planning/thinking about a Teensy 3.0 ++, so I might wait with ordering these until then... seems like I will be needing a lot of pins eventually :)
All cables are connected except the X-, X+ Y- and Y+ because my remaining jumperwires are either too long or too short.

Everything that you see on the display is text, that includes the lines between the letters.
I could have used the draw line function for it, but this was faster for a quick test of what it would look like:
218

On a sidenote I should mention that I taught myself programming/electronics, and I am doing something I wouldn't believe if you told me so three months ago.
What I am saying here is that I probably skipped a valuable lesson here and there, and I don't fully understand everything I am doing.
There should be no expectations of this actually working, I am bound to screw up somewhere along the way.
Thankfully I am also quite persistent... if I want something done, I'll get it done... no matter how many sparks I see :cool:

I guess that is all I have to say for now, if you have any suggestions, I would love to hear them!
Thank you for reading this and thanks to those who assisted me with getting this far!

ZTiK.nl
02-02-2013, 10:14 PM
Small addition, I have extracted the pipboy images from the Fallout data files and will be using these soon (after SdFat upgrade).

I guess that as long as I use them in a non-commercial way I shouldn't be in much trouble...
Maybe I will send an email to Bethesda :)

ZTiK.nl
02-03-2013, 01:36 AM
I have realized that it is unwise to use .png images as they are not easily translatable to RGB, so for now I will direct my focus elsewhere...

I am thinking about making 240x320 images of the Netherlands and storing them on the microSD.
Then link it with a GPS module, and display the corresponding image for the given coordinates.
Maybe I will get that GPS sooner than I thought...

Has anyone invented 'Fast Travel' yet ? :p

Nantonos
02-03-2013, 08:17 AM
I have realized that it is unwise to use .png images as they are not easily translatable to RGB,

Er - what? PNG images always contain RGB.

ZTiK.nl
02-03-2013, 09:37 AM
Oops, I confused .jpeg with .png on the arduino forum (http://arduino.cc/forum/index.php?topic=60777.0)about this topic...

Thnx, didn't realize I misread until you said that.

Nantonos
02-03-2013, 12:37 PM
Oops, I confused .jpeg with .png on the arduino forum (http://arduino.cc/forum/index.php?topic=60777.0)about this topic...

Thnx, didn't realize I misread until you said that.

OK so looking at that forum post, the issue is decoding complexity of the compression method (with both PNG and JPEG/JFIF) nothing to do with whether the image data is stored as RGB or some other color model.

ZTiK.nl
02-03-2013, 01:12 PM
Yeah it appears so, I mixed up reply #4 and #6 in that post.

Well, for the time being I won't scratch .png off of my wishlist just yet.
Once I have a little bit more time to dive head first into yet another subject I'll see where that takes me :)

Constantin
02-05-2013, 10:31 AM
Awesome project. I hope you won't have te same wiring issues as pip-boy#1. I suggest the judicious use of fuses to avoid that sort of problem. I like PTCs because they auto reset once a fault has been cleared.

My mums English-made boat had enough electrical wiring issues to prompt me to replace it all. Took a long time. Lots of pain getting at the wires in question. But ultimately a better solution than having the boat go up in flames whilst on the high seas.

ZTiK.nl
02-05-2013, 02:56 PM
I like PTCs because they auto reset once a fault has been cleared.

I had been checking ways to protect everything, but wasn't aware of auto-resetting fuses, thanks!
For those like me who don't know much about them, here is where I found more information (http://www.littelfuse.com/Technical%20Resources/Education%20Center/Fuses%20vs%20PTCs.aspx) along with the wikipedia site (http://en.wikipedia.org/wiki/Polyswitch) ofcourse.

ZTiK.nl
02-06-2013, 11:01 PM
I made a start with the PIP-GRL menu and also did a 'login-screen', and since it is working so nicely I made a youtube vid (https://www.youtube.com/watch?v=t4WswVAcQnE).
It is only 30-something seconds long, but it shows the basics :)

Everything you see is either text positioned at x/y coordinates, or lines/triangles/rectangles drawn from/to x/y coordinates.
I still need to rewrite the adafruit graphics library to load the VaultBoy icons using SdFat, because when I use the default library it takes 8+ seconds to load a 100kb file...

Also, no matter how often you login incorrect, the display says '4 attempts left', still have to work on that ;)

ZTiK.nl
02-07-2013, 03:56 AM
Well, I ordered some more items for this project...

-Breadboard wire bundle
-Solder Wick
-5x Solderless Headers - 10-pin Straight
-20 in 1 Basic components mixed pack

-Black Metal Knob - 14x24mm
-Key Switch - Small
-Logic Level Converter
-Coin Cell Battery - 20mm
-10K Breadboard Potentiometer
-Adafruit Ultimate GPS Breakout - 66 channel w/10 Hz updates - Version 3
-LSM303 Breakout Board - Tilt Compensated Compass
-MCP23017 - i2c 16 input/output port expander
-Humidity and Temperature Sensor - RHT03
-8-channel Bi-directional Logic Level Converter - TXB0108
-Surface Transducer - Small
-Electret Microphone Amplifier - MAX4466 with Adjustable Gain

guess that this topic will expand quite a bit in the near future with updates of how it is working out.

As always, if there is any interest in a guide on what I managed to get working, or information on what I did, please ask.
I might not be able to answer all your questions properly, but it's a learning experience for me as well ;)

ZTiK.nl
02-07-2013, 05:13 AM
Following Constantins advice, I am ordering a few PTC (https://www.sparkfun.com/products/8357)'s too, thanks again!
I'm not using them yet until I've done some more reading about it, simply because I don't know for sure how to use 250mA PTC with devices that want less (100mA and lower).

So much to learn... (no I'm not complaining, merely stating a fact)

ZTiK.nl
02-07-2013, 07:41 AM
This could be considered overkill, but I ordered another set of items:

-Laser Card Module - Red
-LED Light Pipe 0.6" Round
-3x LED Tactile Button - Red
-MOSFET Power Control Kit
-MPL3115A2 Altitude/Pressure Sensor Breakout
-Pulse Sensor
-10x Resettable Fuse PTC
-SparkFun Inventor's Kit for Arduino - Carrying Case
-SpeakJet Module

Quite anxious about the SpeakJet Module, GPS and compass modules...

ZTiK.nl
02-12-2013, 01:44 AM
Some of the parts came in a few days ago.
Didn't have much time to play with everything yet but I got the GPS module up an running.

Since it also syncs time/date I have replaced the HP/XP/AP (hitpoints/experiencepoints/actionpoints) in the menu with TM/DT/NE (time/date/northeast) displays

I still need to create a map page in the script, so I placed the GPS info display on the 'Perks' menu :x
-I'm not too sure about the altitude info, I'm on the 2nd floor of a building, but I know I am below sealevel... still need to dig up more details on that
-I can also verify that I am not moving yet my velocity/speed is never at 0, I think this is because I am indoors and not using an external antenna (yet).
-The coordinates are quite accurate, I am but a few meters away from where Google Maps says the coordinates are.
-If the GPS connection is lost, the last known position will be displayed.
-If the GPS connection is lost and there is no last known position, it will display 31415, probably no explanation needed ;)

Here is an image of what it looks like now:
237
(I lowered the backlight to get more detail in the picture, but it is much more vivid at full backlightation(?) )

Also, I am completely out of pins on the T3 now, so I have to find a way to use the bottom solder pads/pins on a breadboard.. any suggestions?

Just a few more things about the image:
-There is a battery level indicator on the top left instead of where the LVL # should be, it doesn't function yet, I simply set an int batterylevel = 100; at the top of the .ino file
The script behind it does work, if the batterylevel var falls below 66 the first (last in display) one bar will disappear, below 33 another bar disappears, and below 5 the last bar disappears
I am currently working with 2x 100% pure 'pc supplied' usb power, in the final product I hope to get a batt.level module to make this actually work.
-There is a big green rectangle in the middle of the screen I should have removed before taking the image.
This is something I was using as a test for a batt.meter but will also be used for the CND/health meter on the Status menu.
I will probably link this to the pulse-sensor I ordered to make a .. well... health percentage meter...

Anybody know how to convert heartbeats p/m to percentages ? :P

ZTiK.nl
02-12-2013, 01:48 AM
I forgot to credit kingforger for writing a guide (http://forum.pjrc.com/threads/95-GPS-working!) on how to accomplish this.
Also, if anybody needs/wants a copy of my working lib, let me know!

ZTiK.nl
02-12-2013, 10:07 PM
Made a new youtube vid which shows (in this order):

-The new and improved login screen and locked/bricked screen

after reuploading the code and logging in with PARTS passwd (could have resetted, but hard to reach with all those cables):
-(not really functioning) charging/battery indicator
-GPS time/date lat/long
-SdFat working together with the tft bmpdraw example to draw Vaultboy

Then the RAD submenu:
-A meter that takes a random value from A13 once per second, combines 3 values and displays the average

Then on the Perks menu:
GPS lat/long, speed, angle, altitude, amount of sat. connections and quality.


I have to work on the GPS code to increase time with 1 hr for daylight saving time.
To make the vid I lowered backlighting a bit, webcam doesn't really like the display changing from black to green that much :x

ZTiK.nl
02-13-2013, 12:43 AM
/facepalm
I can't believe I just did that... forgot to post the link :x

here you go (https://www.youtube.com/watch?v=f9YlzzCmshs)

ZTiK.nl
02-14-2013, 12:36 AM
I've (finally) done some work to combine the MicroSD with the GPS and screen to create a rudimentary 'you are here' system.

When the page is loaded, a map of the Netherlands is drawn to the screen.
Then the GPS coordinates are mapped to the coordinates of the relative location on the screen, and a square is drawn around the location with a dot in the epicenter.
(I will create the arrows that the pip-boy actually uses, but since I haven't been able to connect my compass yet, I have no direction to point the arrow to...)

Due to the shape the Netherlands is, I chose to rotate the map 90 degrees clockwise to be able to show the full map of NL.
At a later point in time I want to do the same for each province (12 total) to give the option to zoom in/out 1 level.
I am also thinking about an overlay option for road/public transport/bicycle routes/emergency services/work & home, but with so many things on my wish-list I'm not so sure this will ever get done :)

For your viewing pleasure:
246

lone_wanderer
02-15-2013, 07:06 AM
Your work is amazing! How did you program the interface?

ZTiK.nl
02-15-2013, 07:56 AM
Thanks, always nice to hear others agree with my opinion :)
A bit of an 'open' question though, I'll try and answer to what I think you want to know.

The interface consists of:

startup defines and vars with

page = 0; // loginpage
menu = 0;
submenu = 0

setup loop with
-initializations of screen, gps, microSD
-trigger to page_0() function

main loop with
-touch triggers (open page/menu/submenu and trigger buttons like mute)
-value updates on screen (refresh time/date/gps) after elapsedMillis(#);

functions file with

page_0(); // login page
page_1(); // STATS page
page_2(); // ITEMS page
page_3(); // DATA page
page_99(); // device locked page
page_100(); // settings page
There are a lot more functions in there, but I won't put them all in, a sample: different beeps, password check, refresh time/date/gps, coordinate calculate functions, mute function, etc, etc, etc :)



To give a general idea of what happens when the code is executed/teensy is reset:
-The startvars are set and the setup loop kicks in.
-Once the setup loop reaches the last line, it is diverted to the loginscreen in function Page_0();
-Page_0(); waits for input from the loop to press a passwords x/y coordinate, and checks if the corresponding password matches the system
-If pass is good, Page_0(); sends you to Page_1();, otherwise the counter goes down with 1 failed loginattempt.

Pretty much the same happens for every other page/menu/submenu


At the moment there are 2 images loaded, the Vaultboy image on Page_1 Status menu, and the map of the Netherlands on the Page_1 Skills menu.
Everything else is either printed text or drawn lines/squares/triangles.
This also means that I use a LOT of code to draw the interface and I have less code left for actual scripts I want to implement.

I still need to rewrite a lot of code to consume less memory/space, at the moment my scripts take up:

Binary sketch size: 64.360 bytes (of a 131.072 byte maximum)
Estimated memory use: 8.860 bytes (of a 16.384 byte maximum)
but I have to admit that I have not been really mindful of this from the start on, I just wanted it to work :)
I think I can free up about 10k (maybe 15k) of space by replacing often used code with functions, and I think I can shave quite a bit off the memory usage as well by cleaning up some scripts.

That is about all I can think of concerning the interface at the moment.
I hope this answers your question, if not, please clarify what you'd like to know more about and I'll definately follow up!

Btw, love your nickname :)

lone_wanderer
02-15-2013, 09:58 AM
At the risk of sounding like the complete code noob that I am...you wrote it in python, right?
Are you using a raspberry pi?

Thanks ^_^

ZTiK.nl
02-15-2013, 04:00 PM
At the risk of sounding like the complete code noob that I am...you wrote it in python, right?
Are you using a raspberry pi?

Thanks ^_^


Ha, I didn't think about explaining that part, sry.

I am using a Teensy 3.0 (http://www.pjrc.com/store/teensy3.html) instead of a Rasp Pi.
Everything is written in the C++ derived Arduino language.

I know that it should be possible to code in other languages, but since my programming skills are pretty much equal for all languages (not that good :x), I stuck with the Arduino language.

lone_wanderer
02-15-2013, 05:18 PM
Thank you, the only coding languages I'm familiar with are HTML, CSS and php, so my idea to build a pipboy for a comic con probably wasn't the smartest. However, your insanely awesome descriptions of your process have made it seem halfway doable.

So is the teensy acting like an arduino then? I put together a shrimp (cheap arduino) and I'm wondering if I could use that instead.

Edit: grammar

lone_wanderer
02-15-2013, 05:59 PM
My goal for my pip boy right now is just the main screens and being able to use a rotary enable switch, a five-position switch, and push buttons near the LEDs like pip boy 1 to move within and between them. I think I will worry about GPS and health sensors much later!

My only credential right now is that I have taken a basic electronics class so hopefully I won't blow anything up. Mind if i ask where you got your LCD?

ZTiK.nl
02-15-2013, 06:10 PM
My background is in PHP/SQL as well, so for me this was a big step up.
Don't let the C language discourage you though, it is not that hard to understand the basics, and you can get pretty far with just the basics ;)

The Teensy is indeed compatible with (most) Arduino code, but the Teensy is quite a bit more powerful and has more memory compared to a stock Arduino.
When I started this I was expecting to display a few simple bmp's, but the Teensy has allowed me to expand on that idea up to where I drew my own interface instead of using an image.

I know that the TFT, GPS & MicroSD can all work on Arduino so the limiting factor would be the Arduino's memory/processing speed.
For this reason I suspect most of this should also function on an Arduino, but I haven't tried this myself ;)

ZTiK.nl
02-15-2013, 06:19 PM
My goal for my pip boy right now is just the main screens and being able to use a rotary enable switch, a five-position switch, and push buttons near the LEDs like pip boy 1 to move within and between them. I think I will worry about GPS and health sensors much later!

My only credential right now is that I have taken a basic electronics class so hopefully I won't blow anything up. Mind if i ask where you got your LCD?


Haha, that was how I started too... just a simple idea about a screen and a few buttons :)

Well, your knowledge about electronics is already above my level, I never received this in school, and my first electronics project was my Teensy a little over 2 months ago.
Before that my biggest electronics project was switching a lightbulb ;)

I would like to mention (again) that I am a complete noob (read: idiot) with all this, and that if I can get this far, I'm positive you can do it too, and probably better :)


I got the screen from Adafruit (http://www.adafruit.com/products/335)
Should you get it, keep in mind that there is a Shield version for Arduinos available too!

ZTiK.nl
02-15-2013, 06:43 PM
In case you are still curious about the code, I attached a zip file which contains my project folder.

I have split up my project into multiple files simply to keep it all bit more organized but it is still quite messy :)

250

(I apologize in advance to anybody who takes offense from my horrible coding style)

lone_wanderer
02-18-2013, 02:49 AM
You are BAD. ASS.

I was going to give up on this project before I found your forum posts. Now I've ordered an LCD and bought a 5-position switch to play with.

Do you think I should order the Teensy? I'm debating on it because I don't want to spend more money, but it seems like the only microcontroller board small enough to make the pip boy size I want feasible.

ZTiK.nl
02-18-2013, 03:47 AM
You are BAD. ASS.

I was going to give up on this project before I found your forum posts. Now I've ordered an LCD and bought a 5-position switch to play with.

Do you think I should order the Teensy? I'm debating on it because I don't want to spend more money, but it seems like the only microcontroller board small enough to make the pip boy size I want feasible.


Thanks, but I think you're too kind though :)

Well, I chose the Teensy (when I didn't have this idea yet) because of the posts I read online about Teensy itself, but also the support of the creator(s) & community.

One of the examples is here in this post (http://forum.pjrc.com/threads/16798-2-8-quot-TFT-touchscreen-Teensy-3-0), where I am given support in getting the screen to work.
The default code needed some modification and I've been given the push I needed towards the right direction.
Disclaimer: This doesn't automatically mean that things will get fixed for you quickly though, some things take time... but if anybody can help/point in the right direction they will

The other reason I went for the Teensy was the fact that I didn't knew anything about either Arduino or Teensy, so I might as well jump in the deep end.

The code language is pretty much the same, but the hardware itself is more powerful.
Unfortunately a lot is still undocumented, but that will soon change as I understand (website updates, and there is talk on the forum about a community driven Wiki site).

Unless you are in a hurry, you can always get a Teensy when you are 'ready' for it, but if you are like me and are not afraid of a new 'challenge', go for it!
I think you'll be sitting with a big grin just like me, simply because you got something working which was 'magic' a few days/weeks ago ;)

Ofcourse, keep in mind that it is all electronics, and that you might blow up something along the way.
I haven't so far, but if someday smoke comes from my Teensy or one of the other parts, I won't cry about it, I'll order new ones and isolate the problem to prevent it in the future.
Don't be afraid to learn from a bad experience ;)

Concidering the size of the Teensy, it is quite perfect for things like this, here is an image I made when I received it
252
(the OV-chipkaart is regular creditcard size)

The last thing I want to mention is something that I used to tell my customers when I still worked at a helpdesk:
Before you buy anything, look around on the market which product suits you best.
I can tell you a million things about how wonderful it is, but it might not meet your expectations.


In case you are still interested in the Teensy, I would point to this link (http://www.kickstarter.com/projects/paulstoffregen/teensy-30-32-bit-arm-cortex-m4-usable-in-arduino-a), which contains a nice writeup on the Teensy 3.0.
Ofcourse, I can't tell you to buy something or not, you have to decide that for yourself, but I hope my thoughts help a bit :)


P.S. Sorry about the long posts each time, it appears I don't know how to give a short answer anymore :x

ZTiK.nl
02-18-2013, 04:00 AM
Glad I was able to revive your interest in an old project!

Which display did you order ?
I suspect the same from Adafruit, if not: did you get one with a touchsensitive layer, or normal screen ?

For what it's worth, I'm willing to help anyone with making a PIP-BOY (or GRL), but if you are not doing this on a Teensy, this forum isn't the right place.
In that case let me know and I'll send you a PM with my emailaddress so you can mail me directly ;)

However, if you are going to work with a Teensy, please post in the forum instead so other people can learn too from your experiences too!

I wish you the best of luck with your endeavour ofcourse, and I hope it will be (at least) as much fun as I had so far!

ZTiK.nl
02-23-2013, 03:26 AM
With help from Qumefox I got the MCP23016 port expander running on the I2C interface.
Since I learned a bit more about i2c from that, I decided to connect my Tilt Compensated Compass (https://www.sparkfun.com/products/10888) (LSM303DLM TR).

It worked straight out of the box, I still need to calibrate it further using the supplied example, but it points south and north fairly accurate without calibration already :)
Because everything is connected on a breadboard with short wires it is quite hard to test the tilt compensation, but I will test with longer wires at a later time.

Now I need to change the Map screens to show an arrow pointing in the direction I am facing, instead of a square box around the coordinates...

ZTiK.nl
02-24-2013, 02:37 AM
No... I haven't finished calibrating my compass yet, but I did add two other things and made a new video (https://www.youtube.com/watch?v=Zci7EEjyMfA):

-I have connected a microphone to A10, and (quickly) created a very simple volume meter (if that is the right word for this thingie... boy, my english sucks...)
-The laserpointer module I ordered has now been connected to GP1,0 on the MCP23016, and is turned on/off every 5000 millisec, which means I can create a button for it in the options menu.


I also connected 2 ultra-bright (non-diffused) white LED's, so I can be the light of anyones life :P
Unfortunately I cannot show these in the video, because my webcam has issues with bright lights.

ZTiK.nl
02-27-2013, 07:35 PM
Some more progress updates:

1. Radio works and can be controlled from my TFT screen :)
2. The LDR works and now displays a light level
3. I changed the Settings page to split up in a Display, an Audio, a Controls and a Gameplay section.

As always, another youtube video where you can see it all in action.
https://www.youtube.com/watch?v=IzEYRNvdHQ0

Things that have been added to my to-do list:
-Display RDS information on screen
-Goto frequency directly instead of search
-Connect LDR to backlight of TFT somehow

lone_wanderer
03-07-2013, 04:22 PM
All right, I now have a teensy 3.0 and a 3.2" lcd (http://www.ebay.com/itm/3-2-inch-TFT-LCD-Module-Display-320x240-Touch-Panel-PCB-Adapter-SD-Card-Cage-/281008929016?pt=LH_DefaultDomain_0&hash=item416d6ff8f8)! I'm just waiting on the header pins, which should be here today. I also ordered this 5-position switch for the rotary selector switch on the bottom left of the pip-boy/grl http://www.ebay.com/itm/111009535184?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649. I bought a tactile red button from radio shack to test as one of the three selector buttons below the screen. They had an illuminated one, but it would switch to only-on or only-off instead of being a momentary switch with an LED that I could actually control. I also picked it to try because it sounded sweet. :) The only thing left as far as switches go, is an on/off switch and the rotary encoder type switch that goes to the left of the screen. And then I have to hook it all up without frying anything! ;)

How many pins does your LCD take up on your teensy? How many would it take without the touch capabilities? Did you follow a guide to figure out which pins to connect?

Your newest videos look amazing! I want to incorporate that LED control into my final build! And you even got radio working! So amazing.

Now I need to research how to play mp3s on an arduino so I can have Three Dog with me all the time. ^_^

ZTiK.nl
03-07-2013, 08:15 PM
Great to hear from you again, was hoping I haven't heard the last from you yet :)
Also, congratulations on the purchases, I truly hope you'll have as much fun as I had so far!

About my TFT I can give you quite a bit of information, but keep in mind that most of it is directly 'linked' with my TFT's display controller (ILI9325 (http://www.adafruit.com/products/335)).

The screen has an 8bit data connection, and uses 8 pins on the Teensy for display uses.
There are another 5 pins used for CS/RD/WR/C-D/RST
The touch related pins are 4 in total: x-,y-,x+,y+
Then there are 3 pins remaining which go to 3.3v, GND and 3.3v on the backlight (with a 10k potmeter for dim function)

In total that means I need 13 pins without touch, and 17 with touch.

I did at first follow a tutorial (http://learn.adafruit.com/2-8-tft-touchscreen/overview) regarding the connections, but this was meant for arduino's so I had to make some changes to the library (http://forum.pjrc.com/threads/16798-2-8-quot-TFT-touchscreen-Teensy-3-0) to control the 8 data lines from a T3 instead of an ardu.

Thanks for the compliments, but like I said before, I'm sure that if I can do it, you can do it too, and better than me :)

If you mean turning on/off the LED's with 'the LED control', I would definately advice to look at an I/O pin expander such as the MCP23016 (http://forum.pjrc.com/threads/18746-Blink-2-leds-with-MCP23016-I-O-expander)

This beauty allows you to connect (and control) 16 LEDs/lasers/buttons/etc using 2 pins from the I2C bus.
The nice thing about these is that you can connect multiple expanders simultaneously on the same I2C bus.

The FM radio, the compass, and the 6DOF sensor I have are also using the I2C interface, so they don't use any (extra) pins, all of them are connected to A4 & A5 on the T3 which saves a lot of pins :)
I'm also interested on playing music files from SD, but haven't really looked into it yet.
So much to do... :)

I did receive my on/off switch, but have decided not to connect it until I no longer use a breadboard for my PIP-GRL, since my breadboard powersupply has its own on/off switch.

If it's not obvious yet, I am very interested in how your project will develop, so I'd love more updates as time goes by!
Questions are always welcome too, but do remember that I am still a rookie with all this ;)

edit:6DOF not 9DOF

Qumefox
03-07-2013, 08:36 PM
All right, I now have a teensy 3.0 and a 3.2" lcd (http://www.ebay.com/itm/3-2-inch-TFT-LCD-Module-Display-320x240-Touch-Panel-PCB-Adapter-SD-Card-Cage-/281008929016?pt=LH_DefaultDomain_0&hash=item416d6ff8f8)! I'm just waiting on the header pins, which should be here today. I also ordered this 5-position switch for the rotary selector switch on the bottom left of the pip-boy/grl http://www.ebay.com/itm/111009535184?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649. I bought a tactile red button from radio shack to test as one of the three selector buttons below the screen. They had an illuminated one, but it would switch to only-on or only-off instead of being a momentary switch with an LED that I could actually control. I also picked it to try because it sounded sweet. :) The only thing left as far as switches go, is an on/off switch and the rotary encoder type switch that goes to the left of the screen. And then I have to hook it all up without frying anything! ;)

How many pins does your LCD take up on your teensy? How many would it take without the touch capabilities? Did you follow a guide to figure out which pins to connect?

Your newest videos look amazing! I want to incorporate that LED control into my final build! And you even got radio working! So amazing.

Now I need to research how to play mp3s on an arduino so I can have Three Dog with me all the time. ^_^

You should be advised that your display is not like the ILI9325 ZTiK used. the SSD1289 displays like that use a 16bit parallel interface, instead of an 8bit interface like the one ZTiK used. Also touch on the one you ordered will work differently as well.. These ebay SSD1299 displays.. at least the one I used, has an SPI interface for the touchscreen, instead of just raw X and Y outputs.

See this thread for my adventures getting an SSD1289 based display working on the teensy3. Though I haven't tackled touch yet.

http://forum.pjrc.com/threads/18002-Teensy-3-0-driving-an-SSD1289-with-utft

ZTiK.nl
03-18-2013, 05:32 PM
It has been a bit quiet from my end, but that doesn't mean I stopped working on this project.
I am in the progress of rewriting my entire code, doing things I should have done right from the beginning... just didn't expect how big it would become...

Also, I have signed up with a local hackerspace (Technologia Incognita (http://techinc.nl/)) which I'll be visiting the day after tomorrow for the first time.
I was actually planning to go to the open day on March 30th, but was asked in the IRC channel to come to the next social meeting.

For anybody who is interested in the dutch hackerspaces 'open dagen', you can read more in dutch here (http://hackerspaces.nl/open-dag/) (incl. a list of participating spaces).

ZTiK.nl
03-31-2013, 02:28 PM
offtopic:
Hackerspaces are awesome, wish I joined one years ago!
Even gave a presentation about my project on the open day titled 'How I learned to stop worrying and love the microcontroller'.
Hope everyone liked it, even though I didn't sleep the night before and I was quite nervous (my last presentation was in school ~16 years ago) :)

ontopic:
On my first visit to the space (wednesday the 20th) I was informed by fellow members that it is actually quite feasable to connect a geigertube and have a working(!) RAD meter, yay!
To follow up on that, when I arrived at the space the next week, one of the members came to me with quite a surprise: he placed an order for the tube :cool:

Also, I'm working on adding a new function: keyboard/mouse/joystick control from PIP-GRL to any computer.

RandyR
04-26-2013, 06:02 PM
Your project looks awesome! Just shows how useful the teensyduino can be. This is a totally different scale from the project I am working on, (controls for a flight simulator,) but I still might get some ideas from it.

ZTiK.nl
04-26-2013, 07:12 PM
Thanks RandyR, though due to a change in job I haven't had much time the last few weeks to continue working on it.
It might be quiet from this end for another month or two, until I am really settled in at work, and can start to focus on other things again ;)

Feel free to incorporate anything you see in my project in your own projects, no copyleft on my experiment :cool:

TheMike
05-29-2013, 05:22 PM
Hi there,

well, with my sloppy english I cant even tell you how aw**** your project is, respect!
So Im also a complete noob and your work is very inspirating. Im still fiddling with a more simple display with much simpler tasks... :-\

Do you have a (rough) pinout/wiring schematic of your project?
Also I have read through the thread two times now but cannot find what radio you used...

Best regards,
Mike

ZTiK.nl
05-30-2013, 01:46 AM
Hi TheMike,

Thank you for your kind words!
Don't be discouraged by the simple tasks, you can still learn a lot from them. Have to start somewhere :)

Well, because the project is in constant state of change due to my many addons over time I do not have a schematic of the currect configuration.
Some parts still need connecting (like the Speakjet module and the Geigertube) and some already connected stuff needs to be rewired (mostly the display).
On top of this, my breadboards contain so many connections I really need to ask assistance from one of my fellow hackerspace members on creating a proper schematic.

I have been updating my project page on the hackerspace, which contains a writeup on the currect functions.
It also contains a list of parts, including a link to the suppliers, which can be found here : http://wiki.techinc.nl/index.php/PIP-GRL_31415#List_of_parts_and_link_to_my_suppliers

For quick reference, the radio I am using is 'Evaluation Board for Si4703 FM Tuner' from SparkFun: https://www.sparkfun.com/products/10663

I hope this helps!

Greetings,

P.S. don't worry about your english, it seems fine to me ;)

selectnone
08-09-2013, 06:58 PM
Nice work, I'm going to keep an eye on this :)

I'm trying to build a working Pip-Boy too - doing this is certainly teaching me a lot, and I'm buying a lot of new components!


http://www.youtube.com/watch?v=IoVtARYE5jg

I'm doing the UI with Python on a Raspberry Pi, after I'd seen the version you'd linked to earlier - I'm coding it from scratch, but his code showed me what was possible, I'd not actually written my own Python before...

I'm currently just using my Teensy 3 to control the LEDs and work as a keyboard/mouse - that way I can use a keyboard/mouse to replace the controls when debugging.

Sadly I've been having difficulties getting the Teensy to work well as a keyboard on the Pi - it isn't recognised when the Pi is first powered on, and it sometimes misses characters, or repeats them :(

Did you manage to get that Geiger tube working?
I've still not decided if I'm going to include one of those...
They're not cheap, and I'm worried about building a wearable high-voltage device :P

I might actually be able to use my Raspberry Pi's camera as a (highly inaccurate) radiation-meter! (http://www.raspberrypi.org/phpBB3/viewtopic.php?t=49804)

Here's another component for you to try playing with: Micro stepper motors (http://www.ebay.co.uk/sch/i.html?_nkw=micro+6mm+stepper+motor)
I've ordered some of those, and I'm hoping I can use one to control the needle on my Pip-Boy's radiation-gauge - it looks like it should be small enough.

I was thinking I might actually make it show Wifi strength instead of the dangerous kind of radiation :)

Tcollt
01-14-2019, 02:16 PM
Hello, I know this project is from 2013 but was wondering if any progress has been made? I am collecting the components to start a Pip-Boy build. I currently have a Teensy 3.6 and I'm waiting for my lcd screen to come in.