Anyone else disappointed in GHI Products?

Ok, so I bought a FEX Cerb kit. All I wanted was a menu sideways. I asked for help in the forum. All I got was a bunch on non-sense and no help. I can get the picture to draw in portrait. I can get it to draw 3/4 the screen in landscape then it over writes at the beginning. I even posted a video. No help from GHI or anyone else.

So now I plug in the Raptor. For some reason it says to update the loader. It says to find Socket 3 and short pins 8 & 10. The schematic, layout, etc all do not go over the pin outs. Nothing. Just these two pins and the pins are not numbered. The Microsoft search says to refer to the schematic. But without the orientation - I don’t know how you do this.

So I have roughly $300 worth the stuff and I cannot get one cpu board to make horizontal text and I cannot get the other board to accept the program from VS. It just keeps saying it it cannot write to USB:GADGETEER.

Why I have to reflash a board I just purchased a week ago I don’t understand. But I have to say - this product seems horribly managed.

I understand you’re frustrated, but that’s not something I can help you with.

What I can help you with is a couple of things.

First up, I agree, the rotation question hasn’t been taken up by anyone in GHI, but the driver is what it is and you or someone else if they wanted to could dig-in and figure out what’s going on. I would suspect there’s some form of x-y array held in the driver that might not be bounds checked for switched orientation. But I haven’t looked.

The reason why a device needs a new bootloader is because the device is manufactured at some point in time, who knows how long ago, and uses a production-deployment of firmware and probably test app to help prove the device operates. Then it’s packed and potentially shipped to resellers etc, and then sold on to you and shipped and finally arrives with you. Between that time, the software team at GHI have released a new version of everything - or maybe they haven’t, but that doesn’t matter, because the first rule of NETMF is making sure the firmware version and the SDK version you have installed matches. It’s less important that you’re using the latest (although there are lots of things that would mean you’d want to use GHI’s 2013-R3 release) but the SDK you have on your PC must match the firmware otherwise it just won’t work.

So that’s the why. Now the how.

The pin layout within a socket is a well documented piece. I don’t know what document you were reading that said otherwise. Here’s the simplest reference… It’ll clearly show you where, in relation to the notch, where the pins you need are.

In addition to what Brett recommended, I would highly recommend that you read over the Gadgeteer Module Builders Guide. Even if you do not plan on building any modules, this will help you get a much better understanding of the inner workings of Gadgeteer.

I am sorry you feel disappointed.

As for the display, we do not support rotation on the N18 display; however, we took note of it and we may support it in the future, as a “nice to have” feature. Of course this is an open source board/module you are using so you can modify to whatever you see fits, which you did already.

As for the update, this is normal for a new device to need a new Software update, just like any phone/tablet/PC. If the instructions are not clear, just ask and we will gladly update the docs and explain all the details you need. I see Brett and Ian already posted some good links.

Please let us know what we can do to improve and make this better for you.


Let me just add: As a beginner with software background, it can be quite a challenge to start tinkering with these devices. This is tinkering, not lego-blocks.

In many case you can plug modules together, and have something working quickly. But as soon as you start moving outside the beaten path (rotating a display or attaching a weird sensor) you start tinkering. And tinkering is really fun, for most of us - although it can be difficult and challenging, and also expensive. Tinkering is the core of the Arduino community, and the maker movement.

GHI has made tinkering even more rapid, but it is still an open platform with lots of loose ends and unexplored areas.

At times I am disappointed, because something I needed was not an off-the-shelf product, thats the way it is.

Welcome to the community, its fun and challenging!

EDIT: As for the specific problems you have, take them one at a time, and post them as topics, its difficult to help you when its difficult to narrow down. Lots of your challenges right now are beginners problems that we can iron out.

I’d also note, its the weekend and Gus himself responded.

The community and GHI do their best to get things answered, but its not always immediately.

Hopefully, the responses you’ve gotten will help set you on the right path. If not, we’re happy to help. Just try and keep questions specific. :slight_smile:

1 Like

If a person has not taken the time to complete their use their profile, so I have a better idea of their skills and background, I am in no rush to respond to their questions.

my views are not necessarily shared by other community members.

My profile is not that important.

The link Brett linked to for the Socket was perfect. I still think it should have been on the schematic but whatever.

It’s pretty frustrating when you buy this stuff and cannot get a simple function to work, such as rotating the display.

That’s funny cause when I was spec’ing this stuff out - there is mention on the Catalog page about the Util functions to rotate the display. As I said, the driver seems to be badly designed. The display supports internal rotating mechanisms but the driver is still muxing bytes.

I would be more than happy to update the code on the drive to make it work. However, I don’t know how to compile a firmware. Yes, that is what it would take to update the code. The part that needs to be modified is actually C not C# and it is in the device firmware. Which, doesn’t really make much sense to me. You would think the hardware code would be in the device driver.

Absolutely. I can’t remember ever grounding the pins on my phone to update it. Even as the documentation says. LDR1 and LDR0 functions do not work as they have not been programmed yet.

Well, I have a FEZ Raptor and FEZ Cerb and a N18 display, It would really make me happy to be able to rotate the display on one of them.

I haven’t looked into the detail of the driver, but can you clue me up as to why you think the driver is not where this would need to be changed? The intent of Gadgeteer modules was that drivers are delivered mainboard-independent where possible, and that means that it leverages the core NETMF capability (in the firmware) but doesn’t need native code. N18/Software/Display N18/Display_N18_42/Display_N18_42.cs is the module’s source that you looked at right?

Also, the connecting the pins thing - that’s actually exactly what a button module does, so if you have one of those you can use it (Jeff@ GHI may need additional clarity in the Raptor doc? :slight_smile: )

LCD rotate is not a standard NETMF feature but it is added to GHI’s premium offers, like your raptor. However, N18 display is not a “direct” display (connected to RGB sockets) but it is a API display so the internal support for rotate doesn’t work on it. It will on any RGB LCD. This is what is the available support today but like I said I forwarded this to the team for possible future improvement.

We will also improve the documentation.

@ Tempered Enterprises -

[quote]So now I plug in the Raptor. For some reason it says to update the loader. It says to find Socket 3 and short pins 8 & 10. The schematic, layout, etc all do not go over the pin outs. Nothing. Just these two pins and the pins are not numbered.

We are sorry about the Pin references not being matched to socket arrangement in the loader documentation. I’ve fixed that in the loader documentation. I also have a request to the hardware engineers to see if they can either put a notch on each socket on the schematic or put a socket pin enumeration on its own as a legend.

I am a member of dozens (if not a hundred) different enthusiast forums that range across everything from photography to buidling racecars. I have to say that the folks on this forum are some of the most helpful and friendly I’ve dealt with. And I very rarely ever see such quick response from company employees as I do from the GHI guys.

So hang in there, be explicit in your needs and patient in your approach and you’ll find great help along the way.

I agree.
I do customer support myself, and I know how disappointing it is to me sometimes, if I can’t help them quickly on every problem. Sometimes it’s just hard to simulate the same problem, sometimes there is just not enough time to implement a newly suggested feature, even if it would be soo cool to have it.

GHI keep up the good work.

p.s. and handle my requests first please :wink:

While we are updating docs… can you please consider making more sense out of this…

I’ve read it over AND over and i can’t make out what needs to be done… do i need two extenders one connected to the button and another connected to socket 3. then connect pin 3 of Ext1 to pin 9 of the other extender? I hope I didn’t make it worst :slight_smile:

You might consider adding some snap shots to the docs, they say a picture is worth a thousand words…

Thanks… and sorry for high jacking the thread…

There is a new hidden feature that let’s you post right on the docs :slight_smile: It is almost done, maybe live e tomorrow. This should help with all docs feedback. Changes should come within couple days after a suggestion is posted and is approved.

1 Like

Good one :slight_smile:

@ Jay Jay - All the loader/tinybooter documents are undergoing review and improvement (including lots of nice screenshots). We’ve started with, not quite finished with that one. The others will follow. The priority is to do the ones not currently supported by FEZConfig.

Bah… You guys are trying to make something out of it is not. The Display supports SPI commands to rotate the display internally by changing the address scheme. Send the commands, send the image, life is GOOD. All you got to do is get the image width/height thing right.

Don’t believe me? Here is a video of it WORKING exactly that way:

Too bad it is IMPOSSIBLE to get it to work right on the CERB because of the way you implemented the Mainboard.DirectBitmapToSPI() Jazz. Well at least I couldn’t get it working. You would think the same driver would work but it doesn’t.

Again, why mux bytes in the CPU when the display will EASILY do rotation with one command and one data byte sent?

Oh and if you are wondering why the example code includes all the gadgeteer code, well the simple graphics interface creates a bitmap on constructor and then you can never change the size again. I created an Reinitalize function to recreate the “framebuffer” bitmap at the new correct size. Maybe there is a better way… maybe there isn’t…

I guess I could have pulled out the DisplayModule code and redid just that…

Whatever, this is exactly why you don’t put all these code pieces in these places. It would be best just to have an interface, implement the interface, and put all the code in the driver.

Well that is just MHO… what do I know. I didn’t even fill out my profile. LOL j/k

Well you right in one point: If it’s easy to rotate it, why not supporting it in the 1st place.

But N18 is OSHW I think. At least the drive is available as source
This means everything, including the driver is free available as source.
GHI Provides a good base to start with. If you need an additional feature: Feel free to implement it (like you actually did) and share it if you like.

And also to mention: The catalog lists the N18 Display as ‘beta’, right on top, near the price in red. This means for me: Might have bugs, and nowadays it also means: some features might not be implemented.