RemoteSeven

Hi everyone first let me say thanks for the interest in the RemoteSeven. Ive decided to basically condense all the info into one page for all to read without having to go crazy.

Creating this remote is/has been a vision of mines for a long time and it is not complete. While i do have a functioning remote, there is more work to do.

Lets start from the beginning. The LCD is a 7 inch Capacitive Touch screen from BuyDisplay. The basic LCD test:

The controller for this LCD is a RA8875 .This test was done using code from Adafruit meant for an Arduino which I converted to PIC32 for my Fubarino Mini. The process was pretty simple and didnt take long.

After testing the main LCD I had to test the Touch portion which to be honest i was a bit scared of. First it is an I2C interface and its a capacitive touch. Good news is my buddy had code for this on the Arduino working, so i converted that also.

After getting the Touch part to work i had to create a GUI and test with IR transmitter. Whats the sense of a remote with no buttons or IR? The GUI is a constant update. I dont have a final version and i doubt i ever will. On the other hand i have tons of IR code create through out the years.

Next step was to make it portable with the use of a nice large battery.
20140405_164112

 

20140405_164124

image

This battery was made by me from a ipad 1 battery.

Working on the GUI has been the hardest task but still fun.

remote1

That was the second GUI test i would say. Its simple and does what its supposed to. Im not an artist and will never claim to be.

This is my third GUI… kind of my last at the moment.

image

Interface:

 

Ever since that video of the IR test made it on Hack-a-day. I have been given tons of valuable feedback. Below are just a few.

Use RF recievers on devices and a transmitter on the remote.
Use uGFX for display control.
Use a piezo for feedback (clicks) Accelerometer for wake up and sleep
Battery monitor
Vacuform an enclosure

Let me tackle 2 of those with a response here.

RF reciever and transmitter..
This would not only raise complexity but also drive the price up as I would have to make seperate pcbs for each device with their own mcu and reciever and then power each. So seems out of the question right now.

uGFX
This is overcomplex for a simple remote with no rtos. Its way to much. Not to mention I would have to basically make a bsp (board support package) to drive the display.  Why change what works ? 🙂

The other feedback is still on the table and ill play with the ideas.

As of right now i do have code for a MMA8453Q, a RPI-1031 and a Simple 2 wire orientation sensor which i use right now. I also have code for a buzzer and a buzzer test using the lcd to find tones i like and set them as my main tone.

Buzzer test:

Orientation test:

 

Thats all for now i guess. Most of the code is here. If there is something not in here… its not ready yet and i dont want to share even more crap 🙂

https://github.com/AtomSoftTech/RemoteSeven

22 responses to “RemoteSeven”

  1. Bill Blondin says :

    Quick question:

    Did you use any of the Font chips? If so, do you have any sample code showing how you might use it? I’m brand new to this arena, so things which might be “obvious” i fyou can read a datasheet are less than obvious to me 🙂

    • atomsoft says :

      Yeah I do. The code on github should show how I use it. To be honest I never learned that part myself. It’s just ported code from supplier.

  2. Bill Blondin says :

    Hey thanks for the rapid response. I saw the position, color and size calls, but nothing regarding font face (times, Arial, etc)?

    Do you know if it’s possible to provide a custom font (like a TrueType font)? Any example code?

    One other thing, why did you choose to move away from Arduino? I’m a C# guy, so I have no experience with the hardware side of things – just wondering if there was a compelling reason to avoid arduino?

    Thanks for sharing this – there really aren’t many working samples to help guide folks like myself. I’m looking to build a tanning system control interface with nice big, bright, responsive touch interface, and anything under 5″ is just too small for finger presses when mounted on a wall, imo.

    • atomsoft says :

      Ill take another look today and post some info, been dealing with a horrible toothache.. so havent been able to concentrate for a few days.

      A custom font should be possible.

      I never was a real arduino user. Im a pic guy 100% but user arduino..xmos…arm.. depends on what kind of speed and if imaging is involded.

  3. Bill Blondin says :

    Thanks!

    I’ll try messaging the vendor on the custom font question.

    Take care of your tooth! Dealt with that myself, no fun.

  4. Bill Blondin says :

    If I were to get started with PIC are there any good “Learn PIC for Dummies” sites/references that would help me get started? Would the Arduino resources be more-or-less equivalent? Both code and pins?

  5. Bill Blondin says :

    Yeah, I saw that, but I need it in more of a recipe form to digest it – step one, do this, step two, do that, etc – or some help interpreting the datasheets so I can create the recipe.

    I think pages 112 &113 attempt to explain it, but it’s mainly gibberish to me at this point.

    • atomsoft says :

      heh yeah, I cant promise anything for tonite but i can tell you this… ill try to create a custom rom chip and if it works will post ENTIRE process for you and all.

  6. Bill Blondin says :

    Wow! It seems, minimally, that part of the process will be to convert an existing font to a corresponding dot-matrix array that conforms to the LCD memory spec outlined in the doc. Ideally, would be cool to just pluck from Google Fonts, and press a button to convert.

    Looks like CGRAM can be used to store 256 half-width or 128 full-width custom font glyphs. Thinking maybe a code generator run on your desktop could read a local font, and use code gen templates to emit a corresponding C class that would wrap all the CGRAM dot-matrix loading stuff, and maybe saving the data to the SD card, if you have several fonts and sizes? Not sure how hard this would be? Maybe the font converter could just push the dot-matrix font files directly onto SD, and a generic CGRAM loader class would just read them and push them to the LCD when needed. Would be less code to load.

    I don’t see how to access SD card thru the LCD spec, tho – I’m sure you did this somewhere?

  7. atomsoft says :

    Font is controlled via that IC but SD is controlled via SPI lines on SD pins. There are not connected together. But in my board they are. As for the FONT would be nice to have font on SD… thats a good idea… id still rather load from SD card to FONT chip. This allows font to be available even if SD card is removed. But thats not possible with this LCD setup. if i had the money id make my own board this would allow me to make a complete SPI LCD where you can control LCD, SD, FLASH and FONT rom using SPI lines and 1 CS line per device.. so about 7-8 pins on a micro…

  8. Kyle Stubbins (@KyleStubbins) says :

    Hi Jason. Nice work. I am impressed with the custom menu / buttons you’ve created. I had a look at your code at github and am curious as to your inspiration for the .asi file format? I’ve Googled it a bit, but haven’t had much luck with finding much useful information pertaining to this specific use.

    When I started searching, it seemed like the .bmp format would be the choice as it seems to be the most commonly chosen format in many of the TFT tutorials (these images are, generally, full screen samples though, not buttons, etc.).

    Anyway, just wondering if you might have recorded any links when you were developing this that I might have a read through to try and better understand how you’ve created your GUI. Yours is visually more pleasing that half the commercial stuff out there.

    Thanks;
    Kyle

    • atomsoft says :

      Thank You! Kyle.

      the ASI file format is a custom one i developed to help speed up the image loading. It is a plain format no compression. While this takes more memory there is no byte flipping and no lookups, so the speed is constant.

      while bmp is fine, you have to flip the bytes and perfom other things to get the image to display correct. if i start this again i might consider the ASI with some basic compression. nothing serious but just enough to save time on reading bytes.

      LCD control was learned from buydisplay.com sample code. They show you how to load data onto screen and use touch. Implementing all the code to determine what touch does what was all from my head. Ill have to admit i didnt try to make anything clean looking and easy to understand because thats the way my mind understands it.

      I cant promise to add tons of comments to the code but if i get time this month ill try.

      Thank you again for the awesome comment!

      • Kyle Stubbins (@KyleStubbins) says :

        No worries, I can read through your code no problem and decipher what does what.

        In my case, I was ordering some other stuff from Adafruit, so I threw in one of their 5″ TFT with resistive touch, along with their RA8875 controller. So, I actually have fully working code to drop onto an Arduino Uno (which I have done and have working).

        Between looking at the Adafruit library for Arduino, the RA8875 sample code from the RAIO website and your code, I don’t think I’ll have any issues with basic LCD control. You guys have done all the hard work! 😉

        I was getting a little ahead of myself with the GUI, so I haven’t really done any research on drawing graphics yet, other than your basic geometric shapes. Like I said, when I saw how you designed yours, there was no question the direction I was going to take my project.

        When I get that far, I may have some questions for you.

        Kyle

        • atomsoft says :

          Sure thing! When you get to that point in your project, i will try my best to help you out. Thanks again for visiting the site and stay tuned for new stuff.

Trackbacks / Pingbacks

  1. Adafruit RA8875 TFT Driver Board - kylestubbins.com - February 7, 2016

Leave a Reply to atomsoft Cancel reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: