Jump to content

Recommended Posts

I've found a supplier and have ordered the PA6B. Ive also sent you some money for the PCB.

Welcome to the DiY GPS-Hub Club. The PCB sets will ship today. Thanks!

Share this post


Link to post
Share on other sites

Thanks for the feedback.

On my last flight I was thinking it would be nice to have a visual display of the DiY Hub's baro altitude. Instead of a traditional OSD I want to go the old school route and place a small data display in the FPV camera's view. I have this OLED:

http://www.wide.hk/products.php?product=I2C-0.96%22-OLED-display-module-%28-compatible-Arduino-%29

The hardware integration is easy (solder 4 wires), so all that remains is some software. I'll be back with updates if I have any success with it.

- Thomas

Share this post


Link to post
Share on other sites
The hardware integration is easy (solder 4 wires), so all that remains is some software. I'll be back with updates if I have any success with it.

Update news: The OLED is a cool little display (this is my first experience with it). It is now showing the Altitude using the data from the DiY hub. This is with a very small font (standard 8 line display format). Sadly, the font is too tiny to clearly see in my FPV camera's view. Unfortunately I've run out of code space on the PIC so I am not able to create a larger font. Stupid code bloat.

This photo shows 1meter altitude:

post-2-0-61781800-1340734314_thumb.jpg

This has me thinking of alternatives. One idea is to create a variation of the hub design that integrates with my MultiWiiCopter / Quadcopter. The nice thing is that the MWC does all of the processing for its baro altimeter and GPS. The Hub board could be changed to receive data from the MWC via I2C and then convert it to the FrySky hub communication format. With the baro and GPS functions performed on the MWC it would free up a huge amount of code space on the PIC. Things like the OLED would be more practical and in my case it would be a tighter FrSky telemetry integration. I'll have to think about this some more because ideas come cheap, but the free time to implement them is a big problem.

Share this post


Link to post
Share on other sites

Do try the OLED with your FPV camera in "real" conditions (outside) first before going too far - you'll find it's unreadable :)

Share this post


Link to post
Share on other sites
Do try the OLED with your FPV camera in "real" conditions (outside) first before going too far - you'll find it's unreadable

That is a concern; Even with the small characters, there is a flicker nuisance in bright light. But I wanted to try it with the big characters while in flight to see if I could tolerate the flicker while in actual flying conditions. Also, there is a frame rate register in the OLED and I was thinking of trying other refresh times.

I have a spare EagleTree LCD panel (which is also I2C compatible), so I may try it too. The code to operate it should be quite small, so it is not a bad idea to try out.

For sure, a typical OSD would solve this with ease, so that is also on the list of things to consider. But I was hoping to do something different using a DiY approach. One goal is that it has to integrate into the DiY hub or a MWC controller (to share their sensor data and other system info). Something cool, different, small code space requirements, and "simple." Any suggestions?

Share this post


Link to post
Share on other sites

The OLED has the flicker problem, but it's also too small. You can pretty much only put a single parameter on it if you want to be able to read it (more = smaller text = it's too small to read on camera, or you have to bring the panel closer but then it's too blurry due to the camera's limited DOF and you can't read it either).

The Eagletree LCD works fine. I much prefer that to an OSD as well.

But I usually fly with nothing at all, just frsky telemetry on the 9x, and have a quick look under the goggles once in a while when the audio beeps aren't enough :)

Edited by Kilrah

Share this post


Link to post
Share on other sites
The OLED has the flicker problem, but it's also too small. You can pretty much only put a single parameter on it if you want to be able to read it

The flicker issue is a big deal. But the cool thing about this OLED is that all fonts are user defined.The little fonts you see everyone using are the ones from the supplier's demo code. But they can be any size, so I could create a really big 4-digit altitude value that fills the entire display (which is what I planned to do). But this trickery takes extra code space that I don't have. And the flicker will be worse if the OLED framerate tweaking does not help mask it.

The Eagletree LCD works fine. I much prefer that to an OSD as well.

This morning I added some code to the DiY Hub for the EagleTree LCD. It took more code space than I anticipated and I have hit the dreaded out-of-memory issue. If I can't squeeze down the code then the EagleTree LCD solution is dead too.

But I usually fly with nothing at all, just frsky telemetry on the 9x, and have a quick look under the goggles once in a while when the audio beeps aren't enough

I'm doing that too but it is distracting to lift the goggles to see the 9x's screen. That is why I thought about adding a simple altitude display in the camera's view. I figured a couple wires, a little code, and I would be done in no time. I should know better since this is not the first time a "simple" project did not go as well as expected. :)

Share this post


Link to post
Share on other sites
This morning I added some code to the DiY Hub for the EagleTree LCD. It took more code space than I anticipated and I have hit the dreaded out-of-memory issue. If I can't squeeze down the code then the EagleTree LCD solution is dead too.

I was able to get the LCD code to fit so I could try out the Eagle Tree display. I'm not excited by the look. It's a big display with a lot of wasted space with just my four altitude characters on it. There's not enough remaining PIC memory to show any other telemetry data which is a bit frustrating. Also, the lack of free memory means there would be no hope for general software fixes if any are needed.

So I concede that it's not practical to support a display feature on the DiY Hub. Better luck next time, as they say.

BTW, I could integrate the EagleTree display into my MWC Quadcopter's controller (there's some code already on it to use the LCD display for PID configuration). I could customize the existing code to have the LCD show voltage, altitude, and some other flight related status for my FPV camera. While at it I could integrate the FrSky telemetry Rx into the MWC. Hmm, I just may do that for my next project.

EagleTree LCD / DiY FrSky Hub, 3 meters shown (from hub's baro sensor):

post-2-0-49589300-1340928046_thumb.jpg

Share this post


Link to post
Share on other sites

I'm

currently assembling the Hub and wanted to ask before i solder the pic in place. I'm assuming i can program it via the iSCP header?.

I do all the programming through the DiY GPS-Hub's ICSP header pads that are on the PCB. I don't solder anything there, I have a little 5-pin header connector that I temporarily stick in the holes during the short programming time.

I was thinking of using the programmer used for flashing the 9x (using ponyprog) software, my one has the setting for 3.3v. Would this be suitable?

I don't think the 9x programmer is going to work with a PIC. I recommend the PIC2KIT or any other decent PIC programmer that can handle the PIC16F886. For in-circuit programming, the programmer will need to be setup for 3.3V operation to prevent damage to the 3.3V parts that are on the board.

what programmer would be best to use to reset defaults in the PA6b and can this be done with the GPS module assembled?.

If you are using a factory stock PA6B GPS module then the DiY GPS-HUB software will initialize it to the proper data format for you. However, if the vendor that sold it has changed the factory defaults then you will need to restore them using a USB-TTL serial adapter that has a 3.3V compatible TTL interface. You can do this while the module is bare, or after it has been assembled, your choice.

Share this post


Link to post
Share on other sites

Thanks Thomas,

What method do you use to solder the PIC and Digital Pressure sensor. Never had to solder anything so small and in particular when the pins

are virtually impossible to solder and not short out. I heard one just solders all pins and dont worry about shorts. Then go along with solder

braid to remove excess. Is this your method.

Les

Share this post


Link to post
Share on other sites

The method of soldering all the IC pins together, then removing the excess with solder wick, works well when the IC's pins are external. Unfortunately that isn't the case here.

I use lead (not lead-free) solder paste that I carefully apply to the PCB pads with a sewing needle. Then I carefully place the IC on the board using tweezers. A handheld hot air wand is used to reflow it.

Share this post


Link to post
Share on other sites

First need to get a connector with 2mm spacing to program pic. Should be here next week. GPS module finished now and programmer has shipped.

Should be all go next week.

Thanks again Thomas for a rewarding project, dont know whether i like smd this small though.

Les

P.S Curious to know if you had difficulty when soldering the PA6b onto the pcb. Tried using my Hot air work station but it didnt seem

to want to melt the solder, just heated up the module. So had to use the soldering iron. This melted the paste alright.

Just hope i have'nt damaged the module. I see the datasheet said no longer than 3 seconds at 380c when manually soldering.

Guess i will find out soon.

Share this post


Link to post
Share on other sites

... dont know whether i like smd this small though.

I don't mind the small passive parts, but I have little love for tiny SMD IC's. Especially when the pads are under the part!

I soldered the PA6B GPS module to the PCB with my Weller iron using a small chisel tip and 0.015" diameter lead based solder. The module is a big clunky part so the iron is what I recommend to get'er done.

Share this post


Link to post
Share on other sites

Hi Thomas,

Couldnt wait for connector,just soldered wires to program PIC. Unfortunately i had no success.

Think i have the radio setup correctly to display Altitude but it only shows o.

Hub flashes quicly for about 3 to 4seconds then stops.

Guess i will ahve to get some strong magnification and inspect my board.

Could you just run thru what i should set on the radio to display Altitude.

Thanks

Les

Share this post


Link to post
Share on other sites

In Open9x, menu 10 Telemetry:
UsrData Proto = Hub
Screen 1 = Bars
Alt -500m 1252m
Screen 2 = Nums
ALt
GALt

The altitude will be zero when you turn on the 9x or whenever you press the menu key to zero unwanted offset. So you will need to walk up a flight of stairs to see the value increase.

The 3 second long rapid blink at boot means GPS initialization is enabled. This is a good sign since it tells us that the PIC has been programmed. However, the LED has other blink codes, as follows:
Slow Blink: All Ok.
Fast Blink: GPS not locked.
Periodic 3-sec pause Wink: GPS communication problem.

So there should be blinks of some kind during use. What blinks do you see?

Share this post


Link to post
Share on other sites

Thomas,

All i see is the fast blinking for 3-4 seconds on power up and then nothing else.

I think it probably my soldering,things are so small. I did try and reflowed but still nothing.

Checked for s/c between pins on pic but that was ok.

Will check that i have radio setup and then i may have to remove the pic and check i

have no s/c there.

Thanks

Les

P.S If only power is supplied to the hub is it true that the LED should blink after that fast blink.

Edited by iwik

Share this post


Link to post
Share on other sites

All i see is the fast blinking for 3-4 seconds on power up and then nothing else.

That means something is wrong.

1. It could be an incorrect fuse setting during programming. You will need to use:

INTRC_IO, NOWDT, NOLVP, NOPROTECT, NOMCLR, PUT, NOBROWNOUT, NOFCMEN

Reprogram the part with these fuses. Does the LED work now?

2. Maybe there's a communication problem to the Baro sensor.

Install Jumper B. This will disable the Baro.

Does the LED work now?

P.S If only power is supplied to the hub is it true that the LED should blink after that fast blink.

With only power connected to the hub, the LED will report a GPS communication problem.

My hunch is that the fuses are incorrect. So begin by reprogramming the PIC.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...