Camera upgrade hard-mod for the (N)3DS?

MaxxBrick

Member
OP
Newcomer
Joined
Feb 2, 2021
Messages
7
Trophies
1
XP
99
Country
United States
I want to try hard modding my New 3DS with higher res cameras, something like the OV5640 or something, idk. I have enough experience in electronics and programming, and a soldering iron, so I feel like I can take on the challenge. I’m just trying to figure out how exactly I’d go about with it
Post automatically merged:

“But the 3ds only has a resolution of 400x240!” Pictures of higher resolution still look MUCH better on the 3ds, such that the low resolution is almost unnoticable.
 
Last edited by MaxxBrick,
  • Like
Reactions: JustABadger

MaxxBrick

Member
OP
Newcomer
Joined
Feb 2, 2021
Messages
7
Trophies
1
XP
99
Country
United States
Saving this thread. Please post the results if you manage to!
Thanks lol, it may be some time before I can pull this off but I’ll try
Post automatically merged:

If anyone has more experience on how the cameras work then any help would be appreciated, in the meantime ill read whatever i can
 

Kwyjor

Well-Known Member
Member
Joined
May 23, 2018
Messages
4,606
Trophies
1
XP
4,711
Country
Canada
“But the 3ds only has a resolution of 400x240!” Pictures of higher resolution still look MUCH better on the 3ds, such that the low resolution is almost unnoticable.
That doesn't really make sense? How exactly are you displaying a picture of higher resolution when the highest resolution is fixed..?

Anyway, wouldn't you have to write an entire new camera app in order to take advantage of new camera hardware? Plus you'd break compatibility with games that use the camera and expect pictures of a lower resolution – though there's probably not very many of those.
 

MaxxBrick

Member
OP
Newcomer
Joined
Feb 2, 2021
Messages
7
Trophies
1
XP
99
Country
United States
That doesn't really make sense? How exactly are you displaying a picture of higher resolution when the highest resolution is fixed..?

Anyway, wouldn't you have to write an entire new camera app in order to take advantage of new camera hardware? Plus you'd break compatibility with games that use the camera and expect pictures of a lower resolution – though there's probably not very many of those.
If you don't believe me, load any high res photo or video on the 3ds web browser and you’ll notice how different it is in quality to a photo you took on a 3ds. When the source photo is a high resolution and then downscaled it still appears much better on the target screen because there’s more information per pixel and the image is smoothed out; think of it like anti aliasing.

Also no I shouldn’t have to do that because the goal is to wire up the camera replacement in such a way that it sends the same data the 3ds is looking for. There could be complications like power requirement a data type but even so, it should still be possible, with some difficulty. Cameras shouldn’t differ too much in image output and if they do I should be able to change the camera appropriately
 
  • Like
Reactions: 4d1xlaan

Kwyjor

Well-Known Member
Member
Joined
May 23, 2018
Messages
4,606
Trophies
1
XP
4,711
Country
Canada
If you don't believe me, load any high res photo or video on the 3ds web browser and you’ll notice how different it is in quality to a photo you took on a 3ds.
So you're comparing the web browser and the camera app,.?

there’s more information per pixel
...C'mon, think about this for a minute.

Also no I shouldn’t have to do that because the goal is to wire up the camera replacement in such a way that it sends the same data the 3ds is looking for.
If the camera is going to send a 400x240 image, then that's not different from the current camera.
 

MaxxBrick

Member
OP
Newcomer
Joined
Feb 2, 2021
Messages
7
Trophies
1
XP
99
Country
United States
So you're comparing the web browser and the camera app,.?

...C'mon, think about this for a minute.

If the camera is going to send a 400x240 image, then that's not different from the current camera.
Look, I don’t really feel like explaining this right now, if you wanna disagree then fine, no need to be rude about it
Post automatically merged:

I want to try hard modding my New 3DS with higher res cameras, something like the OV5640 or something, idk. I have enough experience in electronics and programming, and a soldering iron, so I feel like I can take on the challenge. I’m just trying to figure out how exactly I’d go about with it
Post automatically merged:

“But the 3ds only has a resolution of 400x240!” Pictures of higher resolution still look MUCH better on the 3ds, such that the low resolution is almost unnoticable.
I want to try hard modding my New 3DS with higher res cameras, something like the OV5640 or something, idk. I have enough experience in electronics and programming, and a soldering iron, so I feel like I can take on the challenge. I’m just trying to figure out how exactly I’d go about with it
Post automatically merged:

“But the 3ds only has a resolution of 400x240!” Pictures of higher resolution still look MUCH better on the 3ds, such that the low resolution is almost unnoticable.
Anyway this post was intended to seek input on how some people might go about with this but ig I’m on my own here lol

like this wasn’t the post to say “higher res cameras on 3ds is good” this is the post to say “hey any tips on how to go about with this”

I’m not here to pointlessly argue how it’d look better, sorry if my wording came across that way

in hindsight this is all my bad cuz the initial post I made was really more of a statement then anything
 
Last edited by MaxxBrick,

Kwyjor

Well-Known Member
Member
Joined
May 23, 2018
Messages
4,606
Trophies
1
XP
4,711
Country
Canada
this is the post to say “hey any tips on how to go about with this”
And you should probably figure out exactly what you need to do before you try to figure out how to do it. Because you're not going to somehow cram "more information per pixel" into a 400x240x24 image (or whatever it is). That's just not how pixels work.
 

MaxxBrick

Member
OP
Newcomer
Joined
Feb 2, 2021
Messages
7
Trophies
1
XP
99
Country
United States
And you should probably figure out exactly what you need to do before you try to figure out how to do it. Because you're not going to somehow cram "more information per pixel" into a 400x240x24 image (or whatever it is). That's just not how pixels work.
Anti aliasing
here I will explain what I mean
Let’s say you have 2 images of an opaque black diagonal line in a white background, one is 240x480, another is 1080x1920, and you load both images on a 240x480 screen.
They won’t look the same because when you put a higher res image on a lower res screen, all the pixels of the source image that would occupy the space of the lower res image would blend together, so even though the original image was just an opaque line, when put on a 240p screen it would ”blend” the black and white and so you’d have some gray pixels, and they’d all blend together to appear to be a black smooth line.

I know it works because i tested it on a real 3ds, if i take a photo of something on a 3ds then take a photo of the same something on like my ipad, then load the ipad image on the 3ds, it still looks better, because the image is smoothed out, and the individual pixels are much harder to make out. The same concept is applied to in many video games in the form of anti aliasing.
1726356017124.png
This is what I meant by “more information per pixel,” not really in a literal sense but like, you get it now, right?
If you don’t get where I’m coming from, then let’s just agree to disagree.
 
Last edited by MaxxBrick,
  • Like
Reactions: 4d1xlaan

4d1xlaan

Well-Known Member
Member
Joined
Apr 21, 2024
Messages
862
Trophies
0
XP
895
Country
United States
we call this downscaling btw, depending on downscaling algorithm used then a higher resolution image downscaled could be higher quality than an image that was produced at that resolution directly

I don't see a reason why it couldnt theoretically be done, as long as the replacement hardware was able to talk to the console the same way as the original camera does, and that the console is able to power it, it should just work?

you'd need to know quite a bit about how the hardware works though. it's unlikely the 3ds could communicate correctly by default with a different camera hardware. you would probably need to have some additional hardware in between to do the translation between camera and 3ds, so that the 3ds receives data in the correct format it expects and the camera receives control commands in the correct format it expects

then in theory you could take a 1920x1080 picture (example) with the higher resolution camera, translation hardware downscales this to 400x240 using whatever downscaling algorithm you want, and sends that to the console in the correct format it expects. but one potential problem is that the "translator" needs to be performant enough to be able to do this conversion in real time, otherwise you would have a delay between what the camera sees, and what the console shows on screen. but maybe you dont care about a delay.

another potential problem is that your new camera hardware might need more power to run than the current cameras do, you would need to account for that and figure out a way to power the cameras adequately. otherwise also find a way to properly mount the camera onto the system, but that's the easy part I think. at worst you just need a different design for the top shell

but none of this matters if you don't understand how the hardware (and software) works... it simply isn't going to happen unless you understand how it works, how to program for it, and how to make the hardware for it

if you're serious then 3dbrew might be a good starting point: https://www.3dbrew.org/wiki/Camera_Services
your "translator" needs to understand how the 3ds communicates with the camera hardware, and it needs to understand how the camera hardware is expected to respond back. if you wouldnt know how to design custom hardware then maybe some kind of arduino could do it, but it wouldnt be the most space-efficient solution (and it might consume more power than a dedicated board would)

it goes without saying that the images you get from this will be blurrier, because at 400x240 there arent enough pixels, you trade detail in exchange for smoothed out edges. you know this already and you dont mind considering that you find the pictures to look better when taken from a different camera and downscaled, but it needs to be mentioned anyway. it's not going to be a miracle solution where you get super sharp high quality images on a low resolution like this
 
Last edited by 4d1xlaan,

MaxxBrick

Member
OP
Newcomer
Joined
Feb 2, 2021
Messages
7
Trophies
1
XP
99
Country
United States
we call this downscaling btw, depending on downscaling algorithm used then a higher resolution image downscaled could be higher quality than an image that was produced at that resolution directly

I don't see a reason why it couldnt theoretically be done, as long as the replacement hardware was able to talk to the console the same way as the original camera does, and that the console is able to power it, it should just work?

you'd need to know quite a bit about how the hardware works though. it's unlikely the 3ds could communicate correctly by default with a different camera hardware. you would probably need to have some additional hardware in between to do the translation between camera and 3ds, so that the 3ds receives data in the correct format it expects and the camera receives control commands in the correct format it expects

then in theory you could take a 1920x1080 picture (example) with the higher resolution camera, translation hardware downscales this to 400x240 using whatever downscaling algorithm you want, and sends that to the console in the correct format it expects. but one potential problem is that the "translator" needs to be performant enough to be able to do this conversion in real time, otherwise you would have a delay between what the camera sees, and what the console shows on screen. but maybe you dont care about a delay.

another potential problem is that your new camera hardware might need more power to run than the current cameras do, you would need to account for that and figure out a way to power the cameras adequately. otherwise also find a way to properly mount the camera onto the system, but that's the easy part I think. at worst you just need a different design for the top shell

but none of this matters if you don't understand how the hardware (and software) works... it simply isn't going to happen unless you understand how it works, how to program for it, and how to make the hardware for it

if you're serious then 3dbrew might be a good starting point: https://www.3dbrew.org/wiki/Camera_Services
your "translator" needs to understand how the 3ds communicates with the camera hardware, and it needs to understand how the camera hardware is expected to respond back. if you wouldnt know how to design custom hardware then maybe some kind of arduino could do it, but it wouldnt be the most space-efficient solution (and it might consume more power than a dedicated board would)

it goes without saying that the images you get from this will be blurrier, because at 400x240 there arent enough pixels, you trade detail in exchange for smoothed out edges. you know this already and you dont mind considering that you find the pictures to look better when taken from a different camera and downscaled, but it needs to be mentioned anyway. it's not going to be a miracle solution where you get super sharp high quality images on a low resolution like this
Thank you so much for your input, I have put thought before into the concepts you discussed and now it’s mostly just going to be some studying on my end for now.

Also, I think that besides the resolution, newer cameras generally also just have better quality or perhaps other desirable effects (again I’d need to put more research into this).

Regardless, even though the difference when viewed on the 3ds’ screens might not be that significant, I also share photos from my 3ds to other devices.
Then again there’d be more programming stuff involved to actually save a pure (for example) 1080p image that *might* be easy enough to do assuming I made my own camera software. I have 4 years of experience in programming so I’m capable of figuring things out.

Anyway, thanks again for helping me out, I really appreciate it!
 
  • Like
Reactions: 4d1xlaan

SpaceboyScreams

Member
Newcomer
Joined
Mar 29, 2023
Messages
11
Trophies
0
Age
40
XP
67
Country
United States
I assume you'd be swapping the lenses and not the sensors? The 3DS sensors are .3 MP at 640x480 and we view these images on the screen's 400x240 resolution, this resolution is firmware-deep and allotted the appropriate power to do it from the motherboard, so even if you managed to somehow swap the sensors for something like two modern smartphone sensors with much higher resolutions in such a way that they work with the same power and communicate well with the system (not happening) they'd be taking the same resolution photos/videos anyways and not in a glamorous way; literally just junking the extra pixels or unable to process the data at all without major software modifications. Those issues aside, if we continue this hypothetical, the much larger sensors (modern phones typically range from 1/2.55-inch to 1/1.7-inch sensors compared to the roughly 1/10-inch on the 3DS) would theoretically allow for better low light performance ie less grain/noise, more artistic (narrow) depth of field, better color science*, etc granted you manage to get the same smartphone's lenses installed appropriately. The engineering required for all of this is a gargantuan task to put it mildly without even taking into account that the software wouldn't know what to do with the *new color science of the new sensors either; you'd have to learn how to recalibrate everything in a pleasing manner and who would even begin to know how to go about doing that. The sensors themselves aren't entirely responsible for the huge quality difference between the 3DS and your phone, that's mostly software/algorithms doing the heavy lifting. So, improvements? Yes, from the physics alone. Drastic? Doubtful. Worth the hassle? Hell no, unless you really need the bragging rights to say you pulled it off.
Your best bet is honestly to look into what it would take to leave the software and sensors alone and just upgrade the lenses. If you can figure out how to not just adapt something bigger into the housing but also create a focal reduction element to speedboost the image circle down to the 3DS sensor size (squeeze/magnify the larger light/image to fit the smaller sensor) you should on paper see improvement in your image quality with one caveat. I don't know how the software will handle having lenses with new stats, like I imagine it will handle any focal length just fine but how will it know what to do with the extra light gathered from the faster glass? Each camera on the 3DS is f/2.8, now imagine we adapt something like f/1.8 in their place for a 1 1/3rd stop increase (more than doubling the light intake, without getting into the science of focal reduction), then the software automatically increases the shutter speed and/or lowers the ISO enough to compensate, but perhaps the software forces the image be taken at f/2.8 anyways leaving your images underexposed after you close the shutter. In that case you'd need to apply a neutral density filter on the lens to accommodate for the 1 1/3 stop (in this example). That would really kill all the incentive for this experiment tbh, you have to be able to keep the lower ISO at the very least for the faster glass to be worth a damn as that's the biggest offender ruining the original hardware's image quality (beyond the inherent shittiness of everything altogether). However if the faster glass is actually useful without the app underexposing everything and you are a skilled enough engineer for the speedbooster invention and overall installation to not be as big of a headache as I'm imagining then you could have a real winner here, I'd use my 3DS camera way more often if it was modernized just a little.
Your best BEST bet? Buy something like this: https://www.amazon.com/gp/product/B...HUD70&linkId=ff61c8c6282241bfd1e3fe740456c3f6 and view the footage on your 3DS whenever you want to even though it has its own glasses-free 3D screen.
 
Last edited by SpaceboyScreams,

ghjfdtg

Well-Known Member
Member
Joined
Jul 13, 2014
Messages
1,437
Trophies
2
XP
3,554
Country
The cameras on 3DS also appear to use a custom interface to transfer the image data. And you have to initialize a lot via the secondary I2C interface. You won't find any camera sensor on the market that is an exact fit. Most camera sensor on the market require a MIPI CSI interface the 3DS doesn't have.
 
  • Like
Reactions: 4d1xlaan

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Dexter likes metal objects