Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - beermat

Pages: 1
Ahh, thanks. Built, deployed, have button, time syncs. Great! In the above post, when I saw "it should have a new APK", I just assumed the APK included in the repo was the new one.

I tried the new APK (dated 3/7/2017) but still don't see a 'Sync Time' button on my Samsung S6 running Android 6.0.1? I have the same issue as OP - Bluetooth connection is made according to both apps, but time doesn't sync. On the Android app, I see controls for 'Device Control' and 'Connect/Disconnect', a report of Device Name, Device Mac Address and Status. Under Device Control, I see 'Scan' and a menu with one item, 'Notification Settings'.

Tiny Arcade & Pocket Arcade / Re: New game and movie converter
« on: March 04, 2017, 01:25:02 AM »
Take a look at writeBufferDMA in TinyScreen.cpp. Not only is the data transfer slightly faster, the main advantage is that the DMA transfer will run without using the CPU, so you can continue preparing the next frame in a second buffer without waiting for the transfer to finish. You will have to wait for the transfer to finish before the next transfer occurs, but at least you can run processing and transfers in parallel. I used a double buffer with DMA here:

and got almost double the framerate due to the parallel nature of DMA. Of course, this uses a lot of memory to maintain two buffers :)

General Discussion / TinyScreen+ driving multiple displays demo
« on: March 02, 2017, 07:24:25 PM »
Video here:

Well, I achieved what I set out to do (use the TinyScreen+ to drive multiple OLED displays I have acquired over the past few months) but the code is a major hackfest, so will remain private for now :)

The sketch is a *heavily* hacked version of the Adafruit Teensy sketch here (using dragon eyes):

Modifications include using an in-memory buffer to store the display output, so this buffer can be pushed to each screen, rather than having to redraw on each screen. This buffer is then pushed using SPI DMA to the displays. Two DMA channels are used simultaneously - one to push the buffer to the TinyScreen+ integrated display, and the other channel to push the buffer to the 3 external displays. All external displays share MISO, MOSI, CLK and DC. Because the two displays on the left of the TinyScreen+ are SSD1331 based and the one on the right is SSD1351 based (and a higher 128*96 resolution), separate initialization and setup commands are required, so two CS pins are used to target the appropriate commands to the appropriate driver/screen. The SSD1351 display on the right is configured to use a 96*64 pixel section.

Frame rate is a healthy 73fps!

Video here:

Tiny Arcade & Pocket Arcade / Re: New game and movie converter
« on: March 01, 2017, 02:16:43 PM »
Love the games! Thanks for posting!

General Discussion / TinyScreen+ fireworks
« on: February 28, 2017, 12:31:24 AM »
Quick sketch I've been working on, playing with various features of TinyScreen+ and exploring performance potential of the product. This sketch draws firework-like particles on the TinyScreen+, utilizing some fast (approximate) sin and cos libraries from FastLED, a fast memcpy function from Daniel Vik, and double full screen buffers, transmitted to the screen via DMA buffer transfer in TinyScreen.cpp. Trails are created by dimming previous pixels in the buffer. Some comments in the sketch should guide you to play around and change parameters or create new animations. Code readability sacrificed for performance, but the basic principle of the particle motion is:

x=cos(angle) * velocity * time
y=sin(angle) * velocity * time + (gravity * time2)/2

Video here:
Code here:
FastLED library here:


Would love to help out and participate! I'll drop you an email soon

My sons Cub Scout pack has a Pinewood Derby 'open' race for family members, so I decided to enter this year. My initial goal was to 'add a few lights' to a car, but I had no set idea of what I was going to do.....but, a few weeks later,  after discovering the TinyScreen+ from TinyCircuits, Neopixels from Adafruit and LSM303 Accelerometer/Compass from Adafruit, (and with much research, learning and experimentation), I present "The Light Fantastic"! (The flicker on the TinyScreen+ display is an artifact of this video - in real life, it's rock solid)

The car plays through a sequence of Neopixel patterns with OLED bitmap displays, animations and text marquees, and can detect being tilted forward to switch to a "race mode" RPM-style gauge display. A menu can be accessed by pressing one of the microswitches, and the mouse pointer/settings/compass display accessible from there are controlled by tilting/rotating the car. Obligatory TinyScreen game Flappy Birdz is included and also playable on the car! The menu, along with selections of brightness configuration, displaying a compass and playing Flappy Birdz, are shown at the end of the video. Enjoy!

Egon Beermat

General Discussion / Re: Locked up TinyScreen+ (need help)
« on: February 07, 2017, 12:51:21 PM »
With USB connector oriented at the top - put the power switch to off (down). Then, while pressing the button closest to the USB connector (top button on power switch side), flip the power switch to on (up). This puts the TinyScreen+ into bootloader mode only, ready for sketch upload. I just had the same issue, thought for a while I had completely bricked the TinyScreen+, but this saved me!

Pages: 1
SMF spam blocked by CleanTalk