Releasing Version 0.4.0: The Sleep and Growth Update

Last Updated: 2024-06-02 00:00:00 -0500

Only half a year or so behind the original projected release date, I am absolutely thrilled to announce the release of version 0.4.0 of the firmware for PETI, which has been tested and validated against the very same Revision B/C development kits that sold out back in February. 0.4.0 is being billed as The Sleep and Growth update because of the features it comes packing, and also includes all the fixes needed for a few bugs introduced in 0.3.0, which was released last fall.

Catching Z’s: Sleep, The Pet, And You

One of the two major gameplay features included in this update is the ability for the pet to fall asleep! Depending on their age, at certain times of the night your pet will fall asleep and stay that way until morning, during which you can watch them snore away. Make sure to turn off the light using the now-functional lightbulb icon on your main screen status bar, or your pet might wike up grumpy! The baby pet might even need to take a nap in the middle of the day.

During sleep mode, with the lights off, the PETI handset itself will eventually pause the screen and turn it off. Don’t worry, you can get the display back at any time by pressing any of the buttons on the controller board.

Grow Up Big and Strong

This update introduced another key gameplay mechanic: evolution. Through evolution, the game checks your attentiveness as a pet-keeper before deciding on one of three evolutionary options for your pet to take. Your first evolution should come within three hours of the egg hatching.

Currently, the evolution system is a simplistic version of its final form. Support is not currently included for the so-called “secret” evolutionary paths, and the “needs check” included in this version is very simplistic, simply checking the current Fun and Hunger bytes before making its decision. This will be elaborated on in future releases.

New Friends to Meet

Players with debug mode will be excited to learn that some 6 new forms were added to the evolution data set that will support the “secret” evolution pathways once support for those are added. These new forms were also added to the Stage Select menu, which is accessible in the debug options menu.

Development Streamlining and Bugfixes

While the Full Changelog goes into more details surrounding these changes introduced in today’s release, it’s worth highlighting a few major improvements:

  • The font format changes discussed in Past Blog Posts are now included on the main branch, meaning developers can now use any font editor that supports the FONTX2 format, and the makefile in the main project will recompose those fonts into C headers which can then be compiled into the source code, seamlessly.
  • The display code was refactored yet again, removing several unused function calls and adding a DISPLAY_blankFrame function to allow the developer to readily reset the display frame (without having to redesign that function every time it’s needed in a scene).

How to Get the Update

If all you’re looking to do is install the latest firmware from binary, I’ve packaged a release with installation instructions and the compiled binary. That would assume you’re using the development kit hardware with the targeted microcontroller; essentially, that your setup is the same as mine.

If you want to play around with the source for 0.4.0, examine the source and compile it yourself, or make changes to suit variant hardware, simply clone the project repo and switch to the v/0.4.0 branch.

What’s Next for PETI

Firmware - 0.5.0 - The Bathtime Update

Back in February I posted a roadmap for the PETI firmware, and I want to take some time to elaborate on the included steps for the 0.5.0 update. As I’ve made clearer and clearer on social media, I’m no longer prioritizing the Labs as though it was a second job, so I haven’t made a firm decision on when I’d like to get this update out by, but it should certainly be no later than the end of the year. There’ll be more news about that as the time comes closer.

The bathtime update will add the ability for the pet to defecate and be bathed; again harkening back to 90s virtual pets. This lays in the groundwork for some other features down the road and is also why it’s being called the “Bathtime” update. While that is the only gameplay feature targeted, it’s not the only thing I want to look at streamlining or improving:

  • Rebalance the Rate_HF values for all the evolutionary stages to make the pet’s hunger less demanding.
  • Improved alert signalling: we’re missing alerts right now for evolution and for the pet waking up from sleep, which could stand to be changed.
  • There is a minor bug/flaw in DISPLAY_printTextLarge that occasionally crashes the game on development builds. The flaw is intrinsic to how the function itself works (or seems to be); I’d like to take some time in 0.5.0 to address it.

Because of 0.5.0 being scheduled relatively far out I want to add that 0.4.0 marks the end of the practice of these sort of monolithic updates; if there are bugs that affect the released version of the game code I’ll address them in bugfixing minor versions (0.4.1 and so forth) rather than only making the fix in the 0.5.0 branch.

Hardware - Dev Kit Enhancements

Something that crossed my radar a few months ago was that the reason the ability for audio on the PET is so simplistic is that the specified speaker is frequency-locked; it self-oscillates at a fixed pitch and that’s all there is to it.

One thing that I want to investigate this summer - preferably within the next week or two - is how radically I’d have to change the hardware to support a “real” speaker. I imagine we could do the whole thing with a couple of transistors, provided I can find a speaker that’s happy to exist at the 3v3 level of all the other power in the pack.

If I can make that change without an intensive redesign, I will, and include those changes in the Revision D hardware. The schematics for the Revision D development kit hardware still aren’t publically released.

One way or the other, no later than August of this year, I want to be able to announce whether or not the Revision D (in some form) will be available for sale on our Tindie shop.

If you wanted to show your support financially for Arcana Labs projects like PETI, but don’t need a virtual pet development kit, your best avenue is through the pathways detailed on our support page.


Using your Fediverse account, you can respond to this article's Mastodon Post. Embracing the spirit of decentralization inherent to the Fediverse, you can use your account on any compatible platform to post. Clicking the "load comments" button below will make your browser request all of the non-private comments and display them below.

This was built based on this reference implementation.