Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 13:46 13 Jul 2025 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : MM2: MX470b11, open beta with TFT!

Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10246
Posted: 06:16am 20 Mar 2015
Copy link to clipboard 
Print this post

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

Edited by matherp 2015-03-21
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9593
Posted: 03:48pm 20 Mar 2015
Copy link to clipboard 
Print this post

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: Germany
Posts: 724
Posted: 09:11pm 20 Mar 2015
Copy link to clipboard 
Print this post

Hi,

is a PCB available for this MX470?
 
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 09:17pm 20 Mar 2015
Copy link to clipboard 
Print this post

  atmega8 said   Hi,

is a PCB available for this MX470?

Yes there is!
Microblocks. Build with logic.
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9593
Posted: 09:18pm 20 Mar 2015
Copy link to clipboard 
Print this post

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: Germany
Posts: 724
Posted: 11:56pm 20 Mar 2015
Copy link to clipboard 
Print this post

Where can i buy/order a skinny mite?
board Price
shippment Price (Germany) ?


THX
 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2933
Posted: 12:32am 21 Mar 2015
Copy link to clipboard 
Print this post

@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 States
Posts: 767
Posted: 06:08am 21 Mar 2015
Copy link to clipboard 
Print this post

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: Germany
Posts: 724
Posted: 07:07am 21 Mar 2015
Copy link to clipboard 
Print this post

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: Germany
Posts: 724
Posted: 07:08am 21 Mar 2015
Copy link to clipboard 
Print this post

Hi, WhiteWizzard,

do you also have a compatible TFT, with max. size ;-) ?

THX
 
Zonker

Guru

Joined: 18/08/2012
Location: United States
Posts: 767
Posted: 09:58am 21 Mar 2015
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 10246
Posted: 12:55pm 21 Mar 2015
Copy link to clipboard 
Print this post

  Quote  However, it has the S6D02A1 controller


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 States
Posts: 767
Posted: 02:28pm 21 Mar 2015
Copy link to clipboard 
Print this post

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...
Edited by Zonker 2015-03-23
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10246
Posted: 10:55pm 21 Mar 2015
Copy link to clipboard 
Print this post

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 States
Posts: 767
Posted: 09:43am 22 Mar 2015
Copy link to clipboard 
Print this post

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...!
Edited by Zonker 2015-03-23
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10246
Posted: 12:44am 23 Mar 2015
Copy link to clipboard 
Print this post

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

PeterEdited by matherp 2015-03-24
 
Zonker

Guru

Joined: 18/08/2012
Location: United States
Posts: 767
Posted: 06:10pm 23 Mar 2015
Copy link to clipboard 
Print this post

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, Thank you Dr. Awesome..!
 
Print this page


To reply to this topic, you need to log in.

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025