-
Hack Chat Transcript Part 3
03/27/2019 at 20:13 • 0 commentseven QSPI isn't close to frame buf territory
you can use it for audio I guess and some background data
my application is non-video so the speed wasn't a huge concern. Fastest communication was WiFi / CAN
can the spi be overclocked, or bitbanged faster with i2s?
having the RAM was a godspeed
I think for my application I'm going to have to sit down with the scope.
@bitluni if you wanted to try and bitbang SDI to a sdi to hdmi chip for HD I would look at TI's datasheets for their serialzer/deserializer SDI chips.
I hadn't thought to use the I2S for what I was doing but now see how it can be used to DMA data out really fast.
what is the actually bottlenck with PSRAM? my understanding was PSRAM itself is simply slow, or is it in fact SPI?
I had looked harder at MCPWM
have a feeling that I'm going to need to just try to make some waveforms and have scope hooked up.
@andrew.michael.johnson thanks :-) another neat clue on the quest for HDMI for the esp32
http://www.ti.com/product/LMH0041 LCD screen anyone? lol
You get SDI working and things open up quite a BIT
lol
@morgan, it's quad-SPI. bottleneck = SPI bus speed, bus width, protocol overhead. You can get many Mb/second but not anywhere near Gb/sec. I didn't benchmark it because I didn't need the speed. Also, I think it may share the bus with the QSPI dataflash for program memory
ok, good to know
So we're well over an hour now and going strong. I don't want to end the fun, but bitluni has been very generous with his time and expertise, and he may need to get back to real life. If so, I just want to say thanks for coming along, this was great! yeah! thank
SDI-3G (3gbs) is the base standard for SDI but lower resolutions I believe can be achieved at lower speeds.. The issue is SDI is generally uncompressed video. I think it can be compress but I am not entirely sure.
thanks....
https://hackaday.io/event/164062-python-and-the-internet-of-things-hack-chat
And I just want to drop a pitch for next week's Hack Chat, Python and the IoT with the Adafruit CircutPython team:I check the math back then when I was implementing camera support. psram it was not fast enough for qvga. It would work if you buffered half the frame in sram and the other half in the psram :-D
@bitluni , Regards to @Dan Maloney and everybody.
Really interestingpt, LadayAda, and a whole bunch of other devs and folks from the CircuitPythn team will be here, plus we'll be doing a giveaway... thanks
it went quite low level
yw
Appreciate the novel idea for I2S abuse.
:)
-
Hack Chat Transcript Part 2
03/27/2019 at 20:11 • 0 commentsthe i2s has a maximum data rate it supports
the base clock can be like 40MHz
but the pipeline itself is a bit finicky
it simply stops working at certain clock rate that's around 20Mhz
DVI specs have lowest clock at 25.175 MHz
Any link for an FPGA upscaler?
What would you recommend as a good ESP32 dev board to start out with? And what kind of toolchain to support it?
would an external serializer IC mean the esp32 would only need 2.5175Mhz gpio speed for DVI?
@Nicolas Tremblay the new arduino FPGA board support hdmi.. I would look into that and clone it
@Dan Maloney tkae something with many pins that's cheap and goes on a bread board. Arduino IDE with ESP32 integration is the simplest tool chain
I like TTGO boards, a lot of them include battery charging on board and are small enough to embed in even small portable projects. See@erik pax not sure.. could be :-) you know any ones that does that?
https://hackaday.io/project/164325-neon816
Neon816
This project is about the design of an 8-bit/16-bit nostalgia motherboard using currently in-production parts, and designed to interface primarily with modern peripherals. Features based on modern peripherals: - 2 Atari or Sega-style joystick ports. Should work with 6-button Genesis controllers, and many compatible controllers are currently in production.
@morgan I am using them, too. but they always want shipping :-D
What I was wanting to do is use the ESP8266 to control a RX5808 Analog receiver, 8 input 1 output ic switch and generate a NTSC output to switch the video output to. an overlay would also be nice using something like a MAX7456 chip.. The problem is 2 fold CPU power and enough CS lines..
yeah... I just buy a dozen or so at a time
also, custom WROOM/WROVER is pretty straight forward, in the future I'll be making more of my own custom devboards
without doing something tarded like hang a bunch of 328P's off it via I2C and have them manage the individual SPI's..
heard of the Frog Board ?
https://www.tindie.com/products/fred_IOT/esp8266-frog-board-frogo-pins-esp-12e-dev-board/
@erik pax is it serializing using the fpga?
@andrew.michael.johnson :-D sounds neat... multi processing at its best
@Nicolas Tremblay nice.. that's even cheaper than the one from aliexpress that I got
I think the serializer is a sepperate chip
I have to look into it, that might be the best hint I got so far :-)
what I'm currently in is checking out ICs that do VGA conversion to HDMI
analog devices has some encoders
I have a handful of NodeMCU's I use with breadboards... Have done a lot with arduinos, STM32 and TEENSY stuff but have not had the time to take the ideas I have in my head and start programming and breadboarding hardware for it yet.
but they are dicks since you have to have an HDMI license to get the ICs from them
Really? That seems wrong.
ADV7513 is the IC I have hhere now
actually you are not allowed to use the word HDMI if you are not licensed
I think you can just fake the HDMI signal over DVI
the smallest license you can get is 5k/year and somewhat like 1$ /device
What are you supposed to call it then?? XD
Sounds like "March Madness" here or "Superbowl". You have to pay up to even utter those words in the media.
not sure, but it might be an issue when wanting to sell on tindie
call it DVI with audio :)
the "compatible with modern video standard" shield
Maybe some chip makers are gonna start buying licences and sell the chip with the licence
Like PID/VID on USB
HumanDeviceMostInvention
They'll never catch on to that
with doge
:-D
Hey! Movies, Does Indeed
nope, that's no good
@[ E C C 0 ] I guess you are right.. I have to look into that
Hey, Does Movies Indeed
I do live drone race streaming.. I use cheap composite to HDMI adapters to my streaming rig.. $12-25 most places.. Well its a little more convoluted than that.. as I go from composite analog to HDMI to SDI to a BlackMagic Decklink Quad 2 card in a PCI-E enclosure to Thunderbolt to my Zenbook running OBSStudio using its GTX1050 for NVENC to the internet to a digitalocean VM using FFServer and NGINX to multicast to various services... So yea thats one way to go from NTSC to HDMI.. lmao
LOL
Hardware Does Movie Interface, that's the one
30seconds latency
seems like hdmi is just audio muxed into the front porch part of an dvi signal.
morgan++
Hey Does Movies Indeed sounds better
is
dvi licensed?
Nah I can go from NTSC composite to HDMI to SDI in like 1 maybe 2 frames at 60 fps...
sdi must be sick..
we should look into that
its really just serialized HDMI
isn't it like only one wire?
What about USB-C video?
its what broadcasters use as well as many HD DVR's that use coax..
@bitluni a second question: you started selling your own board now - do you have any other commercial plans for the future? maybe your own ESP-based consumer device?
that could be even done by the esp8266
@Niek van der Maas good question. I'm really excited about the tindie experience I had lately. however it was much work. there are people wanting to convince me to create a kickstarter console like thingy.. I'm not sure how viable that is. you can do everything better on the raspberry pi
https://www.tindie.com/products/bitluni/esp32-vga-board/
ESP32 VGA Board by bitluni on Tindie
This board allows you to display ultra fast graphics on a VGA screen. It's designed for the ESP32Lib Arduino library with many examples!
that's has to be the first time anyone said that
btw: I just added 10 boards to the stock
But there are plenty of SDI chips out there that wouldn't have the license/security issues HDMI has with DRM type crap..
question is $$
I'll check the sdi specs
about the product question: what should a product look like that I should develop?
I'm sure I should stay in the maker realm
Your own ESP32 dev board perhaps?
a chip 7 board :)
i think that ports to different standard video connections with solid libraries and support would be good
Or RGB led screens
led screan support is coming to my library
The thing about the WROOM/WROVER modules is that they are super competitively priced on reeels AND they have FCC approval. If you want to make a "serious" product, FCC cert is a big deal. Staying to makerland keeps you out of serious regulatory territory.
nice
8080 8bit wide lcds?
ESP32-WROVER boards w/ 128Mb flash + 64Mb PSRAM were less than $3 / 650pc reel when I ordered last month.
bitluni with your board are there any CS/SPI lanes available on the ESP32.. I do not have anything ESP32 based yet and have not seen the datasheets.
wow, tha'ts great to hear
@Dan Maloney Actually, I'm curretnly woring on a smd programmer for the esp32 modules. once this is done there will simple dev boards doing all kinds of stuff. like the oscilloscope display, game consoles etc
I messed up on my current design by using WROOM instead of WROVER
I'm too nervous to change in my next revision
@bitluni just brainstorming... maybe something like the pocketsprite but standalone with VGA/HDMI output, to play oldschool games on your TV :)
Cool! What's the WROOM v WROVER problem?
rgb panel support is coming to my esp32lib
footprint is different
the WROVER give the 128+64 option which isn't available from Espressif on WROOM
@Dan Maloney PSRAM
WROVER has more I/O broken out
but WROVER have moar(!) flash+RAM
I'm sorry
doesn't it have 2 less?
WROVER has more flash/PSRAM option. WROOM has more I/O broken out
right
Apologies for brainfart.
:-D Wrover and Wroom wars
Right, thanks - think I need more RAM that IO, so maybe WROVER is better for me.
Mouser seems to be the best place stateside to get modules in low-ish quantity.
Digikey tax em
yup, and were out of stock for a lot until recently
be careful, the psram cant be used with i2s directly
you always have to copy it
the 128+64 modules are hard to track down
it's not even fast enough to be a frame buffer
the first ones I got I bought from TME in europe because all the US distributors were out of stock
was just about to ask if it was because speed...
yeah it runs on SPI bus. Relatively slow.
-
Hack Chat Transcript Part 1
03/27/2019 at 20:10 • 0 commentswhat is the KiCON?
KiCAD convention?
Home - KiCon 2019
KiCon is a KiCad user focused conference.Held for the first time ever, April 2019 in Chicago IL.
any hints what you project is about
?
all the cool conventions are in the US. I'm already saving vor the flight to the next supercon
yeah! supercon is the best
hint: 3D PCBs
and dying batteries
nice
oh, and spooky noises if I can figure out i2s
just take the example form the esp32 docs
there is everything how to play sounds over i2s
all the code works from arduino as well
Ask Dan Maloney he is also working on a super secret audio project :-D
yeah I've got that stuff working, I can play samples, but I'm trying to push into tone generation and/or sequencnig of some sort
chip tunes, effectively
did you see my old videos by any chance?
I build an arduino midi device with some sinthesis
adsr etc
oh cool, I'll check that out this evening
the pov light saber project I did for electromaker has also the hum synthesized
Has anyone done bluetooth MIDI out of an ESP32? I'd like to make a wireless MIDI device using my ESP32.
that was necessary since the pitch is controlled by the accelerometer
@David Galloway that would be an awesome project. windows doesn't support bt midi
that was the reason I didn't look into that yet
Oh that's too bad. I am also on Windows.
maybe that changed since the last time I checked
I bought the midi keyboard that support bt and found out that way
No MIDI for me yet but a lot of BLE lately
I've been putting the NiBLE feature branch through its paces
are you doing it on the esp32? which lib are you using for ble?
Hi everybody. From Tarragona, Catalonia (ES)
@bitluni yes, there's a new NiBLE feature branch now
https://www.midi.org/specifications/item/bluetooth-le-midi
Here are the specs. From a quick search it looks like some manufacturers are writing their own Windows drivers (Korg). Hola,nice
way easier to use than the Bluedroid stack
uses less resources in addition
can't find NiBLE
https://github.com/espressif/esp-idf/tree/feature/nimble-preview
espressif/esp-idf
Espressif IoT Development Framework. Official development framework for ESP32. - espressif/esp-idf
nice
provides the port but the API is plain nimble
nice
NimBLE. ;-)
need that for some game controllers, mouse and keyboard
me too, I'll be building a controller in the very near future I'm plan to copy this controller,
but replace the arduino/nrf with an ESP32
So it looks like we're well underway - I'll have to dial back a ways to capture all this good stuff for the transcript. But let's call an official start to the ESP332 Video Tricks Hack Chat with bitluni. He's already online and chatting, but when you get a chance, can you tell us a little about your background?
Ok.
I'm 39 years old and a coder since the early ninties
computer graphics was always my thing
I was active in the demo scene under the nickname lunatic
then like 10 years ago i started tinkering around with electronics
I guess I was always interested in that taking everything apart as a child
Sounds familiar...
6 years ago I started to build midi organ pedals as a small project
since I already have used YouTube to share videos with my family I thought I could document the process and upload some videos on that
during that time I was freelancer so I had some spare time to do the youtube thing
Any new musical instrument you have built?
I had the mallets bot in the last summer
no one has seen that project
https://www.youtube.com/watch?v=hWSprtJcZiE
I liked that one! I was just worried the mallets would break the glasses
I think we covered that...
yes you did but it didn't even pass the 10k views mark
https://hackaday.com/2018/07/31/the-precise-science-of-whacking-a-wine-glass/
The Precise Science Of Whacking A Wine Glass
It's common knowledge that tapping a wine glass produces a pitch which can be altered by adjusting the level of the tipple of choice inside. By filling twelve glasses with different amounts of liquid and tuning them to the twelve notes of the scale, it's possible to make a one-octave instrument - though the speed and polyphony are bottle-necked by the human operator.
the summer was so great everyone was outside :-D
awesome.
that's super!
...so I did some videos aas I grew into that electronics thing
it was never considered as a serious busssiness option for me
the first years the channel didn't have much attention and while I went developing medical software again the channel took off
at least a bit
When you least expect it, right?
So how did you equip the lab at the beginning? Any advice on the start when you don't have much, only huge plans?
I recommend to buy a soldering iron and a multi-meter
then get some arduino sensor kits or something to get started
my first meter was like 20€
the soldering station 100€
but I also bought a lot of other stuff like many components
nowadays shipping is so fast and everything is so easily available I order parts as I need them
So this the right place for the esp32 Video tricks chat?
it is, welcome :-)
@andrew.michael.johnson - yep! Welcome
What ESP32 projects are you working on now?
so backstory final chapter: as my contract on my day job ran out I decided to go YT full time at 17k subs
I'm very interested in hearing more about the ESP32 timers. Particularly how fast they can be run. I have a crazy idea to use one for a digital SMPS. Also looking at STM32F334 which has a virtual 4.6Ghz timer that would be ideal, but the ESP32 is so much cheaper.
since than I fell in love with the capabilities of the esp8266 and the esp32
ghz?
ESP32 is a SOC, the peripherals do not switch fast, I have been able to do 1/0 switching up to 10MHz, not more, and you want some code in between
@matthijsm I'm still working on my esp32 library. I want to unify all the code to get the composite video and vga on one base engine
yeah, it's PLLd way up. You cannot output I/O nearly that fast but you get a timer base at 4.6Ghz effectively.
I'm looking to be able to have excellent duty / phase control of multiple signals at around 100khz to 1Mhz
with decent timer depth / phase control that needs a pretty damn fast base clock
that should be possible with i2s
I do a lot with drone racing and been wanting to do something with the ESP8266 and a RX5808 SPI controllable 5.8ghz analog video receiver. I was looking at the arduino libs for NTSC output and realized it might be possible to do more than just change the channel via wifi (which is my biggest PITA) ie channel scan and spectrum analyzer etc. So that is my main interest at the moment.
where is best place to get good ESP32 peripheral docs?
https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/peripherals/index.html
Peripherals API - ESP-IDF Programming Guide v4.0-dev-197-gda9096682 documentation
also the datasheet is quite informative
I just didn't know if they existed or would work due to time on the esp8266's I have..
due to timing***
I'm not really well informed about the RF stuff :-)
@bitluni is DVI/HDMI output something that you're looking into as well? or simply not possible because of the required clock speed?
@Niek van der Maas good question
the data rate isn't fast enough for DVI/HDMI
there is no way around external components
that is actually something I'm looking into right now
can you explain date rate? I'm guessing that's not just clock speed
one option is to use an fpga to "upscale" the signal
the other option to use a vga to hdmi converter IC