Arduboy uploader for Mac?

From the list here, it seems like my only option is the Arduino IDE:
https://arduboy.com/upload-games/

Anyone know of something out there or is this one of those “be the change you want to see in the world” kind of things?

1 Like

The latter, I’ve tried to bug people to do a mac uploader for years.

If you make it happen I’ll make sure you are handsomely rewarded. (Toilet Paper)

2 Likes

I believe @Mr.Blinky might have a Python script that works for Mac.

And I think @tuxinator2009’s work in progress cross-platform GUI program should work when it’s released.

I could be wrong though (my memory’s getting a bit cramped),
the afforementioned people will have to confirm for me.

2 Likes

Yes the uploader.py script of the Arduboy Python utilities can be used on OSX too

2 Likes

Yeah but a simple executable would be the bees knees.

@Mr.Blinky that looks pretty cool! I’ll give it a go when I’m back at my laptop. Time permitting I’ll look at a simple GUI.

Yes the ArduManFX tool I’m working on will work on Mac. Once finished there will be standalone executables for Windows, Linux, and Mac that won’t require any special setup or configurations. Litterally just extract and run (will even run off a flash drive).

2 Likes

@tuxinator2009 Whoah that is pretty cool how can I help support that?

Well thanks to @JonRaymond I have one of @Mr.Blinky’s ram chip mods (the ones I ordered from AliExpress are still tied up in shipping for obvious reasons). Then @eried provided me with the neccessary information to add support for getting the current ratings. Now that I have github setup on my new computer and my dev environment up and running I can upload what I’ve got so far to github and finish the last bits.

Biggest thing you could do @bateske is to keep up the awesome work on the official FX mod.

I posted a screenshot of the program in the Self Bootloading Mod chip topic. As an added bonus it maintains an offline cache of the repo and can upload hex files (with the different mods) to a regular Arduboy as well. So it will also serve as a general purpose game manager.

7 Likes

I’ll slot you up for the second round of mod chip prototypes. As soon as we have software for the attiny to flash the 3k bootloader @Mr.Blinky has made, we will be in a position to launch the campaign as then we can finally show a proof of concept of the full implementation, it will just be a case of getting it produced.

Not really sure how long the production would take in current circumstances, I would guess 3-4 months? It’s usually 1 month…

1 Like

@tuxinator2009 I just saw the app you’re working on, looks awesome!

I haven’t done QT in a while, but let me know how I can help (I’ll be happy to test for sure :grimacing: ).

I’ve used the scripts and I’m working on a small GUI as a fun project to appease my immediate needs. Keep up the good work!

1 Like

@msanatan where did you find it :open_mouth: I want to try it!

1 Like

@bateske That was the image he posted in the other topic:

I already stalked his Github to see if I could build it . Doesn’t seem to be published as yet!

2 Likes

Well I just got it properly rebooting the official Arduboy and uploading a sketch. Will make an early alpha build as soon as possible which will at least serve as a local game manager (since it downloads a cached copy of the entire repo) and there’s an upload button next to each game. In the mean time there’s a big button along the top (only present during early testing) that basically re-creates the individual scripts from @Mr.Blinky in c++ and gives you the ability to browse for a file and use check boxes to toggle settings (instead of dropping a file and changing script filenames).

In @Mr.Blinky’s script it opens the port with a baud rate of 1200 then closes it immediately, waits 500 milliseconds, then tries to reconnect in bootloader mode. The c++ version required opening the port with a baud rate of 1200, wait 500 milliseconds, then close the port and try reconnecting in bootloader mode. That’s what was causing it to not properly reboot the Arduboy automatically.

It’ll take me a little bit to build a proper release package, but hopefully I’ll be able to get the code up on github tomorrow so others can build it themselves.

EDIT: I will also create a separate topic specifically for discussing the ArduManFX.

5 Likes

I tried getting the bootloader communication stuff working in C# once but I had some issues.
Now I’m wondering if it was the same problem you had with the Python script’s behaviour versus what you had to do in C++.


Out of interest, does QT come with a serial API or are you using a particular library?

interesting. I guess C++ is able to close a port much faster than python (and java used by Arduino IDE)

It’s working in Windows, but my Linux system is still having issues. Will have to do further testing.

Yes actually Qt has a QSerialPort class with companion classes (QSerialPortInfo, etc).

I’m also discovering that there is some differences in the Windows, Linux, and Mac native serial port communication layers (which Qt just creates a convenience wrapper around). Seems the Arduino exits to boot loader under certain conditions (baud rate set to 1200 and a “wiggle” on the RS232 lines).

Seems like some more extensive testing is needed. Manually going into bootloader (holding the “Down” button) allowed it to connect but failed on the verify written data step when uploading a hex because it failed to read back any data.

Much further testing will be needed it seems like. Sadly I’m working through the weekend so won’t have a day off until Monday. Will look into other C++ cross-platform serial port APIs and see if its something to do with QSerialPort or if it just doesn’t like C++ (it is Arduino after all and we all know it doesn’t use true C++).

I am a rather stubbornly persistent fellow though and refuse to back down from a challenge so eventually it’ll give in and do what I tell it to do :grin:. It’ll be really awesome to have a cross-platform, general purpose, game manager that is able to tie into @eried’s repo and will work with regular Arduboy’s plus ones with the ram expansion. Plus it’ll be able to operate from a Flash Drive as well since the local cached copy of the repo is stored in the root folder of the program which means you can have a Windows, Linux, and Mac binary all in one folder that can be run from literally any computer that has a USB port.

3 Likes

Note that DTR must be cleared when closing the port to trigger the reset.

1 Like

That’s pretty much what I’d expect.
Serial communication seems to be an obscure enough thing that the different OSes handle it remarkably differently.
(I’m surprised the Arduino IDE manages it as well as it does.)

* cough * -fpermissive * cough *

.zip distribution without the need for an installer? Music to my ears.

1 Like

I can’t keep track of all of the awesomeness, just, let me know if you need my help and when it’s done so I can update the site about it.