ArduBreakout on a watchX


…received my watchX today! :stuck_out_tongue_closed_eyes: Here it is running a modified version of the Arduboy2 library:

(Simon) #2

Wow … can you still buy these or was it for backers only?

I see it has an accelerometer … you could alter some ‘standard’ arduboy games to make them work on this. Mmmm … 1943?


No doubt they plan to sell more at some point…

Yes! That is part of the reason I was enquiring here…

Looks like they also plan to have a joypad breakout kinda thing for it too…


Someone already got some games up there.
I don’t know how he wrote it (maybe assembly like GetChiper, or classic C like Akkera102, or Eried’s C++)
But I think the library can be modified and games will be able to run on here.
But you only have these buttons (LEFT_BUTTON, RIGHT_BUTTON and A_BUTTON?)
So the guy have to be creative…

Hmm… :thinking:
So you can potentially write a stripped-down Labyrinth 2 ? :crazy_face:

That screen IS 128 * 64, right?

Might as well just get one and put it in a case
@bateske think we can squeeze the accelerometer into the arduboy?
@Mr.Blinky perhaps a homemade arduboy clone make more sense…

(Scott R) #5

You can fit a accelerometer or flash inside a Arduboy by using longer screws and reward cards as spacers. At least that’s what I’ll be doing once my parts arrive.

@uXe that’s a pretty neat device I’ll have to look into these.


That’s true, but not if @bateske decided to have a enhanced version of Arduboy WITH the accelerometer on board
Reward cards? I probably can make myself plastic spacers from those sheets of ABS (or those tubes of PVC) I got
As of screws, well… … … … …

good idea! Why are the people at Arducart not thinking of this?

(Pharap) #7

This is sort of like something I was hoping to do at one point.
(Before it got put on the ever growing ‘delayed project’ pile.)
Though I’d planned to make something larger and use off-the-shelf breakout boards instead of making a custom board.

@uXe Have you uploaded your watchXArduboy2 library to Github yet?

Judging by the watchX source code it’s C++ via PlatformIO,
though it could be modified to work on the Arduino IDE.

From TechAcute’s article:

MCU: Atmel ATmega328P
Port: Micro USB
Display: 1,3″ OLED, 128×64, FCC socket
Wireless: Texas Instruments CC2541 (Low Energy Bluetooth)
Accelerometer/gyroscope: TDK MPU-6050
Barometric pressure/temperature: Bosch BMP280
Noise: SMD Buzzer
Battery: 130mAh (~15 hours on typical usage)
2x LED lights
3x Buttons

Sadly their code is written in a C-like style (and frankly it’s very messy - full of commented-out code).
If I ever got one, I think I’d fork the library and clean it up a bit.
(Perhaps even add some localisation support.)
Heck, I’m tempted to do it even if I don’t get one.


heck, it got Bluetooth LE!
My 2012 DELL LAPTOP don’t even have one…
Well, it have Bluetooth, but don’t have Bluetooth LE.
Ans barometric sensor! And accelerometer! and TEMPERATURE sensor!
Must be a wonder that the little 328P can power such thing.
Not at once, obviously.

(Scott R) #9

This reminded me I forgot to get stuff uploaded :exploding_head:


They actually shipped the thing without any working software - it’s a bit of a mess, nobody seems to be using the code you linked to above, there is one user making good progress on their own version… quoting one of the creators:

Please note: The firmware is preliminary and missing features. The reason is, we had a working firmware based on Atmega328P but, Atmega328P is a little under powered so we switched to Atmega32U4. There are register and timer differences. What we expect from watchX community is to help us perfect this firmware.


The community is at

And my Arduboy2 port is at

(Pharap) #12

BLE isn’t as common in laptops/computers, it’s more of a smart phone and IoT device thing.
It wasn’t released commercially until 2011 anyway, so it’s not surprising a 2012 laptop didn’t have it.

BLE actually behaves very differently to Bluetooth.
Bluetooth is more of an active two-way data connection like conventional wifi,
whereas BLE is a passive connection where one device advertises information using periodic low energy short transmissions and another reads the information and inquires for more.

Bluetooth is designed for constant data transfer (e.g. wireless keyboards, wireless headphones, file sharing),
BLE is designed for mostly one way communication (e.g. heart/blood pressure monitors, interactive advertising promotions, evil companies tracking your physical location).

I almost linked to that article until I saw you’d already mentioned your accelerometer experiment.

Sadly that sort of thing is becoming more common with these crowd-funded projects.

So now they’ve basically got the Arduboy but with different peripherals and in watch form.
How quaint. :P

They probably should have invested in a discourse site.
Reddit’s fine for random discussion, but not exactly oriented towards code sharing.
No code blocks or markdown.
(Also from what I’ve seen the culture of Reddit tends to not be as good as Discourse sites in my experience.)

Also this doesn’t instill confidence.

Are you sure that this is right?
Does the watch only have 4 buttons or something?


3 buttons :rofl:  

(Scott R) #14

not sure if you’ve heard of him but this @Mr.Blinky fellow has a magical Bootloader

(Pharap) #15

Ah, that explains a lot.

The MCU was changed to a 32u4, no need for the custom bootloader.
Also, that requires more than 3 buttons :P.

(Scott R) #16

Perfect for Tamaguino and it has RTC :hearts:

But it would make more headroom than using a stock arduino bootloader its the same MCU as Arduboy.


…my thoughts exactly! :laughing:

(Pharap) #18

Fair point.

Even better point.

(Scott R) #19

To be fair 3 buttons and an accelerometer is a lot of inputs for simple games and there’s always the option to add more or take advantage of the other connectivity options. I like the watch form factor because I’ve thought about making an Arduboy powerglove and a watch makes that easier.


That makes it more interesting

Well if they use the standard 4K bootloader. They could gain 2K of more space by using Cathy2K :slight_smile:

Tamagotchi :smiley: