#CMG plus

1 messages · Page 1 of 1 (latest)

jovial finch
#

Ive been working on this gadget to go along with a Gameboy Color game that I’m developing.
It’s a modern remake of the Nintendo CMG platform. Recognizable as the pocket pikachu 2.

At its core is an M5 Stamp ESP32 S3 microcontroller.
This gives the device Wifi, Bluetooth, and enough processing power to handily run my virtual pet program, and to emulate a handful of 8 bit platforms.
There’s a 450mah battery, which can run a native application screen on for around 2 hours 40 minutes. While sleeping, the device will still tick forward the virtual pet game, and the battery will last much much longer. I figure you probably aren’t going to be directly interacting with it for 3 hours between daily charges. So I feel this battery life is enough. (Charged via USB C)

#

The original reed switch pendulum counter unfortunately was impossible to add. In its place is a modern accelerometer/gyroscope combo for step counting. Just like what new digivices use.

Additionally, there is an SD card slot that can support up to a 2 TB sd card. This would be useful for storing extra programs, roms, or using the device as a Bluetooth MP3 player.

For linking to the Gameboy Color, I’ve included an IR transmitter and receiver.

And finally, a set of test points, and an extra connector expose 2 extra GPIO pins, for adding additional sensors and functionality. This is beyond the scope of being a VPet and more so cool for the sake of it.

Being based on the ESP32, and using a fairly common LCD, there’s already a lot of software that should work without issue on this device. For example, anything that can run on the old Odroid GO handheld, or the M5 cardputer should be able to run on this.

The board is designed as a drop in replacement for pocket pikachu 2s. I think think will serve as something to do with the countless units that have succumb to screen rot and are unplayable now.

For those without a donar shell, I’m modeling a 3D printable alternative.
This one won’t require any modifications for the USB C port. And will expose the SD card and GPIO connector.
Since custom button membranes are expensive to manufacture, the custom shell will work with buttons on tact switches. That’s why you see button pads and clicky buttons on top of them.

I’ve been working on it for about a week now, and I’ve just gotten to the point where I’m getting ready to order fabricated samples.

So far it’s looking like all together, parts, manufacturing, most of the assembly, etc is going to cost about $25 per unit

I might end up selling these pre made. But no matter what it’ll always be open source for anyone to make their own or make modifications.

Hopefully by this time next week I’ll be testing assembled units! 🙌🙌

pulsar pecan
#

For the love of god yes please. I have been admiring the pocket Pikachu form factor for an open sourced vpet and this hits every single wishlist item.

Can you tell us a bit more? Flash amount, ram amount and display resolution/color depth?

pulsar pecan
#

Also, if that never ended up happening I was hoping someone would recreate the PokeWalker or WiiU Fit since they had the 3 button vpet layout.

#

But the D-pad and dedicated A/B makes for a much nicer to navigate UI and more interesting mini games for training.

#

Also, even though it would use accelerometer could a clacker like the PenC be added? I know some people prefer it silent and could just remove the clacker I guess.

pulsar pecan
#

Sorry for commenting so much I'm so damn excited about this.

jovial finch
#

And with the clacker, the space it would normally sit is taken up by the battery, and SD card slot

#

I was thinking about maybe a way of containing a metal bead that can rattle around so that it at least makes a similar noise when shaken

#

here’s the colors I chose, what the display will look like, (the red area is the game screen, 31x40 just like the original, with 3 icons and a 5 digit counter)
And then finally the display showing Mario bros

#

It’s pretty nice for playing nes games. The vertical resolution is perfect 1:1, and the horizontal resolution loses 8 pixels left to right, which just so happens to be exactly what Nintendo considered overscan

#

So 0 official games will ever put important details that far left or right

#

That’s the area in a lot of games that is just a blank line

pulsar pecan
pulsar pecan
jovial finch
#

For my game it isn’t needed. 8 megabytes is WAY more than I need

#

But for running OTHER stuff it’s nice to have

#

For all the inevitable “can it run doom?” Yes, and now you don’t have to use up all your internal storage to run doom

pulsar pecan
#

I'm already looking for broken Pocket Pikachu 2's to steal the casing and buttons from, lol

jovial finch
#

Again, plan is to have a 3D printable shell

pulsar pecan
#

Yes, but the rubber buttons would still be a nice touch even with a printed shell

jovial finch
#

true

#

That was one thing I decided against

#

Manufacturing button membranes is expensive and tricky

#

Getting them to feel right seems to take a lot of iteration and patience

#

the switches I decided on for non rubber buttons are mouse click style switches

#

So very clicky but not super tight

#

The start select and reset buttons use a tighter switch

pulsar pecan
#

Looks like the pads are in the right spot if you can harvest the rubber membranes and case from an original pocket but the switches would be in different locations for use with the printed shell, right?

jovial finch
#

Yeah

#

Well

#

Depends on how I do the printed shell

#

it’s possible to have the press able button hang off of where the switch is, but I probably won’t do that

#

The printable shell will probably be a little different

#

In fact, I kinda wanna lean into it, and make something more reminiscent of the mod retro chromatic

pulsar pecan
#

I already want to start programming for this thing, lol. My patience is way in the negatives already.

jovial finch
#

Well, you can easily get started by buying a Rachel

#

Check DMs

#

the Rachel was sorta the starting point for my thing

#

It uses the same screen, same microcontroller, same power supply circuit

#

It’s where I started

#

The input is different, but that’s not a hard thing to change

#

If you just wanted to start coding, the Rachel already exists, is 90% of the way there and is less than $10

#

Rachel seems to be outta stock on Amazon but here’s the GitHub for it

#

The differences between Rachel and my thing are very minor. Basically just IO stuff

#

Alternatively, if you wanted to get started coding, there are LOTS of other esp32 s3 based dev boards. They’ll have different screens. So you’ll need to account for that

radiant coyoteBOT
#

@jovial finch has leveled up! (42 ➜ 43)

pulsar pecan
jovial finch
#

The original units can only do 4 colors. And those colors are pre determined by the specific polarization techniques used when manufacturing the display

#

The pocket sakura display uses a different setup of polarizers, and has a different 4 colors

pulsar pecan
#

I've dreamed about a more advanced vpet (way before the current Tamas and color digivices) that was based on the pocket Pikachu with a color lcd and wireless capability. The only thing that would make this better is if it used one of those variable refresh rate screens from Sharp that can reduce down to 1Hz refresh when idle to allow an always on display.

pulsar pecan
jovial finch
#

I chose those 4 based on a specific PDA that uses the same technology for its color lcd

#

Very few devices ever used a screen like this

pulsar pecan
#

Ha, you're just going full retro with it, aren't you?

pulsar pecan
jovial finch
#

Yeah that’s my pfp 😛

pulsar pecan
#

Wait. I coulda sworn it was something else when I made the comment because I looked at that.

pulsar pecan
#

Oh, no, I'm dumb. I was looking at the bots pfp

#

On lunch so I can look more into this Rachel thing.

jovial finch
#

Ordered boards and parts

#

They should get here in less than 2 weeks.

#

Faster shipping was hit by tariffs so I had to go with the slowest

#

I made some changes and got individual assembled boards down to 7.53

#

This is WITHOUT gold plating on the buttons

#

Which isn’t needed if you’re doing tact switches

#

The M5 stamp is another $7

#

And the rest of the parts, (gyroscope, LCD, SD card slot, speaker, etc) come to about $10 a unit

#

so about $25 per

#

the minimum order was 5 boards, so I got parts to assemble 5

#

Hopefully I don’t end up with 5 duds lol

pulsar pecan
#

I am so excited to see this in action

jovial finch
#

Here’s the bom for everything

#

Price comes to $30.22

#

That’s without shipping, without a battery, and assuming you’re buying ALL parts to make one with tact buttons in a 3D printed shell

#

If you want to use an original shell and buttons, you can drop the buttons, but need to order boards with gold plating

#

I haven’t decided on a battery, waiting for parts so I can find the best fit

#

And I’ll probably have 2 options. A bigger one for the 3D printed shell

#

You save almost $7 not doing clicky buttons

#

The mouse buttons I chose for the Dpad and A and B are expensive…

#

But I think it’ll be worth it.

#

They’re rubber tact switches. So they have a little bit of give to them

#

but they’re still clicky

#

The start select and reset buttons don’t have rubber to them

#

Which, id like to find some but I don’t know if they make them that small

#

And tbh it doesn’t really matter for them probably

#

Since Rachels seem to have dried up, I’m thinking about maybe trying to make a cheap devkit.

#

something that’s less of an investment for people with a coding curiosity, and something that’s bigger and easier to work on

#

I’m thinking a larger, one sided freestanding board with a bigger LCD (same drivers and resolution, if it exists) and like an NES controller port

#

er genesis would be easier and cheaper

#

It wouldn’t need any power supply, buttons, or the very cramped assembly. So much so you could probably happily get away with self assembly

#

And if not, I could DEFINITELY do all parts on one side

pulsar pecan
#

Checking back here and realizing it's only been a little over a week since the order, it feels like it's been way longer, lol

jovial finch
#

First prototype boards arrived today

#

Still waiting on parts, they’ll be a bit longer

#

In the meantime I’ve built a second device for my classroom. But it shares specs and internal configuration of the CMG plus

#

It’s a minimum spec version with cheaper components and certain features separated as modification boards

#

it costs with current tariffs a little under $15 to produce and ship

#

As opposed to the more than double that of the CMG plus

#

But it’s lacking features that need to be added on through external or internal modules

#

The SD card and battery recharging circuit are optional internal modules

#

The RTC, and IMU are optional external modules

#

It’s the bare minimum for general use, and the bare minimum as a dev kit

#

It’s sized to fit into a 5x7 Lego technic bracket

#

This has sorta taken my attention atm, since I’m on a bit of a time crunch to get these ready for my classes in 3 weeks

#

So CMGP is taking a bit of a backseat

#

I did recently reach out to M5stack, the manufacturer of the dev board I’m using. And they said there’s going to be a newer one with PSram included

#

So for a version 2 maybe. And since that’ll be a full redesign I could also replace the beeper with an I2S dac for better sound

#

The benefit of PSram is mostly emulator compatibility

#

My vpet won’t need it

#

But if you wanna run emulators it’s good to have

#

The other thing is the new board has a battery IC built in. It probably won’t drive 5 volts, so it might not be useful with the IMU and RTC I’m using

#

idk

#

Remains to be seen

#

But if it does drive 5 volts, that saves a lot of space

#

idk what I’d put in its place but

jovial finch
#

so it’s a little off. I need to make some changes. Probably shouldn’t have done assembly

pulsar pecan
#

This is exciting. Wonder if a rumble would be possible in the free space for a silent vibration mode.

What's off about them? Component placing, their fit into the shell? Are they still useful for running test code on?

jovial finch
#

fit of the shell, I got 2 of the support pegs off and the Bézier curves on the bottom edge

#

They’ll still work, and I should be able to just sand down the imperfections for now but future ones I’ll fix it for real

#

Otherwise it’s a good fit it seems

#

which is good, it’s a surprisingly complex shape

haughty slate
#

So, you had me at "affordable and capable virtual pet (then some) hardware that drop fits inside a Pocket Pikachu2 shell", as I have two of them from my childhood and I'm fairly certain one is nonfunctional, the rest was gravy. A custom 3d printed shell also sounds nice.

I just wanted to clarify something: You said it could be capable of emulating 8bit platforms, and that a hypothetical version 2 would be more-so capable due to PSram. Would this thing be able to reasonably emulate GB/C? I already kind of want one of these, but the concept of running Pokemon Yellow or GSC inside the same form factor as a Pocket Pikachu2, even if only for 2 hours of battery life, sounds both glorious and hilarious.

languid bolt
#

yea im super interested as well been following this if it drops fits in pocket pikachu im 100% game

pulsar pecan
#

Some adjustments would need to be made to the Pocket Pikachu case, namely a hole for the USB-C port and MicroSD slot. Also, maybe the spot that held the coin battery cut out to make room for rechargeable battery?

jovial finch
#

Platforms you could do without psram:
nes, GBC, master system, game gear, ZX81, ZX spectrum, Atari 800, C64, Atari 2600, Atari 5200, colecovision, magnavox odyssey

#

Platforms with psram you could do genesis, vectrex, pc engine, IBM PCXT, anything that retrogo supports

jovial finch
#

The battery sits where the clacker used to be

#

The SD card is inaccessible without disassembly but there’s no reason you can’t access it over the usb C

#

Some trimming will be needed in the battery well, but the idea is that it won’t look different from the outside, and it’ll still hold a battery properly if you decide to put the old internals back in

pulsar pecan
#

Oh wow

jovial finch
#

I’m gonna do a custom battery door that has a hole for the C port already

#

So you don’t have to unscrew it if you don’t want to

haughty slate
#

Well, color me interested then. Looking forward to seeing more progress on this once you're done with your other project! As an aside, googling "mcat emulator suite" resulted in nothing distinctly emulation related, was there a typo, or is it more obscure?

jovial finch
#

Sorry, Ncat

haughty slate
#

Also, just to be a bit more clear; potentially using it as a gbc is just extra. I love the idea that you're trying to recreate the Pocket Pikachu with your own gbc game

jovial finch
#

the gbc game was the main inspiration, I wanted to have a small linking device. And at first I was going to use the Pokemon mini. But I decided against it because it’s a bit anachronistic

#

The CMG matches better time wise, but there’s no way to do custom code on them.

#

I found someone who already made a modern one, but they’re really expensive from china and completely closed source

#

they also lack IR and step counting so they didn’t really work anyway

languid bolt
#

Like the idea of keeping the IR usable.

jovial finch
#

It’s needed to communicate with the gbc

#

And the step counter, I honestly haven’t really come up with a good use for it

#

Might just be a way to get currency in my game, or used as like a pendulum gimmick

#

I don’t think there are going to be maps to walk back and forth on like digivices or pocket Sakura

#

nothing against them, just not what I want to do

languid bolt
haughty slate
jovial finch
jovial finch
#

Parts are here

haughty slate
#

So, I was taking apart one of my pocket pikachu to clean it up, and something occurred to me to ask:
The pocket pikachu's reset button is recessed and cant be pressed without some kind of pin, I plan on attempting to make a solution to that, but I was wondering what you plan on utilizing it for. Just something I figured was worth an ask, since it will effect anyone planning on going the reshell route instead of the custom shell.

Also, I like the lego technic shell, any particular reason for it, or was it more of a for fun design choice?

languid bolt
#

I was gonna go the reshell route but seeing the custom shell i do like it more if i end up getting more than one ill probably reshell one

jovial finch
#

Still in progress

#

So far campers are having a lot of fun with them

jovial finch
#

It’s also convenient for mounting things

haughty slate
#

That sounds really cool

#

Reminds me of Mindstorm, but vastly more affordable

#

-# and cooler

haughty slate
jovial finch
#

It’s only hooked up as a reset button anyway

#

like it’ll reset the device, just like on the pocket pikachu

#

That way you don’t have to shut down and boot again

haughty slate
#

ah, that's convenient. I was thinking you may have had it configured to be a menu button or something, but if it's still a reset button then it's fine as is, thanks for the info

haughty slate
#

@jovial finch sorry for the ping, I just wanted to check in on how the project is going since it's been about 2 weeks since you said it was still progressing (I wont ping you again if you want)
Just still excited about the project and patiently looking forward to when it's ready for release

jovial finch
#

It’s still goin, I’m at my summer job so hardware design has slowed down

#

right now I’m more focused on the Lego version. 1.0 has been mostly a success with kids, I’m drafting 1.1 which has slightly different IO

#

Big diff is that it’s dropping a grove port for an 8 pin GPIO header, and a 16 pin GPIO header

#

The internal beeper is gone, but you can now hook up an external I2S audio amp

#

And then the 8 buttons GPIO get to be double duty and be backpack GPIO

haughty slate
#

I'm not overly familiar with hardware, but given what the Lego version is planned for, I'd imagine all those extra GPIO pins will be handy over a groove port. Same with the beeper, not being as limited by case size like the CMG
-# I need to stop looking at lightsabers, my initial thought with the GPIO pins was "hey, CMG lightsaber" >.>;
Slowed a bit is always better than no progress at all, and progress on the Lego version may invite ideas for the CMG version, so it's a win win in my book

jovial finch
#

I just received this email last night from the M5stack development team

#

👍👍🙌🙌

jovial finch
#

We’re so back

haughty slate
#

oh wow, that's awesome! really cool of them to not only respond, but act upon your input for improvements

haughty slate
#

@jovial finch since it's been about a month, I wanted to check in on this project and see how it's going.
Has there been any updates on the CMG version, or are you still focusing on the other version? I'm still pretty interested in this project, and even if the CMG version has taken a back seat, I look forward to seeing how this device turns out!

jovial finch
#

The big gimmicks with the larger version,
#1 ease of assembly.
Larger parts, and SMD parts will drop through the PCB so you don’t need to align them.

A bigger (compatible) LCD with touch
Meaning anything written for the CMG or version 1.0/1.1 of steamed ham will still display and draw to the lcd, just with a black border.

Built in accessories, (IR, gyroscope, SD card reader)

Swappable button modules.
Dpad, buttons, paddles, touch pads, analog sticks, etc.
first ones I wanna make are Dpad, buttons, and paddles.

#

Software wise my dad has been at the lead. He recently put together a UI and OS for launching native python programs.
There’s a UI menu mode, and also an MS dos clone mode.

We also have a port of MS basic. So any games written for that should just work

#

By winter I wanna get the arduboy library for esp32 working, as that’s a good few thousand games that would feel at home and be something that kids could pick up and play

haughty slate
# jovial finch The big gimmicks with the larger version, #1 ease of assembly. Larger parts, a...

I love that this has branched out into a learning tool to get younger people into this sort of thing. I know I would have super excited for something like that as a kid, so I'm not surprised that it was well received when so much thought is going into accessibility. The addition of python and arduboy sounds promising, looking forward to seeing more!

Out of curiosity; what would be left for a functional CMG version, is it hardware revisions, or also software side things? I don't mean to come across as pushy or impatient if I do, I'm well aware of how long things can take especially when other aspects take priority.

jovial finch
#

CMG needs a new revision. Some physical changes, like board clearance. The ones I got had some holes slightly off.
And then circuitry changes to stay compatible with the other devices. IE the display needs flipped around, I’ve done away with the diode matrix for buttons, etc

sly token
#

Does anyone here have any knowledge of sprite modding Digivice color or D-3 color?

jovial finch
#

Been a month, poking my head in to say that I haven’t given up or anything. Just don’t have anything to show rn lol

haughty slate
#

Thanks for poking in! Even if there's no major news, it's good to hear the project still lives

haughty slate
#

It's been around 3 months so I'm just checking in. Even if there's no news, I'm still looking forward to this if it's still something you plan on finishing some day!

vestal willow
#

Happy new year