Liquid Soulder

Member Since: May 25, 2018

Country: United States


Neptune the Grey

Naturally, having just fired up the new Transparent Graphical OLED display, I wondered what it would take to make a 3D display. Here's the story of the struggle, as told in an intentional allusion to interpretive alliteration.

Continue reading

Introducing SparkFun's new microcontroller graphics library: HyperDisplay! What is it, why did we make it and how can I learn more about it? All your musings will be concluded right here, right now.

Continue reading

The motivation behind the "Three Quick Tips for Using U.FL" tutorial

Continue reading

Details of a silly problem with a silly solution: How to not overwrite your outgoing SPI data buffer when using the Arduino core libraries

Continue reading

SparkFun 9DoF IMU (ICM-20948) Breakout Hookup Guide

June 27, 2019

How to use the SparkFun 9DoF ICM-20948 breakout board for your motion sensing projects. This breakout is ideal for wearable sensors and IoT applications.

TFT LCD Breakout 1.8in 128x160 Hookup Guide

April 11, 2019

This TFT LCD Breakout is a versatile, colorful, and easy way to experiment with graphics or create a user interface for your project.

Using SparkFun Edge Board with Ambiq Apollo3 SDK

March 28, 2019

We will demonstrate how to get started with your SparkFun Edge Board by setting up the toolchain on your computer, examining an example program, and using the serial uploader tool to flash the chip.

SparkFun Edge Hookup Guide

March 28, 2019

Get to know your Edge board, including both the hardware features for you to utilize as well as how to get talking to it.

Transparent Graphical OLED Breakout Hookup Guide

March 7, 2019

The future is here! Our Qwiic Transparent Graphical OLED Breakout allows you to display custom images on a transparent screen using either I2C or SPI connections.

Everything You Should Know About HyperDisplay

February 20, 2019

This is a tutorial to go in-depth about the SparkFun HyperDisplay Arduino Library.

Three Quick Tips About Using U.FL

December 28, 2018

Quick tips regarding how to connect, protect, and disconnect U.FL connectors.

SparkFun LoRa Gateway 1-Channel Hookup Guide

November 15, 2018

How to setup and use the LoRa Gateway 1-Channel in Arduino.
  • Hi, I just did a quick search of the datasheet and found no instances of 'mesh' however the module is listed as Bluetooth 5 and Bluetooth Mesh FAQs point out that "Mesh networking operates on Bluetooth Low Energy (LE) and is compatible with core specification version 4.0 and higher." which tells me that it should be possible.

    We're looking at providing SW support for Bluetooth Mesh networking in the future but I can't guarantee a timeframe so if you want you can go ahead and try it out!

  • What microcontroller are you using? HyperDisplay only supports a font by default if your microcontroller has support for <avr/pgmspace.h> For example ESP32 Arduino core does not support that header file while the Teensies do... So on ESP32 Hyperdisplay will require you to implement your own font. Here's more info: https://github.com/sparkfun/SparkFun_HyperDisplay/issues/2

  • It should be possible to get pre-computed quaternions (and perhaps euler angles but I haven't seen as much reference to this) using the Digital Motion Processor feature of the ICM-20948. Unfortunately the license agreement for Invensense software is strict enough that we cannot share DMP code or derivative works. What you may do, however, is to agree to the license yourself and use sample code available at the Invensense Developer's Corner. There you will find a lot more example code that may be of use.

  • Thanks for the report. This should be fixed in version v1.0.1 of the Arduino Core. Update with the Boards Manager and let us know if that fixes it!

  • Thanks for letting us know about this, there was a mistake in a filepath to the uploader tool for Mac and Linux. It should fixed in version 1.0.1 of the Arduino core which is now available (just update through the Boards Manager). Please let us know if this fixes the problem for you.

  • Hi TomWS,

    The errors about the invalid library are expected for now and should have no impact on performance.

    The toolchain problem is good to hear about - thanks. With the Apollo3 core we are trying to transition from the 2014 arm-none-eabi-gcc tools (which are used in many Arduino cores such as SAMD21 and perhaps NRF) to the 2018 tools. I think there are a couple possible snagging points:

    1. Perhaps there is a path name conflict between the two versions of the tools since they both go under directories called 'arm-none-eabi-gcc' at some point. However the 2018 tools installed by SparkFun's package should be under 'packages/SparkFun' instead of 'packages/arduino'
    2. In the JSON file we've provided these tools for the host types "i386-apple-darwin11," "i686-linux-gnu," and "i686-mingw32." If Arduino detects your host type as something other than these options I would expect to see an error along the lines of what you presented ("Sorry, we don't have the tool chain for your installation"). We could add copies of the tools with different host names - but we would need verification that they work.
    3. The JSON link you were using is based on the 'nrf5' branch of the Arduino_Boards repo, which I don't think is maintained... Or at least I am not sure right now what it is used for. (I.e. can you get both BRF5 and Apollo3 packages from the master branch of the repo?)
    4. Can you provide more specifics about which files aren't found when you build 'Blink?'

    Let's move this discussion to GitHub. https://github.com/sparkfun/Arduino_Apollo3/issues/4

  • Have you looked in the forums? There is an extensive thread on this subject there :) (See top-voted post for links)

  • You may need to generate the BSP library archives. Try navigating to {SDK_ROOT}/boards/SparkFun_Edge_BSP/bsp/gcc and running make. This should generate the necessary libraries. Then you can try making the example again. HTH

  • Hmm. It appears you are using windows which is surprising because the driver issues (also on the SparkFun forums for Edge board)have mostly appeared on Mac and Linux.

    Some things to check are that you're using the correct baud rate (115200 if you got your board at the TensorFlow conference and 921600 otherwise) and that you're following the proper bootloading button sequence. That is:

    • Hold down button 14
    • While holding button 14 press and release the reset button
    • While holding button 14 run 'make bootload' on the computer
    • When prompted with 'done, sending reset command' press reset to begin the application

    If those steps don't work out please check out the resources in the SparkFun Forums for Edge

  • Great question!

    • First and foremost the 'write()' method can be inherited in a sub-class and changed to anything you like, given the available information (which character to write, and anything in the HyperDisplay base object). That's the most flexible way to implement a custom font, but not the easiest.

    • If you want to use the default 'write()' method you can choose to just provide your own 'getCharInfo()' method. In this case the default 'write()' function will use the information in the char_info_t structure to decide how to show the character. The way it works is that a given character will have numPixels to display. There will be numPixels x and y coordinates to indicate where each pixel should go relative to the character's origin (top left). You can supply a color sequence to use in the pixels, or provide NULL to use the current window's default color sequence. The xDim and yDim members will determine how far to advance the origin for the next character. The 'show' member can be used to decide if a certain character should be shown on screen.

    So in your case check out the current default 'getCharInfo()' function and see how it affects the 'character_info' struct. (Basically it goes over all the pixels in the bitmap and if it exists it adds the location to the xLoc and yLoc arrays). You'll need to loop over the data in the larger font and do a similar thing with it.

    Though it's not exactly the same the inspiration for this method came from the RGB OLED library. You can check out the Custom Font Example for some inspiration and a little more explanation.

    Please show it off when you get it working!

No public wish lists :(