Arduboy FX library

What licence is the library currently under?
The same as Arduboy2?

Look at that it’s been 4 months already How other projects can distract you :blush:

It’s under MIT

And is it just your name in the copyright notice for that?

I can’t find a licence anywhere in the repo.
It would be good to have one for the flashcart stuff at least.

Now that I have a working ArduboyFX, I wanted to play around with using the extra flash for my own projects. This demo looks like a good starting point. Since this thread is pretty old, I’m wondering if there is a newer library I should be using or is cart.cpp/h the latest available?

1 Like

I tried downloading the drawball-test.bin and .hex and used the FX activator to put them on the Arduboy, but when it runs, it shows the initial ARDUBOY boot screen and then just has a blinking red LED. So I guess I’m not sure what I’m doing.

I think that hex is compiled for the flash chip CS pin to be different.

A more up to date version of the library is included in the Homemade package. I recommend installing it then Select Arduboy as board and open examples > ArduboyFX > Draw balls.

You need to upload the .bin file using the flash-writer python utility as explained in the example

Thanks! I got it working now. On to making something new!


I spent a day working on this:, which is basically just a reverse of It can decompile the .bin files back into .hex and .png files in a nested folder structure (root/(category-number)/(program-number)/(program-number).hex & (program-number).png). It also creates .csv file which links to the decompiled binary files to make recompiling easier with Hopefully this is useful!



I’ve updated the first post with the newest version of library and tools.

1 Like

I totally forgot about this thread and just rediscovered it :smiling_face:

I’ve updated the library to 1.0.3 it has several bug fixes and enhancements. Latest additions are text functions that have both the font and text stored in FX flash.

The examples have also been modified so they’re easy to use with the new Arduino IDE plugin


I have noticed something a little strange when using the FX library and rendering at the bottom of the screen. You can see it clearly in this video - the text is moving up 1 pixel at a time but there are instances where it does not render the lowest pixels. It appears to be anywhere between 1 and 4 pixels missing.

The image is 1118px wide x 83px high. They are non-transparent and rendered using the dbmNormal flag


Actually, I changed the size to be an equal multiple of 8 high and it works smoothly. I suspect there is some division rounding going on.

Shouldn’t that be the other way around?

Could you DM me the image and the code line used to draw it? then I can look into the issue.

Ooops … it was 118px wide - not 1118px.

I will send it to you via PM.

found and fixed the issue. Fix available in ArduboyFX library 1.0.4 and Homemade package 1.3.5


Help … my Mac did an update and now I cannot get the fxdata-build script to run.

I realise O know so little about Python on the Mac!

$ python3 ./Arduboy-Python-Utilities-master/ fxdata.txt
FX data build tool version 1.07 by Mr.Blinky May 2021 - Mar 2022
PILlow python module not found or wrong version.
Make sure the correct module is installed or placed at /Users/simonholmes/projects/PrinceOfPersia/fxdata/Arduboy-Python-Utilities-master
Simons-iMac2-2:fxdata simonholmes$ 

I have python installed:

$ which python3

I have Pillow installed:

$ pip show pillow
Name: Pillow
Version: 9.3.0
Summary: Python Imaging Library (Fork)
Author: Alex Clark (PIL Fork Author)
License: HPND
Location: /usr/local/lib/python3.10/site-packages

My PythonPath looks right:


What am I doing wrong? This was working prior to the update so I am not sure what really has changed.

One last test:

$ python3
Python 3.10.8 (main, Oct 13 2022, 10:17:43) [Clang 14.0.0 (clang-1400.0.29.102)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/local/bin/python3.10', '/usr/local/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/', '/usr/local/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10', '/usr/local/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload', '/usr/local/lib/python3.10/site-packages']

@Mr.Blinky’s error message says the library can be placed at placed at /Users/simonholmes/projects/PrinceOfPersia/fxdata/Arduboy-Python-Utilities-master … how do I do that?

It seems that a different version of pillow is required for you’re updated OS. Not sure where you can grab it as I’m not that OSX savvy