![]() |
Forum Index : Microcontroller and PC projects : MM2: MX470b11, open beta with TFT!
Author | Message | ||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10246 |
Geoff has agreed that I can share the PIC32MX470 beta on the BB for general testing. 2015-03-20_172601_Micromiteb11.zip This firmware runs on both the 64-pin and 100-pin MX470s, but not, of course, on the MX170s. To make it a bit more interesting I have included all the TFT handling routines from the ARMmite in the firmware. See this thread for details of how to use the various graphics commands. This means TFT displays can be driven directly from Basic with no need of CFunctions. All display types and fonts supported on the ARMmite are also available on the MX470. The only differences are that you can only select SPI channel 1 or 2 on the Microchip version and parallel connections are made to PORTB pins - see the pinout below. Other than that the firmware is pretty much identical to 4.6B on the MX170 The only notable addition is a second SPI channel. The commands to control this are identical in syntax to the original SPI commands detailed in the 4.6 manual e.g SPI2 {OPEN, READ, WRITE} etc. I=SPI2(N) and on the MX470 you can select CPU speeds up to 96MHz. Valid speeds are: 5, 10, 20, 30, 40, 48, 64, 72, 80, 96 It is not possible to read the internal reference voltage on the MX470 with a=pin(0). This is due to a Microchip silicon fault. The pinout for the two versions of the MX470 are as follows: 64-Pin Micromite Pin 1-PortE5:ANALOG_IN22 | DIGITAL_IN | DIGITAL_OUT | SPI2IN* Pin 2-PortE6 ANALOG_IN23 | DIGITAL_IN | DIGITAL_OUT Pin 3-PortE7 ANALOG_IN27 | DIGITAL_IN | DIGITAL_OUT Pin 4-PortG6 ANALOG_IN16 | DIGITAL_IN | DIGITAL_OUT | SPI2CLK* Pin 5-PortG7 ANALOG_IN17 | DIGITAL_IN | DIGITAL_OUT | SPI2OUT* Pin 6-PortG8 Console RX Pin 7-RESET/MCLR | 5V Pin 8-PortG9 ANALOG_IN19 | DIGITAL_IN | DIGITAL_OUT |SPIOUT Pin 9-GROUND Pin 10-POWER (+2.3 to +3.6V) Pin 11-PortB5 ANALOG_IN5 | DIGITAL_IN | DIGITAL_OUT Pin 12-PortB4 ANALOG_IN4 | DIGITAL_IN | DIGITAL_OUT Pin 13-PortB3 ANALOG_IN3 | DIGITAL_IN | DIGITAL_OUT Pin 14-PortB2 ANALOG_IN2 | DIGITAL_IN | DIGITAL_OUT Pin 15-PortB1 ANALOG_IN1 | DIGITAL_IN | DIGITAL_OUT | PGC Pin 16-PortB0 ANALOG_IN0 | DIGITAL_IN | DIGITAL_OUT | PGD Pin 17-PortB6 ANALOG_IN6 | DIGITAL_IN | DIGITAL_OUT Pin 18-PortB7 ANALOG_IN7 | DIGITAL_IN | DIGITAL_OUT Pin 19-ANALOG REFERENCE Pin 20-ANALOG GROUND Pin 21-PortB8 ANALOG_IN8 | DIGITAL_IN | DIGITAL_OUT Pin 22-PortB9 ANALOG_IN9 | DIGITAL_IN | DIGITAL_OUT Pin 23-PortB10 ANALOG_IN10 | DIGITAL_IN | DIGITAL_OUT | COUNT Pin 24-PortB11 ANALOG_IN11 | DIGITAL_IN | DIGITAL_OUT Pin 25-GROUND Pin 26-POWER (+2.3 to +3.6V) Pin 27-PortB12 ANALOG_IN12 | DIGITAL_IN | DIGITAL_OUT Pin 28-PortB13 ANALOG_IN13 | DIGITAL_IN | DIGITAL_OUT Pin 29-PortB14 ANALOG_IN14 | DIGITAL_IN | DIGITAL_OUT | Comm1 Enable Pin 30-PortB15 ANALOG_IN15 | DIGITAL_IN | DIGITAL_OUT Pin 31-PortF4 DIGITAL_IN | DIGITAL_OUT | 5V | Comm1 RX Pin 32-PortF5 DIGITAL_IN | DIGITAL_OUT | 5V | Comm1 TX Pin 33-PortF3 DIGITAL_IN | INTERRUPT | DIGITAL_OUT | 5V Pin 34-UNUSED | VBUS | 5V Pin 35-POWER (+2.3 to +3.6V) | USSB3V3 Pin 36-UNUSED | USBD- Pin 37-UNUSED | USBD+ Pin 38-POWER (+2.3 to +3.6V) Pin 39-PortC12 DIGITAL_IN | INTERRUPT | DIGITAL_OUT Pin 40-PortC15 DIGITAL_IN | INTERRUPT | DIGITAL_OUT Pin 41-GROUND Pin 42-PortD8 DIGITAL_IN | DIGITAL_OUT | 5V | PWM1B Pin 43-PortD9 DIGITAL_IN | DIGITAL_OUT | 5V | I2CSDA Pin 44-PortD10 DIGITAL_IN | DIGITAL_OUT | 5V | I2CSCL Pin 45-PortD11 DIGITAL_IN | DIGITAL_OUT | 5V | SPIIN Pin 46-PortD0 DIGITAL_IN | DIGITAL_OUT | 5V | COUNT | WAKEUP/IR Pin 47-PortC13 DIGITAL_IN | DIGITAL_OUT | PWM2B Pin 48-PortC14 DIGITAL_IN | DIGITAL_OUT | PWM1A Pin 49-PortD1 ANALOG_IN24 | DIGITAL_IN | DIGITAL_OUT | COUNT Pin 50-PortD2 ANALOG_IN25 | DIGITAL_IN | DIGITAL_OUT | SPICLK Pin 51-PortD3 ANALOG_IN26 | DIGITAL_IN | DIGITAL_OUT | COUNT Pin 52-PortD4 DIGITAL_IN | DIGITAL_OUT | 5V | COUNT Pin 53-PortD5 DIGITAL_IN | DIGITAL_OUT | 5V | PWM2A Pin 54-PortD6 DIGITAL_IN | INTERRUPT | DIGITAL_OUT | 5V Pin 55-PortD7 DIGITAL_IN | INTERRUPT | DIGITAL_OUT | 5V Pin 56-VCAP:47uF TANT CAPACITOR, 10|47uF Multilayer ceramic Pin 57-POWER (+2.3 to +3.6V) Pin 58-Console TX Pin 59-PortF1 DIGITAL_IN | INTERRUPT | DIGITAL_OUT | 5V Pin 60-PortE0 DIGITAL_IN | INTERRUPT | DIGITAL_OUT | 5V Pin 61-PortE1 DIGITAL_IN | INTERRUPT | DIGITAL_OUT | 5V | Comm2 RX Pin 62-PortE2 ANALOG_IN20 | DIGITAL_IN | DIGITAL_OUT | Comm2 TX Pin 63-PortE3 DIGITAL_IN | INTERRUPT | DIGITAL_OUT | 5V | PWM1C Pin 64-PortE4 ANALOG_IN21 | INTERRUPT | DIGITAL_IN | DIGITAL_OUT 100-Pin Micromite Pin 1-PortG15 DIGITAL_IN | DIGITAL_OUT | INTERRUPT | 5V Pin 2-POWER (+2.3 to +3.6V) Pin 3-PortE5 ANALOG_IN22 | DIGITAL_IN | DIGITAL_OUT | SPI2IN* Pin 4-PortE6 ANALOG_IN23 | DIGITAL_IN | DIGITAL_OUT Pin 5-PortE7 ANALOG_IN27 | DIGITAL_IN | DIGITAL_OUT Pin 6-PortC1 DIGITAL_IN | DIGITAL_OUT | INTERRUPT | 5V Pin 7-PortC2 DIGITAL_IN | DIGITAL_OUT | INTERRUPT | 5V Pin 8-PortC3 DIGITAL_IN | DIGITAL_OUT | 5V Pin 9-PortC4 DIGITAL_IN | DIGITAL_OUT | 5V Pin 10-PortG6 ANALOG_IN16 | DIGITAL_IN | DIGITAL_OUT | SPI2CLK* Pin 11-PortG7 ANALOG_IN17 | DIGITAL_IN | DIGITAL_OUT | SPI2OUT* Pin 12-PortG8 Console RX Pin 13-RESET/MCLR Pin 14-PortG9 ANALOG_IN19 | DIGITAL_IN | DIGITAL_OUT | SPIOUT Pin 15-GROUND Pin 16-POWER (+2.3 to +3.6V) Pin 17-PortA0 DIGITAL_IN | DIGITAL_OUT | 5V Pin 18-PortE8 DIGITAL_IN | DIGITAL_OUT | 5V Pin 19-PortE9 DIGITAL_IN | DIGITAL_OUT | 5V Pin 20-PortB5 ANALOG_IN5 | DIGITAL_IN | DIGITAL_OUT Pin 21-PortB4 ANALOG_IN4 | DIGITAL_IN | DIGITAL_OUT Pin 22-PortB3 ANALOG_IN3 | DIGITAL_IN | DIGITAL_OUT Pin 23-PortB2 ANALOG_IN2 | DIGITAL_IN | DIGITAL_OUT Pin 24-PortB1 ANALOG_IN1 | DIGITAL_IN | DIGITAL_OUT Pin 25-PortB0 ANALOG_IN0 | DIGITAL_IN | DIGITAL_OUT Pin 26-PortB6 ANALOG_IN6 | DIGITAL_IN | DIGITAL_OUT | PGC Pin 27-PortB7 ANALOG_IN7 | DIGITAL_IN | DIGITAL_OUT | PGD Pin 28-PortA9 DIGITAL_IN | DIGITAL_OUT Pin 29-PortA10 DIGITAL_IN | DIGITAL_OUT Pin 30-ANALOG REFERENCE Pin 31-ANALOG GROUND Pin 32-PortB8 ANALOG_IN8 | DIGITAL_IN | DIGITAL_OUT Pin 33-PortB9 ANALOG_IN9 | DIGITAL_IN | DIGITAL_OUT Pin 34-PortB10 ANALOG_IN10 | DIGITAL_IN | DIGITAL_OUT | COUNT Pin 35-PortA11 ANALOG_IN11 | DIGITAL_IN | DIGITAL_OUT Pin 36-GROUND Pin 37-POWER (+2.3 to +3.6V) Pin 38-PortA1 DIGITAL_IN | DIGITAL_OUT | 5V Pin 39-PortF13 DIGITAL_IN | DIGITAL_OUT | 5V Pin 40-PortF12 DIGITAL_IN | DIGITAL_OUT | 5V Pin 41-PortB12 ANALOG_IN12 | DIGITAL_IN | DIGITAL_OUT Pin 42-PortB13 ANALOG_IN13 | DIGITAL_IN | DIGITAL_OUT Pin 43-PortB14 ANALOG_IN14 | DIGITAL_IN | DIGITAL_OUT | Comm1 Enable Pin 44-PortB15 ANALOG_IN15 | DIGITAL_IN | DIGITAL_OUT Pin 45-GROUND Pin 46-POWER (+2.3 to +3.6V) Pin 47-PortD14 DIGITAL_IN | DIGITAL_OUT | 5V Pin 48-PortD15 DIGITAL_IN | DIGITAL_OUT | 5V Pin 49-PortF4 DIGITAL_IN | DIGITAL_OUT | 5V | Comm1 RX Pin 50-PortF5 DIGITAL_IN | DIGITAL_OUT | 5V | Comm1 TX Pin 51-PortF3 DIGITAL_IN | DIGITAL_OUT | 5V Pin 52-PortF2 DIGITAL_IN | DIGITAL_OUT | 5V Pin 53-PortF8 DIGITAL_IN | DIGITAL_OUT | 5V Pin 54-VBUS Pin 55-POWER (+2.3 to +3.6V) | VUSB3V3 Pin 56-D- Pin 57-D+ Pin 58-PortA2 DIGITAL_IN | DIGITAL_OUT | 5V Pin 59-PortA3 DIGITAL_IN | DIGITAL_OUT | 5V Pin 60-PortA4 DIGITAL_IN | DIGITAL_OUT | 5V Pin 61-PortA5 DIGITAL_IN | DIGITAL_OUT | 5V Pin 62-POWER (+2.3 to +3.6V) Pin 63-PortC12 DIGITAL_IN | INTERRUPT | DIGITAL_OUT Pin 64-PortC15 DIGITAL_IN | INTERRUPT | DIGITAL_OUT Pin 65-GROUND Pin 66-PortA14 DIGITAL_IN | DIGITAL_OUT | 5V | I2CSCL Pin 67-PortA15 DIGITAL_IN | DIGITAL_OUT | 5V | I2CSDA Pin 68-PortD8 DIGITAL_IN | DIGITAL_OUT | 5V | PWM1B Pin 69-PortD9 DIGITAL_IN | DIGITAL_OUT | INTERRUPT | 5V Pin 70-PortD10 DIGITAL_IN | DIGITAL_OUT | 5V | SPICLK Pin 71-PortD11 DIGITAL_IN | DIGITAL_OUT | 5V | SPIIN Pin 72-PortD0 DIGITAL_IN | DIGITAL_OUT | 5V | COUNT | WAKEUP/IR Pin 73-PortC13 DIGITAL_IN | DIGITAL_OUT | PWM2B Pin 74-PortC14 DIGITAL_IN | DIGITAL_OUT | PWM1A Pin 75-GROUND Pin 76-PortD1 ANALOG_IN24 | DIGITAL_IN | DIGITAL_OUT | COUNT Pin 77-PortD2 ANALOG_IN25 | DIGITAL_IN | DIGITAL_OUT Pin 78-PortD3 ANALOG_IN26 | DIGITAL_IN | DIGITAL_OUT | COUNT +- Pin 79-PortD12 DIGITAL_IN | DIGITAL_OUT | 5V Pin 80-PortD13 DIGITAL_IN | DIGITAL_OUT | 5V Pin 81-PortD4 DIGITAL_IN | DIGITAL_OUT | 5V | COUNT Pin 82-PortD5 DIGITAL_IN | DIGITAL_OUT | 5V | PWM2A Pin 83-PortD6 DIGITAL_IN | INTERRUPT | DIGITAL_OUT | 5V Pin 84-PortD7 DIGITAL_IN | INTERRUPT | DIGITAL_OUT | 5V Pin 85-VCAP:47uF TANT CAPACITOR, 10|47uF Multilayer ceramic Pin 86-POWER (+2.3 to +3.6V) Pin 87-Console TX Pin 88-DIGITAL_IN | DIGITAL_OUT | 5V Pin 89-PortG1 DIGITAL_IN | DIGITAL_OUT | 5V Pin 90-PortG0 DIGITAL_IN | DIGITAL_OUT | 5V Pin 91-PortA6 DIGITAL_IN | DIGITAL_OUT | 5V Pin 92-PortA7 DIGITAL_IN | DIGITAL_OUT | INTERRUPT | 5V Pin 93-PortE0 DIGITAL_IN | DIGITAL_OUT | INTERRUPT | 5V Pin 94-PortE1 DIGITAL_IN | DIGITAL_OUT | 5V | Comm2 RX Pin 95-PortG14 DIGITAL_IN | DIGITAL_OUT | 5V Pin 96-PortG12 DIGITAL_IN | DIGITAL_OUT | 5V Pin 97-PortG13 DIGITAL_IN | DIGITAL_OUT | 5V Pin 98-PortE2 ANALOG_IN20 | DIGITAL_IN | DIGITAL_OUT | Comm2 TX Pin 99-PortE3 DIGITAL_IN | INTERRUPT | DIGITAL_OUT | 5V | PWM1C Pin 100-PortE4 ANALOG_IN21 | DIGITAL_IN | DIGITAL_OUT |
||||
Grogster![]() Admin Group ![]() Joined: 31/12/2012 Location: New ZealandPosts: 9593 |
Excellent. ![]() I will flash this into my 64, and then when the LCD arrives, I can control it directly with some BASIC commands. Awesome. ![]() ![]() Smoke makes things work. When the smoke gets out, it stops! |
||||
atmega8![]() Guru ![]() Joined: 19/11/2013 Location: GermanyPosts: 724 |
Hi, is a PCB available for this MX470? |
||||
MicroBlocks![]() Guru ![]() Joined: 12/05/2012 Location: ThailandPosts: 2209 |
Yes there is! Microblocks. Build with logic. |
||||
Grogster![]() Admin Group ![]() Joined: 31/12/2012 Location: New ZealandPosts: 9593 |
There is my SkinnyMite, which is the 64-pin one. I have not yet designed a 100-pin one, but other members have made mock-ups to suit themselves. Smoke makes things work. When the smoke gets out, it stops! |
||||
atmega8![]() Guru ![]() Joined: 19/11/2013 Location: GermanyPosts: 724 |
Where can i buy/order a skinny mite? board Price shippment Price (Germany) ? THX |
||||
WhiteWizzard Guru ![]() Joined: 05/04/2013 Location: United KingdomPosts: 2933 |
@atmega8 I have some of Grogster's SkinnyMite (v1A) PCBs. I can post PCBs via AirMail on Monday to be with you by end of the week. If you want it populated then I would need to order some more 64pinnners as totally out of stock. They would arrive to me on Wednesday if you want the PIC too. Full or partial populated PCBs are available too - just let me know . . . The PCBs/64/100 pinners are not on MicroMite.org yet so please do PM me if you're interested in a combination! ![]() WW |
||||
Zonker![]() Guru ![]() Joined: 18/08/2012 Location: United StatesPosts: 767 |
This is awesome..! Just got the "B11" shot into the SkinnyMite... I have the 1.8" 128x160 and the 2.4" 240x320 touch displays to test with... Workin on it.... |
||||
atmega8![]() Guru ![]() Joined: 19/11/2013 Location: GermanyPosts: 724 |
Hi, WhiteWizzard, i'am interested on a PCB populated with a MX 470. You can PM me. Dietmar |
||||
atmega8![]() Guru ![]() Joined: 19/11/2013 Location: GermanyPosts: 724 |
Hi, WhiteWizzard, do you also have a compatible TFT, with max. size ;-) ? THX |
||||
Zonker![]() Guru ![]() Joined: 18/08/2012 Location: United StatesPosts: 767 |
Humm... I have been trying to init the 1.8" display that I ordered from here using the ST7735 as the display type. I have the display working with the 170 28pinner using CFunctions. However, it has the S6D02A1 controller and I was wondering if the ST7735 selection is correct for this unit... I tried both SPI port selections but no go... Do you have to OPEN the SPI port before calling the display open command..? Head scratching... ![]() ' 1.8" LCD Test for B11 470 firmware
CPU 48 display open ST7735,1,11,3,2,128,160 pause 500 display 4,4,4,yellow,black,"Test" do loop workin on it.... |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10246 |
I'm afraid the code won't work with the S6D02A1 as it needs different initialisation. I haven't got a S6D02A1 to set up and test - sorry. ![]() |
||||
Zonker![]() Guru ![]() Joined: 18/08/2012 Location: United StatesPosts: 767 |
No prob... I will move over to the 2.4" unit and have a play with that one... Thanks for the excellent rollout...! ![]() Edit: All seems to be working well with the 2.4" display... Got a simple keyboard worked out... Will get the touch hooked up tomorrow... ![]() |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10246 |
Zonker Please list some working S6D02A1 code and I'll have a go at implementing it into the next firmware release - then you can test it |
||||
Zonker![]() Guru ![]() Joined: 18/08/2012 Location: United StatesPosts: 767 |
Sweet..! No problem fine Sir, this was one of your CFunctions for this S6D02A1 type beast. when running, it's just a basic demo doing some useful stuff... ![]() The code was spun up for the 28pinner... 2015-03-22_194229_time-temp-volt_Demo_-_DIP-600-28_-_170core.zip EDIT: I found the original code that I started from... 2015-03-22_203844_TFT-S6D02A1-SPIb.zip I hope this helps...! |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10246 |
Zonker I've included support for the S6D02A1 in b13 . I'd appreciate if you could test it. It is also included in b20 for the ARMmite so please test that as well once you get the Discovery board up and running Thanks Peter |
||||
Zonker![]() Guru ![]() Joined: 18/08/2012 Location: United StatesPosts: 767 |
MM v4.6++ B13 seems to work fine with the 1.8" TFT LCD Display using the S6D02A1... I posted the feedback on the SkinnyMite Players thread... Once again, ![]() |
||||
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |