Free TeensyCam offer!!

stevewidg

New member
So whats the catch? Well there are two.
Firstly TeensyCam doesn’t exist YET. After years of playing around with micro based cameras I believe Ive finally come across something that should work properly. For the past 20 years I have been involved in instrumentation for measuring things with essentially a microscope and a USB camera on a PC (for which I wasnt involved in PC software). There have been many occassions when not being tied to a PC would have been good, so I have been looking for a micro solution. I have tried Arducam, Maix, ESP32 OpenMV, FPGA Pi etc they all have their own issues. Having played with Teensy for a few days I can see the potential and have decided to give Teensy a go. I am brand new to Teensy and am primarily a systems man not too involved with programming, so please forgive any stupid questions or comments.
My idea is to build a carrier board for the T41 with the following main features
1. Support a wide range of camera boards including Arducam modules up to say 5MP. (MIPI with adapter until 1070 comes along!.) Starting with OV2640/5640 and MTV9032 global shutter aptina)as I have quite a few lying around both Mono and colour.
2. Support for 24Bit Display. (Mono is rubbish on a 65K display!!), An SSD1963 based display board should make that easier. Eg https://www.buydisplay.com/lcd-5-ssd1963-tft-module-touch-screen-display-800x480-mcu-arduino
Use 8bit Display setting and take advantage of the inbuilt 2D graphic processor.
3. Read RAW data option. For colour use simple ‘Superpixel ‘ Debayering for display purposes,
See also LibRaw.org for PC. For Mono Just clone for RGB (this will probably require gamma correction later)
4. Use display primarily for targeting/windowing and transfer RAW data to PC if required or process on board. I am not talking about High Video frame rates for motion detection etc
5. Use Dual USB for data transfer/control (if required) What is the impact on transfer speed with dual-channel if one is used for control only??
6. Such systems usually require LED control ( usually I2C or SPI), servo/motor for focus etc so some expansion ports possibly Mikroe Click board.
7. Keep it around the size of a 3.5 inch display
The above is only an outline of what is intended. Part of the reason for this posting is to see if there is anyone else out there with similar interest, and to establish an alternative to existing micro camera solutions. There is of course nothing to stop this board being used with OpenMV , ML etc and 65K colour.

So back to the offer. I shall make an initial batch of 10 boards, 8 of which I would be happy to give away to those people who have inspired me to start this project ie those people who have posted code on the forum or github, or can provide a compelling argument why they should be included. After which I shall make a batch of boards as donate ware, at least to cover cost of post and packaging from the UK. So the second catch, not entirely free)
One specific question for Kurt ( or anyone who’s done it – place on my short list!!!) if I may. In your Micromod git page you have a Processing sketch for reading 565 data, but nowhere can I find an example of sending it. Any chance you could post a sample sketch for the OV7670?
I would also be interested to see if we could get some samples (at least on a PC) for reading serial data on various programming platforms eg VB, B4X, Python VS C# C++ etc and what the performance is like.
Thanks for your time
Stevewidg
 
The MicroMod Beta thread has development with that version of Teensy. @KurtE of course and @mjs513 did lots of heavy lifting there. IIRC it was mjs513 that hooked up the Processing transfer and sketches sending that are on that thread.

That used the SFun camera initially - though seems they evolved it to another camera as well. Those two have also done recent work with other edits on displaying testing the FS MTP/MTP thread on TLA's.

Paul did a breakout presenting 8 bit I/O pins - but seems it was made working with 4 bits?

<edit> This thread: forum.pjrc.com/threads/66771-MicroMod-Beta-Testing
 
Last edited:
Thanks defragster, I eventually found the code snippet for the transfer, and am working on downloading. I wasnt sure if the serial library took care of optimising transfer size or if it should be done in packets in software. It looks as though its straightforward
I am not using MM, but the OV7670 library with a T4.1. The MM is very attractive but has limited RAM. I understand if you want to do ML then more Flash is useful for storing data, and a qvga mono sensor doesnt need a lot of RAM, but with Machine Vision need a bit of both. I guess the fact that no one else has responded means there is no demand for a universal camera board. Pity, but I will post any progress I make here.
Stevewidg.
 
I guess the fact that no one else has responded means there is no demand for a universal camera board.

I wouldn't necessarily jump to that conclusion. There are a lot of possible reasons people don't immediately reply to any particular forum thread. Now there's no easy way to say this without sounding like an accusation, but I hope you can try to understand in the context of well-intentioned feedback... your message kinda looks like spam. I'm not saying it is actually spam. The fact that nobody has reported it as spam goes a long way towards saying it's not. But at a first glance it looks like a sales pitch. Or worse, pre-launch crowdfunding. It's also kinda long. My guess is a lot of people didn't take the time to read it. I didn't, until now.

Right now I don't have much to comment, other than a few words of encouragement about possible interest and market for this idea. Don't get discouraged. These things take time. There is also a sort of psychological factors threshold where more people tend to become interested, such as having photos & video demos, so you might also consider a lack of immediate response as a sort of feedback that you're probably not yet at that threshold.

My other comment is about the Teensy registered trademark. I recently had a private conversation about this. Maybe that was you? If not, and again please try to hear this as constructive advice, you really need to give your project a distinctive name which doesn't start with "Teensy". The following isn't "legal advice" (which generally comes from an attorney you're paying), just a general guideline. It's ok to say your product is "powered by Teensy" or "uses Teensy" or a pretty wide variety of similar phrases which make clear you're using Teensy from PJRC. Trademark issues aren't perfectly clear cut. The standard is whether a name or material is confusingly similar. A good way to think about trademarks is when you're shopping at a market and you see cans of off-brand soda. The folks making that cheap off-brand stuff would very much like to have a red can with white curve and name it "Cake" with the letter "a" in a font that looks like letter "o". But that would be confusingly similar, as any normal person could mistake that printing for real Coca Cola. Likewise, naming your product starting with "Teensy" would make it appear to people buying online as if it had come from PJRC. This isn't meant to be some rigid restriction that limits you. Trademark is fundamentally about protecting people who buy things, so they can see the name or packaging and know who really made it. Before you sell any products, please take some time to brainstorm a distinctive name. Dreaming up names is almost always an awkward process filled with doubts. 14 years ago people I knew said we'd never manage to sell a dev board named "Teensy". Don't listen to those sorts of voices. Come up with a distinctive name, and with respect to Teensy trademark, use a phrase which communicates clearly that you're using or integrating genuine PJRC-made Teensy. It's also common practice in marketing material to print something like "Teensy is a registered trademark of PJRC" in footnotes or fine print which nobody reads. What precisely you need to do would be "legal advice" which this message certainly isn't, but these are some things to consider. The main thing is to come up with a distinctive name. In the long run, you'll be glad you did, as a distinctive name helps everyone clearly associate the value you'll create with you.
 
Sorry I had not responded sooner on this. It would be very interesting to see what someone with your experience can come up with and if you continue with it, I will follow along.

But I do second what Paul said.

And as for me participating. There are a few other reasons on why I am reluctant.

A primary one is that you have no history here, that is you only have these two posts up on the forum. So I have no idea on where you are coming from and your real interests with the Teensy...
Is this for the community, a Kickstarter, or as product you envision and plan to sell?

I have found that Free is rarely free! Both in the actual costs. As I usually end up buying other things to help support it. For example when the MicroMod beta came out and I got a Free MMOD and adapter, I then went out and purchased several other carrier boards, plus different things to plug into it. But more important time... But in the case of the Teensy Micromod (and T4.1 4.0...) I was eager to do so, as I enjoy helping support PJRC when I can.

As for spending a lot of time participating with this project, I am so far not yet being yet drawn to it. As Paul mentioned, it might help if you showed some additional things, like pictures and/or videos showing what it is you are trying to build and if you have any prototypes of it, describe the state of them and what still needs to be done.

Earlier I was interested in experimenting with a few of the different cameras, or more specific on how to connect them up to the different Teensy boards:
So for example with the T4.1 and the OV7670, I was curious and made my own board:
View attachment 28499
Size of ILI9341 display and was setup to experiment with either GPIO port access or more interesting with 4 bit CSI interface, so it was fun to experiment enough to be able to read in some images.

Later when the MicroMod came out, it did not have enough for the CSI interface, but there were enough FLEXIO pins exported to allow for 4 bit or 8 bit access, so it was fun to experiment with this as there were several of playing with it. So at the time I designed my own board again size of display:
View attachment 28500
Also used Paul's board for the mono camera. And again this was fun. But once we had things working, I lost interest and I have not touched the cameras for a long time now.

And since then, I have supported a couple of camera oriented Kickstarter projects:
https://www.kickstarter.com/projects/opencv/opencv-ai-kit/
https://www.kickstarter.com/project...tion-autofocus-camera-module-for-raspberry-pi

Which I keep meaning to try out, but they are still sitting on my shelf and/or I do have one of the Arducam cameras plugged into RPI, but have not done anything beyond seeing it can capture an image.

So while I may not be ready to sign up, I will still try to answer any questions that I can. And who knows, if this takes off, it might spark more of my interest.

Good Luck
Kurt
 
Hello Paul and Kurt,
Yes I agree wholeheartedly with Paul, badly put together with little thought, especially the name of the thread, I can only apologise.
Trying to keep it brief, I am not at all interested in manufacturing and distributing this product, but would if I have to, hence my proposal. I understand (rereading it) that it could be seen as a scam. What I was trying to do was 'crowd develop' an idea where a number of alpha, beta units would be available for development within the group, hopefully leading to a quicker turnround. My interest is using the final product in my own designs and applications, and as I said dont really care who does it.
Okay without giving my whole life history I have designed products which are largely like
View attachment 28518
There are literally hundreds of variants on this, so there must be a market. They all have one thing in common. They are DUMB!!! there is nothing you can with the image apart from look at it, or transfer to a PC for analysis.
565 RGB is okay for targetting and like JPEG not much use for Machine Vision, when often computations involve interpolating to a fraction of a pixel.
The next option is to either have a camera that fits in the eyepiece of a microscope or one of the hundreds of digital cameras available such as
View attachment 28518
These are all UVC based, or use a camera with an SDK like Arducam USB shield series.
None of the above allow for control of lighting or motors for scanning focus etc
What I am after is something between the two. The raspberry pi comes very close to meeting all my needs, I think its mostly fear of Linux (unfounded Im sure) and the slow bootup time. That and the fact that they are unobtainable at the moment is also a concern.
So for the past 20+ years I have designed instruments for the printing industry to examine print or plates for quality. Basically measuring the size and spacing of dots such as
View attachment 28519
Here colour is important , as its possible to distinguish the individual YMC values ( its not as simple as = RGB). Its not always convenient to have to connect to a PC, so a portable standalone instrument is desirable.
So some of the stuff I designed/developed if you want to google: Lithocam, FlexoCam, BetaVideo Ruler
Thats just my take on it , but there has to a whole bunch of applications for camera/LCD unit.
Came across this while looking around
https://somlabs.com/product/visionsom-rt-sls12rx-imx-rt/#

Of course if its more the journey that interests you Kurt then perhaps the idea of adding SDRAM, utilising the pixel pipeline and 24 bit colour output might interest you.
BTW you sent some attachments which ended up as being invalid links. Just curious if you have any OV7670 based boards lying around( Not nice on a breadboard!) or at least the schematic to confirm pinout.

After a shaky start I hope we can move on more positively.

Steve
 
Looks like attachments are not working here? none of yours comes through either

IMG_1258.jpg
 
Last edited:
I do keep most of my experimental board designs up on github in the project: https://github.com/KurtE/Teensy3.1-Breakout-Boards

For example the T4.1 board I mentioned is up in: https://github.com/KurtE/Teensy3.1-Breakout-Boards/tree/master/Teensy 3.6 Touch display LoRa
Size of the ILI9341 display PJRC Sells

Looks like:
screenshot2.jpg

Note, I have another quick and dirty board I plugged into this, that allowed me to rotate the camera 90 degrees. Again nothing special.
screenshot3.jpg

The MMod one I had assembled (had issues, like USB connector was wrong...) Looked like:
screenshot.jpg

It was slightly bigger, as I was trying to make it work for the 2.8 as well as 3.2 inch display, and I guessed wrong on some dimensions... Also kitchen sink. Also had connections for ADAfruit displays like ST7735/89.
Maybe some Dynamixel Servos, ...

The next one I built I removed the connector for the camera to make room for other things.

Note: I use Diptrace for this.

Again there are 0 promises of anything here. Mostly all have been done for my own fun. Many have never been fully built.
 
Thanks Kurt,
I do wish there was a standard EDA exchange file format. Never heard of Diptrace, as Im sure youve never heard of Pulsonix which is what I use. So they didnt help a lot. However I did find a pdf of the schematic which at least proved I had the right pinout for the camera which I wired on breadboard.
Its giving me a good image on SD card (apart from a red cast to everything) which I put down to a dodgy breadboard connector. However strange things happen with the processing sketch it looks like bytes recieved is wrong will play further when I have the time. Plan on setting up a front end on PC to set registers, output test bar etc which will be needed in the long run.
Thanks again
Steve
 
Thanks Kurt,
I do wish there was a standard EDA exchange file format. Never heard of Diptrace, as Im sure youve never heard of Pulsonix which is what I use. So they didnt help a lot. However I did find a pdf of the schematic which at least proved I had the right pinout for the camera which I wired on breadboard.
Its giving me a good image on SD card (apart from a red cast to everything) which I put down to a dodgy breadboard connector. However strange things happen with the processing sketch it looks like bytes recieved is wrong will play further when I have the time. Plan on setting up a front end on PC to set registers, output test bar etc which will be needed in the long run.
Thanks again
Steve

Depending on your camera you may have to change the byte order to little endian = defined here:
Code:
  bb.order(ByteOrder.BIG_ENDIAN);

EDIT: you might want to check this out:
https://www.youtube.com/watch?v=Dp3RMb0e1eA

There are a bunch of other things out there as well with using that camera including OpenMV
 
Thanks Kurt,
I do wish there was a standard EDA exchange file format. Never heard of Diptrace, as Im sure youve never heard of Pulsonix which is what I use. So they didnt help a lot. However I did find a pdf of the schematic which at least proved I had the right pinout for the camera which I wired on breadboard.
Its giving me a good image on SD card (apart from a red cast to everything) which I put down to a dodgy breadboard connector. However strange things happen with the processing sketch it looks like bytes recieved is wrong will play further when I have the time. Plan on setting up a front end on PC to set registers, output test bar etc which will be needed in the long run.
Thanks again
Steve

You can download free version of diptrace: https://www.diptrace.com/
It probably won't allow you to save changes and the like but you should be able to view.
As for Pulsonix, yep never heard of it or tried it.

It does have some import/export capabilities. For example I can import eagle part libraries and the like.
With many of my boards, I have also uploaded zip file that has the files I upload to places like OSHPark, PCBWay or the like to make the boards.
 
Back
Top